Android: Восстановление потерянных при hardware reset IMEI (MTK6516)

Обладатели китайских гуглофонов на базе чипсета MTK6515 иногда сталкиваются с проблемой пропадания IMEI после перепрошивки, или т.н. сброса настроек на заводские (AKA hardware reset).

Эта проблема характерна для тех прошивок, в которых файл MP0B_001, содержащий IMEI в зашифрованном виде, находится в директории /data/nvram/md/NVRAM/NVD_IMEI, перезаписывающейся при рефлешинге. В более современных прошивках этот файл размещают в /nvram/md/NVRAM/NVD_IMEI, откуда он уже не пропадает.
Если Вы не уверены в Вашей прошивке, перед ее обновлением, либо сбросом настроек, рекомендуется сохранить данный файл на флеш-карте. Сделать это можно, например, при помощи эмулятора терминала, например, Android Terminal Emulator (есть на маркете), или Better Terminal Emulator Pro:
Код:
cp /data/nvram/md/NVRAM/NVD_IMEI/MP0B_001 /sdcard
чтобы при необходимости восстановить его (требуются права root !!!) командой:
Код:
cp /sdcard/MP0B_001 /data/nvram/md/NVRAM/NVD_IMEI
Что же делать, если резервной копии нет, а оригинальный файл удален/испорчен?
Прежде всего, озаботьтесь поиском IMEI кодов, присвоенных Вашему телефону производителем. Для начала попытайтесь отыскать их на бумажке под аккумулятором. Иногда их можно найти на коробке устройства, или в сопроводительной документации. Можно также обратиться с просьбой выяснить коды к продавцу; производители обычно отказываются иметь дело с конечным покупателем, но идут навстречу посредникам-оптовикам. В самом крайнем случае, найдите пару убитых телефонов, заведомо не подлежащих восстановлению, у которых сохранились наклейки с IMEI.
Ни в коем случае не используйте коды IMEI мобильников, эксплуатирующихся в вашей стране, т.к. так называемое «клонирование» IMEI не только противозаконно в большинстве государств, но и чревато различными проблемами при эксплуатации - от отказа операторов связи в регистрации «клона» в их сети, до неприятностей с правоохранительными органами в случае кражи, либо противоправного использования устройства с тем же IMEI.
Итак, Вы восстановили / нашли «свободные» IMEI коды. Как получить из них вышеупомянутый файл?

На данный момент известны три способа.

Однако, пробовать их настоятельно рекомендуем в обратной последовательности.
Обратите внимание - первые два требуют получения прав root. Как это сделать, смотрите в теме, посвященной своей модели.
Способ №3 - самый простой в реализации, не требует внесения существенных изменений в ПО телефона. Однако, много народу жалуется, на то, что воспользоваться им не вышло. Видимо, годится он не для всех моделей.
Способ №2 весьма схож с №1, но требует намного меньшего количества операций.
В пользу применения №1 есть только два аргумента:
1. Потребность в регулярном восстановлении IMEI в отсутствие подключения к интернету.
2. Необходимость восстановления односимочного телефона, с одним IMEI.

Способ №1

Скачиваем вложенный архив imei_mtk6515.zip, распаковываем, выбираем исполняемый файл для своей платформы:

imei.arm - исполняемый файл для запуска непосредственно на телефоне, планшете, или нетбуке на ARM-совместимом процессоре с ОС Andriod или Linux (не забудьте сделать chmod 755 imei.arm !!!)
imei.i386 - бинарник для ПК с ОС Linux
imei.exe - бинарник для ПК с ОС Windows

и запускаем его в командной строке, указав в качестве параметров IMEI1, IMEI2 и (опционально) имя создаваемого файла:
Код:
imei.***123456789012345 123450123456789 MP0B_001.new

После чего останется лишь переименовать/переместить файл на положенное ему место.

Способ №2

Идем на страничку онлайн-генератора (зеркало). Вводим оба IMEI в форму, жмем кнопку «Continue». Получив сообщение «Everything is OK. File created», жмем «Download» для скачивания сгенерированного файла. Можно скачивать непостредственно с телефона. Далее помещаем файл на положенное место, как описано в способе 1, и перегружаем телефон.
Внимание! Онлайн-генератор с одним IMEI не работает, вводить нужно оба!

Способ №3, самый простой.

Предложил sendel, благодарим его здесь.
Скачиваем и устанавливаем любой эмулятор терминала, например, Android Terminal Emulator (есть на маркете), или Better Terminal Emulator Pro. Запускаем, и вводим в командной строке эмулятора:
Код:
echo 'AT+EGMR=1,7,»IMEI_1″' >/dev/pttycmd1
echo 'AT+EGMR=1,10,»IMEI_2″' >/dev/pttycmd1
, где IMEI_1 и IMEI_2 - 15 цифр 1-го и 2-го IMEI соответственно, после чего перегружаем аппарат.