Представляю программатор на базе ноутбуков Acer 5920, Asus X552C и др. со встроенным картридером для прошивки м\сх памяти eMMC у Samsung SM-T210, SM-T211 и др.
Записать образ
emmc_dump.iso на флэшку или на CD. На флэшку можно записать утилитой flasnul.exe. Например (flasnul.exe <номер устройства> -L <файл образа>).
Загрузиться с CD или флэшки.
Вставить SD карту с подсоединенным eMMC чипом во встроенный PCIE картридер ноутбука или планшета. Внешний или внутренний USB-картридер для наших дел не подойдет.
В момент подключения определить по отладочной инфе название блока. Например блок mmcblk0.
Если в момент подключения чипа ничего не выводится на экран, значит не найден драйвер для вашего картридера. Установите в систему соотв. драйвер или просите меня.
Список блоков и их содержимое можно посмотреть командами:
ls /dev #список блоков
hexdump -C -n512 /dev/mmcblk0boot0 #посмотреть первые 512 байт блока boot0
Если результат не помещается на экран, то к команде надо добавить |less
Следующий абзац можно пропустить если м\сх чистая или вы не хотите делать backup.
#вставить флэшку для записи данных в свободный USB разъем
#в момент подключения определить по отладочной инфе название блока присвоенный флэшке. Напр. sdb1
#создать папку /с
mkdir с
#монтировать блок sdb1 как диск /c
mount /dev/sdb1 c
#переходим на диск /с
cd с
#сохранить 512mB User Area
dd if=/dev/mmcblk0 of=mmc512mb.bin bs=1M count=512
#сохранить загрузочную область boot0
cat /dev/mmcblk0boot0 > boot0.bin
#сохранить загрузочную область boot1
cat /dev/mmcblk0boot1 > boot1.bin
#сохранить расширенный регистр EXTCSD
mmc extcsd dump /dev/mmcblk0 > ext_csd.txt
Выполнить команду sync и извлечь флэшку с бэкапом.
#установить загрузку с Boot0 и флаг ACK
mmc bootpart enable 1 1 /dev/mmcblk0
#установить разрядность шины данных в 4 бита при загрузке с Boot области
mmc bootbus set single_backward x1 x4 /dev/mmcblk0
cd /dump
#Включить доступ для записи к boot0
echo 0 > /sys/block/mmcblk0boot0/force_ro
#записать данные из рабочего дампа в загрузочную область boot0 eMMC
dd if=t210boot0.bin of=/dev/mmcblk0boot0
или командой
cat t210boot0.bin > /dev/mmcblk0boot0
#записать 104mB из t210user.bin файла в пользовательскую область (UserArea)
dd if=t210user.bin of=/dev/mmcblk0
#выключаем ноут командой poweroff
Включить планшет и войти в Download режим нажатием кнопок "Home" и "Volume Down".
Используя Odin 3.07 залить PIT-файл разделов и bootloader из сервисной прошивки + любой recovery TWRP .
Зайти в рекавери и сделать Wipe-Format Data, затем Factory Reset.
Установить кастомную прошивку с микро-SD через Install в рекавери.
P.S. По этой методике мне удалось прошить чипы eMCP KMV3W000LM-B310(16GB), eMMC SDIN7DU2-8G и KLM4G1YE4C-B001(4GB). С помощью утилиты "mmc" можно сделать Field Firmware Update (FFU) вашему чипу и многое другое, но я не пробовал. Для работы на андроид-планшете предназначена утилита "mmc_arm". Учтите, что не все ядра андроидов умеют корректно работать с eMMC.
[spoiler=Образы ISO]
http://gaers.ru/gaers@jabber.ru/emmc_dump.iso (~33mB) с рабочими дампами для планшетов T210,211
http://gaers.ru/gaers@jabber.ru/emmc.iso (~8mB) без дампов[/spoiler]
Доброй ночи! Скажите какие способы записи дампа extcsd во флеш? Команда читать mmc extcsd dump/read работает а вот записать mmc extcsd write нет команды....