У аппарата есть 4 режима загрузки с "кнопок":
1. Стандартная (т.е. просто жмем Power и грузим Андроид)
2. Recovery. Удерживаем Volume+ и жмем Power
3. Fastboot Удерживаем Volume- и жмем Power. Аппарат включается и висит на лого.
Определяется как vid_18d1&pid_d00d Ставим драйвер от Leshcatlabs.
Leshcat_Android_WinUSB.zip ( 8.43 МБ )
4, Qualcomm QDLoader. Удерживаем обе кнопки громкости и жмеме Power.
Аппарат включается и висит с белым экраном, определяется как vid_05c6&pid_9008 QHSUSB_Bulk.
Ставим драйвера Qualcomm из комплекта прошивальщика
HK11-NA430-8.zip ( 28.03 МБ )
Как снять Full без JTAG-а Инструкция.
СНАЧАЛА ВСЕ ВНИМАТЕЛЬНО ЧИТАЕМ, ТОЛЬКО ПОТОМ ЧТО-ТО ДЕЛАЕМ!!!
0. Находим MicroSD карту 8Gb или более (лучше 16, чтобы сразу слить eMMC и целиком, и по разделам), пустую или с достаточнным местом, вставляем в аппарат.
1. Качаем TWRP Recovery от Decker.
2. Качаем, распаковываем ADB (если еще нет, нужны adb, fastboot и DLL-ки). Кладем в ту же папку recovery_twrp_024849.img.
3. Отключаем от компа иные Android устройства, если имеются (чтобы не перепутать).
4. Загоняем аппарат в режим Fastboot, подключаем к компу и ставим драйвера (если еще не установлены).
5. Набираем в командной строке: fastboot devices. Если Fastboot видит телефон (выводит 8-значный hex-серийник) идем дальше.
6. Набираем в командной строке: fastboot boot recovery_twrp_024849.img
При этом в сам телефон ничего НЕ прошивается. Образ TWRP загружается воперативную память и запускается на выполнение.
При этом телефон секунд чз 5 перезагружается в TWRP, Вы можете пользоваться средствами TWRP. Данное ядро TWRP имеет ADB Daemon.
Поэтому в компе определяется устройство ADB с VID_18D1&PID_4EE2 (а также MTP). Ставим на него драйвер от Leshcatlabs, если они сами не установятся (ведь ранее вы их ставили лля Fastboot).
7. Запускаем adb shell
Shell будет с рутом! Можно сливать, заливать и менять любые файлы (помним, что некоторые разделы монтируются в RO, а некоторые вообще разпаковываются на RAMDisk).
8. Для слива Фулла набираем (находясь в shell и имея вставленную uSD 8+Gb!):
dd if=/dev/block/mmcblk0 of=/external_sd/mmcblk0.im1 count=8388607
ДОЛГО ждем (4-5 минут)
Потом должно вылезти сообщение типа:
8388607+0 records in
8388607+0 records out
4294966784 bytes (4.0GB) copied, 224.822449 seconds, 18.2MB/s
Получим на uSD файл mmcblk0.im1 размером ровно 4ГБ минус 512 байт (4294966784 bytes)
eMMC у нас размером 8ГБ, а FAT32 позволяет создавать файлы размером максимум 4ГБ,
Поэтому для слива оставшейся части фулла набираем:
dd if=/dev/block/mmcblk0 of=/external_sd/mmcblk0.im2 skip=8388607
Снова ДОЛГО ждем (3-4мин)
Потом должно вылезти сообщение типа:
6881281+0 records in
6881281+0 records out
3523215872 bytes (3.3GB) copied, 195.843645 seconds, 17.2MB/s
Почему нельзя слить одной командой в 1 файл
Если набрать без параметра count= получим следующее:
Тоже долго ждем (4-5 минут) после ввода команды
Потом должно вылезти сообщение:
`dd: writing '/external_sd/mmcblk0.img': File too large
8388609+0 records in
8388607+1 records out
4294967295 bytes (4.0GB) copied, 221.985574 seconds, 18.5MB/s
При этом файл будет создан на uSD и будет иметь размер ровно
4ГБ минус 1 байт (4294967295 bytes).
после слива второй части фулла начиная с блока 8388607 (это фактически сектора по 512байт), получится, что в конце первой части будет этот же 8388607-й сектор, но без последнего байта. Чтобы потом сделать фулл в виде одного 8ГБ файла, годного в т.ч. для прошивки чз JTAG (например RIFF-ом) с определенными оговорками по формату конкретного JTAG прошивальщика (многие JTAG-комплексы используют свои заголовки в образах), нужно будет его отрезать из первой части и лишь потом приклеивать вторую часть фулла.
Возможно данная сборка TWRP держит exFAT или NTFS, что врядли, можно отформатировать карточку под ext4 (раздел Uinx/Linux), но тогда весьма проблематично будет работать с ней из под Винды. Так или иначе, uSD можно предварительно отформатировать с той или иной ФС, которая держит файлы более 4ГБ и пытаться слить все за 1 проход, но я не пробовал, чтобы не искать себе проблемы совместимости. В данной инструкции предполагается что все "стандартно" и используем FAT32 и при этом все относительно просто и универсально.
После этого на uSD карте будет 2 файла mmcblk0.im1 и mmcblk0.im2
Либо шьем их в другой аппарат по частям, либо склеиваем в один большой файл и ищем способ залить целиком (например JTAG-ом)
Полученный фулл будет содержать ВСЕ разделы аппарата за исключением PBL и RPMB, включая данные модема с IMEI-ями, локами, серийниками, адресами MAC, всеми данными пользователя итп и позволит восстановить аппарат из ЛЮБОГО положения за исключением порчи PBL (а, при наличии JTAG или иных "продвинутых возможностей" и с битым PBL, если есть образ рабочего PBL, взятый где-то еще).
PBL (первичный бутлоудер) и RPMB (относится к DRM) лежат на отдельных АППАРАТНЫХ разделах eMMC
RPMB можно слить используя приведенный выше метод
dd if=/dev/block/mmcblk0rpmb of=/external_sd/mmcblk0rpmb.img
чтобы залить нужно набрать:
dd if=/external_sd/mmcblk0rpmb.img of=/dev/block/mmcblk0rpmb
Я этот раздел никогда ЗАливать не пробовал, в т.ч. на иных аппаратах, нужды не было, "чо будет" не знаю
PBL (Primary Boor Loader) в стандартных режимах в файловую систему телефона не отображается, ни на чтение, ни на запись.
Сливается заливается либо JTAG-ом, либо путем заливки в ПАМЯТЬ аппарата некого специального лоудера или ядра, который(ое) смонтирует, после чего считает или запишет АППАРАТНЫЙ раздел eMMC с PBL (eMMC ROM0 кажется).
Для заливки фулла в аппарат по этому же методу необходимо сделать все тоже самое, но команды немного меняются.
Заливка возможна если у вас работоспособен режим fastboot.
Если аппарат висит на заставке, то fastboot, скорее всего, доступен.
Чтобы сработал fastboot, достаточно, чтобы были целы PBL, GPT (таблица разделов), SBL, и aBoot. Если у Вас только белый экран и/или определяется компом только как QHSUSB_Bulk vid_05c6&pid_9008 (в др аппаратах бывает Qualcomm HS-USB QDLoader 9008), значит далее PBL загрузка не идет (Вы заставили или запорото что-то). В этом случае нужно либо лить прошивку либо JTAG-ом, либо заводской утилитой или QPST, либо заставить аппарат отдать "eMMC наружу" в качестве Mass storage устройства по USB. Пока не добрался до этого с данным аппаратом.
Команды для заливки через Fastboot (предполагается, что Вы сливали на uSD FAT32 2 части фулла, как описано выше):
dd if=/external_sd/mmcblk0.im1 of=/dev/block/mmcblk0
dd if=/external_sd/mmcblk0.im2 of=/dev/block/mmcblk0 seek=8388608
Обратите внимание, что ЗАливать вторую часть нужно со смещением от начала устройства mmcblk0, что и отражает параметр seek во второй команде.
Смещение в блоках (секторах по 512 байт) начинается с блока, следующего за последним ЗАлитым из первой части образа.
Последний блок в первой части имеет номер 8388607, соответственно заливаем начиная с блока 8388608.
ВСЕ ДЕЛАЕМ ПРЕДЕЛЬНО ВНИМАТЕЛЬНО И ОСТОРОЖНО, как сапер на минном поле!!!
Одна единственная ошибка или опечатка может стоить вам окирпичивания.
ВЫ ДОЛЖНЫ ПОНИМАТЬ ЧТО И ЗАЧЕМ ВЫ ДЕЛАЕТЕ, ЧТО И КУДА ПРОШИВАЕТЕ.
Для этого и написана данная большая инструкция. Кому "многА букАФ" и кто "нИАсилил", найдите себе другое занятие, а сложную работу оставьте специалистам!
Я, бывает, по 3-4-5 раз читаю здоровенные инструкции, прежде чем начинаю что-то делать и по сей день не умер сам и не прибил ни одного аппарата!
Окончательно окирпичить аппарат, как мне представляется, данным методом невозможно.
PBL повредить (в рамках данного метода) вам не удастся, поск он лежит на отдельном АППАРАТНОМ разделе eMMC.
Тем не менее, метода восстановления из режима QHSUSB_Bulk пока не разработан. Утилита от соседней модели (Q400) есть, но прошивки для данного аппарата в угодном ей формате Qualcomm пока нет в сообществе, хотя работы ведутся.
В ЛЮБОМ СЛУЧАЕ, если у Вас аппарат грузится в Fastboot, даже если он не исправен, ДО НАЧАЛА ЭКСПЕРИМЕНТОВ, СНАЧАЛА СЛЕЙТЕ С НЕГО, как описано выше, ЕГО ФУЛЛ, В ЛЮБОМ, ДАЖЕ НЕИСПРАВНОМ СОСТОЯНИИ! Есть 99% вероятности, что там уцелели важные разделы, такие, как ДАННЫЕ МОДЕМА (MODEMST1, MODEMST2) и другие, являющиеся УНИКАЛЬНЫМИ для каждого конкретного аппарата. Впоследствии, при удачном стечении обстоятельств, их не трудно вырезать (каким нибудь WinHex-ом) и залить в пролитый ЧУЖИМ фуллом, восстановленный аппарат, облегчив себе окончательное восстановление, в т.ч. восстановление ИМЕЕВ, СЕРИЙНИКОВ итп!!! Мало того, во многих случаях будет возможность легко восстановить данные пользователя, в т.ч. прямо в аппарате, в том виде, в котором они были у него до краха. Сегодня для многих их данные (тел книга, СМСки, "фоточки", логины-пароли и тд итп) куда важнее самого аппарата. При этом не всегда есть бакап в облаке, а тем более, дома. Любой пользователь всегда будет доволен, что не надо все перезаливать, переставлять проги итд итп. Даже если раздел userdata запорчен или содержит битые файлы, никто не запрещает вытащить из его образа (ext4) любые данные, например с помощью R-Studio.
Возможно также сливать заливать отдельные разделы, как по номерам, так и по названиям.
Это несколько дольше (хотя может и быстрее выйти), но зато, это
БОЛЕЕ БЕЗОПАСНО, поскольку при правильном выполнении команд, Вы,
возможно, избежите самой необходимости перезаписи GPT, SBL, aBoot, ModemSTx итд., что даст вам больше "права на ошибку" и больше шансов на успех.
По номерам Общий вид команды:
Слив:
dd if=/dev/block/mmcblk0p1 of=/external_sd/mmcblk0p1.img
Залив:
dd if=/external_sd/mmcblk0p1.img of=/dev/block/mmcblk0p1
Вместо p1 в команду подставляем p<номер оаздела>. Всего разделов 29, могут быть скрытые области, еще не разбирался. Таблица разделов, сразу понятно, ни в один раздел не входит и лежит в самом начале (слить ее отдельно можно по команде dd if=/dev/block/mmcblk0 of=/external_sd/gpt.bin bs=512 count=65535 Т.е. просто слить первые 64КБ eMMC, залить обратно dd if=/external_sd/gpt.bin of=/dev/block/mmcblk0 bs=512 count=65535).
29 раздел это userdata. Размер его около 4.7ГБ, поэтому сливать и заливать его нужно также в 2 прохода с ипользванием параметров count и skip (при ЗАливке seek)
По названиям надо работать с папкой /dev/block/platform/soc.0/by-name/
Общий вид команды:
Слив:
dd if=/dev/block/platform/soc.0/by-name/aboot of=/external_sd/aboot.img
Залив:
dd if=/external_sd/aboot.img of=/dev/block/platform/soc.0/by-name/aboot
Дабы слить ВСЕ нужные разделы выполняем последовательно данную команду для каждого нужного раздела, подставляя вместо aboot его имя из таблицы ниже:
Список разделов по номерам.
Список разделов по номерам. Рядом даны их размеры, имена и краткое описание.
Проверить соответствие легко набрав команду:
ls -l /dev/block/platform/soc.0/by-name/
===========================================================================================================
mmcblk0p1 modem 64MB Modem firmware code in FAT32 partition
mmcblk0p2 sbl1 512KB SBL - Secondary Boot Loader - ARM ELF binary
mmcblk0p3 sbl1bak 512KB SBL - Secondary Boot Loader backup - ARM ELF binary
mmcblk0p4 aboot 1MB Android boot (ARM ELF binary)
mmcblk0p5 abootbak 1MB Android boot backup (ARM ELF binary)
mmcblk0p6 rpm 512KB DRM or Power Mgmt code - ARM ELF binary
mmcblk0p7 rpmbak 512KB DRM or Power Mgmt code backup - ARM ELF binary
mmcblk0p8 tz 768KB Timezone code - ARM ELF binary
mmcblk0p9 tzbak 768KB Timezone code backup - ARM ELF binary
mmcblk0p10 pad 1MB Full of zeros
mmcblk0p11 modemst1 1.5MB Encrypted modem data (EFS)
mmcblk0p12 modemst2 1.5MB Encrypted modem data (EFS)
mmcblk0p13 misc 1MB Full of zeros
mmcblk0p14 fsc 1KB Full of zeros
mmcblk0p15 ssd 8KB Full of zeros
mmcblk0p16 splash 10MB Power on logo bitmap with SPLASH!! header
mmcblk0p17 DDR 32KB Full of zeros
mmcblk0p18 fsg 1.5MB File System Gold Encrypted modem data (EFS)
mmcblk0p19 sec 16KB First 64 bytes of binary data+text, rest full of zeros
mmcblk0p20 boot 32MB Android core boot image
mmcblk0p21 system 2GB Linux/Android system partition (Ext4)
mmcblk0p22 persist 32MB Persistent data partition (Ext4)
mmcblk0p23 cache 256MB Linux/Android cache partition (Ext4)
mmcblk0p24 recovery 32MB Recovery image
mmcblk0p25 devinfo 1MB Seems to be binary data, has ANDROID-BOOT header
mmcblk0p26 keystore 512KB Seems to be full of ARM code/data
mmcblk0p27 oem 64MB Full of ARM/Dalvik binary code/data
mmcblk0p28 config 512KB First 36 bytes and last byte of binary data, rest filled by zeros
mmcblk0p29 userdata 4.7GB Linux/Android data partition (Ext4)
===========================================================================================================
На раздел mmcblk0p29 (userdata) монтируются сразу две папки корня файловой системы:
/sdcard и /data, имеющие полностью независимые друг от друга структуры папок внутри.
Фулл я слил, но выложить пока не могу из-за имеев итп. Как только удастся его "обнулить" - выложу.
P.S.
Описание разделов на англ, чтобы потом уже ничего не переделывать в др раз, в т.ч. для международных форумов. Кому надо все все понимают. А кто не знает англ даже на базовом уровне, ну... безобразие это... Сегодня без него просто и не знаю как прожить, несмотря ни на каких "потенциальных противников" :)