Kollin

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

В этой теме 265 сообщений

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

 

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

так, вторая редакция.)) До этого писал на эту тему, но бэкапил 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 пользователям понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

2 пользователям понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
где команды писать?
 

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

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

2 пользователям понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Отредактировал lyopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Телефон только получил и решил сразу сделать этот дамп перед перепрошивками.
ROOT права есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Я их пишу в консо

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

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

Поделиться сообщением


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

SN Write Station

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


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

nvram_backup_restore_wo_root-shell_2.7z

3 пользователям понравился пост

Поделиться сообщением


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

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

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

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

Отредактировал psihipofigist

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

Поделиться сообщением


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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
данные из роутера можно использовать чтобы прописать МАС адрес?

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

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

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

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

Отредактировал psihipofigist

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
.bin не пробовали переименовывать в .img и прошивать?
А зачем. MTK Droid Tools и сам нормально восстанавливает этот бекап. Уже пару раз спасало меня.
1 пользователю понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@pulup

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

прошивка row_110 

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

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

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

1 пользователю понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
после восстановления nvram в разделе dev есть папка nvram?

 

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

 

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

Отредактировал ingalator

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

post-23-0-34178000-1377257614_thumb.png
Отредактировал psihipofigist

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

52175463f03ec_Screenshot_20130823154033.
Отредактировал psihipofigist
1 пользователю понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу