Kollin

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

265 posts in this topic

Рекомендуется почитать:

 

Я на соседнем форуме писал как-то на тему сабж-а. Если правила не запрещают, выложу сюда то сообщение полностью. Это, скажем 

так, вторая редакция.)) До этого писал на эту тему, но бэкапил nvram.img дампом g-script, а восстанавливал ФлэшТулом. Из этой темы почерпнул команды бэкапа и восстановления. Работают безотказно, спасибо javum-у за них.

В чем-то похоже на некое резюме этой темы.)

Спойлер

 

Не в первый раз в личке просят прокомментировать или дать разъяснения по одному посту.
Так как это напрямую относится к теме, решил выложить сюда новую редакцию. Надеюсь, на этот раз не так туманно получилось.

 

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.

 

Как восстановить раздел, в случае отсутствия резервной копии?
Для этого нужно воспользоваться файлом от донора. Попросите кого-то в теме вашего аппарата одолжить вам свой nvram.img. Как его получить написано выше. Недостаток очевиден, мы получаем чужие IMEI, MAC и пр. Способы правки nvram.img мне неизвестны, однако есть программные средства для редактирования раздела /dev/nvram (ссылки ниже). После успешного внесения изменений в раздел, сохраняем его командой что выше.

SN Write Tool с драйверами и инструкцией
Maui META 3G
Видео мануал по Maui META

Как узнать, затерт или нет /dev/nvram?
Смысл проверить есть, только если вы хоть раз "теряли" IMEI. Для этого достаточно в рекавери сбросить аппарат к заводским настройкам, удалив тем самым /data. Если после первого запуска IMEI опять отсутствует, значит все что выше написано - для вас..

Возникает резонный вопрос – зачем вся эта камасутра, когда восстановить IMEI можно за минуту с помощью софта?
Можно, но вы "восстановите" его по адресу /data/nvram, а "статья" о том как восстановить важный раздел, в котором кроме имея много нужного и после затирания которого отмечены проблемы различного характера. Кроме того, он опять слетит при следующей перепрошивке.

 

Обратите внимание, что новая версия MTK Droid Tools получила функцию бэкапа /dev/nvram. Сохраняет с расширением .bin

 

Методы проверены и работают. Я восстановил три живых аппарата и четыре в оффлайне. Последний менее часу назад в кумысе.

 

 

 

44 people like this

Share this post


Link to post
Share on other sites

где команды писать?

2 people like this

Share this post


Link to post
Share on other sites
где команды писать?
 

Я их пишу в консоли ADB плагина для Тотал Коммандера, предварительно подключив аппарат к компьютеру.

Но можно поставить на девайс терминал, есть в том же маркете. Правда, вбивать муторно. В первом случае можно скопировать из моего поста. 

2 people like this

Share this post


Link to post
Share on other sites

извините за ламерский вопрос , но где писать команду

dd if=/dev/nvram of=/sdcard/nvram.img bs=5242880 count=1

Share this post


Link to post
Share on other sites

Добрый день. Пытаюсь сделать образ nvram на P780 - по данной инструкции. Но почемуто получаю ошибку доступа к sdcard после комманды на создания nvram.img http://screencast.com/t/AisvDxngh

Команду пишу в шеле плагина ADB

Телефон только получил и решил сразу сделать этот дамп перед перепрошивками.

Edited by lyopa

Share this post


Link to post
Share on other sites
Телефон только получил и решил сразу сделать этот дамп перед перепрошивками.
ROOT права есть?

Share this post


Link to post
Share on other sites

Вроде есть. Сделал с помошью Framaroot

Share this post


Link to post
Share on other sites
Я их пишу в консо

хочу выложить nvram.img для P780-го для общего доступа..

свои IMEI заменил на левые..
подскажи как поменять S\N аппарата и mac-адреса блютус и вай-фай?

Share this post


Link to post
Share on other sites
подскажи как поменять S\N аппарата и mac-адреса блютус и вай-фай?

SN Write Station

Share this post


Link to post
Share on other sites

Как сделать дамп для Lenovo P780? Нет ли готовых скриптов как было для MTK 6575/77 ? 

Share this post


Link to post
Share on other sites
Как сделать дамп для Lenovo P780? Нет ли готовых скриптов как было для MTK 6575/77 ?

nvram_backup_restore_wo_root-shell_2.7z

3 people like this

Share this post


Link to post
Share on other sites
хочу выложить nvram.img для P780-го для общего доступа.. свои IMEI заменил на левые.. подскажи как поменять S\N аппарата и mac-адреса блютус и вай-фай?

У меня беда с NVRAM, уже слил с другого аппарата и залил на свой, расскажите как заменить чужой imei на свой.

Или сделать изменения в NVRAM imei а потом записать на аппарат?

Пробовал по инструкции с помощью программы SN_STATION на 8-ке какой-то косяк с драйверами прошить не получилось, поставил на виртуалку 7-ку в ней поставил все драйвера как по инструкции, все добавил, кружок стал зеленный, перезагрузил, а в итоге всеравно старый imei что я сделал не так?

Edited by psihipofigist

Share this post


Link to post
Share on other sites

у меня был слетевший IMEI восстановили в месте покупки, как не знаю, я чайник. Но на данный момент нет МАС адреса и ВТ адреса. В сетях ВИФИ висит сеть NVRAM WARNING: Err = 0x10, я так понимаю именно из-за отсутствия МАС адреса 

С помощью вышеуказанного скрипта сделал бекап nvram, который есть на данный момент, размер как надо.

Установил SN Write Tool и драйвера по инструкции.

Выложите пожалуйста инструкцию для чайников как прописать МАС адрес и ВТ адрес.

Если МАС адрес неизвестен, то как узнать его? правильно ли я думаю, что его можно посмотреть в логах роутера например, там ведь указано имя подключенного устройства и МАС в строке состояния и подключения. Можно ли подобным образом как то узнать ВТ адрес?

Всем заранее спасибо! 

Share this post


Link to post
Share on other sites
С помощью вышеуказанного скрипта сделал бекап nvram, который есть на данный момент, размер как надо. Установил SN Write Tool и драйвера по инструкции.

тебе твой битый не нужен. тебе нужен с целого аппарата.

Share this post


Link to post
Share on other sites
данные из роутера можно использовать чтобы прописать МАС адрес?

вполне. мак-адрес просто уникальный (в мировом масштабе) идентификатор сетевого интерфейса. крайне маловероятен шанс что даже дублированный мак адрес окажется где-то рядом в одной сетке и будет конфликтовать с вами. но лучше конечно же иметь свой родной, гарантрованно не повторяющийся.

новая версия MTK Droid Tools получила функцию бэкапа /dev/nvram. Сохраняет с расширением .bin

.bin не пробовали переименовывать в .img и прошивать? Или флеш-тул кушает и бин-ы?

Интересно было бы побайтно сравнить забекапленый .bin и .img

Edited by psihipofigist

Share this post


Link to post
Share on other sites
.bin не пробовали переименовывать в .img и прошивать?
А зачем. MTK Droid Tools и сам нормально восстанавливает этот бекап. Уже пару раз спасало меня.
1 person likes this

Share this post


Link to post
Share on other sites

после восстановления nvram  в разделе dev есть папка nvram?

у меня ее нет, скриптом восстановление не проходит, при том что скрипт создает бекап, который я сохраняю в корень флешки. через эмулятор (получив права su предварительно) ввел команду   dd if=/sdcard/nvram.img of=/dev/nvram 

результат как описано в шапке, перегрузился но в dev ничего не поменялось, раздела nvram нет.

Если его нет в dev то как SN write tool его сможет редактировать

Выложите скрин раздела dev пожалуйста

Share this post


Link to post
Share on other sites

@pulup

У тебя сейчас какая прошивка?

Что бы через терминал работать с правами root, нужно что бы была полная поддержка root shell, а она в данный момент реализована только в LiFe и LeWa...

Share this post


Link to post
Share on other sites

прошивка row_110 

эмулятор установил самый простой с маркета.

запускаем эмулятор, первая команда su

дальше значок меняется с $ на # и эмулятор имеет рут права на перезапись

1 person likes this

Share this post


Link to post
Share on other sites

А busybox установлен?

Share this post


Link to post
Share on other sites
после восстановления nvram в разделе dev есть папка nvram?

 

Не знаю как после восстановления, но в оригинале у меня в разделе dev есть ФАЙЛ nvram (владелец "рут" группа "систем")

 

(а ПАПКА nvram это из /data  )

Edited by ingalator

Share this post


Link to post
Share on other sites

не знаю что это.

был рут, но рут эксплорер не работал.

сделал рут фрмарутом, установил superSU, рут эксплорер заработал, где то прочитал, что в эмуляторе перед пользованием надо вводить команду su до этого эмулятор выдавал ошибку нет доступа. попробовал сначала su, было уведомление что получены рут права для эмулятора, значок поменялся, вбил команду и ввод, она прошла успешно. но повторюсь, в разделе dev рут эксплорером nvram не видно  

Share this post


Link to post
Share on other sites

post-23-0-34178000-1377257614_thumb.png
Edited by psihipofigist

Share this post


Link to post
Share on other sites

52175463f03ec_Screenshot_20130823154033.
Edited by psihipofigist
1 person likes this

Share this post


Link to post
Share on other sites

A причем тут папки? Нужно искать файл.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.