Главная » Файлы » Прошивка смартфона Lenovo

Затирание IMEI и правильный способ решения проблемы, или что такое NVRAM
22.12.2014, 21:58

Затирание IMEI и правильный способ решения проблемы, или что такое NVRAM.

 

IMEI на наших устройствах слетает при форматировании, а иногда и при прошивке FlashTool-ом.
Чтобы понять природу этого явления, необходимо окунуться в недра EMMC. Там есть раздел /dev/nvram. В нем находятся IMEI, SN, MAC адреса сетевых интерфейсов и др. 
Если открыть скаттер то можно обнаружить в 16-й строке __NODL_NVRAM 0xe00000. Начало строки __NODL_ заставляет флэштул игнорировать этот пункт. Почему же, несмотря на это, он его иногда затирает - мне неизвестно. Именно это и является причиной исчезновения IMEI после прошивки, и как понятно из предыдущего, не только ИМЕЙ. То есть, мы удаляем раздел не давая взамен ничего!
Итак, /dev/nvram прошивается на заводе и все дальнейшие официальные апдейты и прошивки даже думать не смеют его трогать. Как бы не менялась программная часть, он остается неизменным. В редких случаях, производитель вносит изменения в него, и выпускает прошивки для сервис центров, включая в нее и этот раздел.

В рабочей системе IMEI находятся по пути /data/nvram. Точнее /data/nvram/md/NVRAM/NVD_IMEI/. Директория /data/nvram создается при первом запуске устройства, путем копирования в нее содержимого /dev/nvram. Распространена рекомендация сохранять папку /data/nvram для восстановления имей в будущем. Это, конечно, справедливо, как и призывы к бэкапу в принципе. Калибровки с имеями вы восстановите, но эта директория бесполезна при восстановлении
раздела /dev/nvram. 

Что необходимо предпринять дабы избежать проблем в будущем?
Во первых нужно создать полный дамп памяти устройства. Рекомендую это сделать сразу после покупки устройства, до начала поиска лучшей в мире прошивки. В зависимости от метода дампа, среди прочих файлов должен быть файл nvram.img. Именно img размером 5242880. Это и есть образ необходимого раздела. Всякие nvram.tar и прочие ext4 это копии /data/nvram и интереса не представляют. 
Для создания только образа раздела /dev/nvram можно воспользоваться командой:
dd if=/dev/nvram of=/sdcard/nvram.img bs=5242880 count=1
5242880 это размер раздела для устройств на платформах 6577-6589. В результате по пути sdcard будет создан файл nvram.img. Сохраняем его в надежное место.

Как восстановить затертый раздел /dev/nvram?
Самый простой способ , скопировать сохраненный ранее файл его в память устройства набрать команду:
dd if=/sdcard/nvram.img of=/dev/nvram
Результатом успешной отработки команды послужат строчки
10240+0 records in
10240+0 records out
5242880 bytes transfered in…..
Для прошивки этого раздела ФлэшТулом находим в скатере строчку __NODL_NVRAM.... и удаляем в ней __NODL_, после чего в окне программы выбираем наш nvram.img. Именно выбираем. Хоть он и станет доступен в окне программы, но ФлэшТул его сам не подхватит.
Иногда флэштул не хочет шить отдельно этот раздел. В этом случае необходимо скачать прошивку для флэштула, открыть правленый скатер и отметить кроме прочего и nvram.img

Для того чтобы прошить ФлэшТулом методом Upgrate, который требует включения всех пунктов, только необходимые на момент разделы, делаем следующее:

Открываем scatter в любом текстовом редакторе. Дописываем в начало строки раздела который хотим исключить __NODL_. Например __NODL_PRELOADER 0x0. Сохраняем, открываем скаттер ФлэшТулом  и шьем только те разделы которые остались не закомментированы, тк ФлэшТул их не увидит.

Данный трюк позволяет как скрывать, так и открывать закрытые пункты скаттера. Таким образом, можно выборочно шить необходимые разделы через Upgrate, например nvram.
Как восстановить раздел, в случае отсутствия резервной копии?

Категория: Прошивка смартфона Lenovo | Добавил: caha | Теги: прошивка, смартфон, Lenovo
Просмотров: 11185 | Загрузок: 0
Всего комментариев: 0
avatar