Перепрошивка модема ZTE MF910 (MegaFon MR150-2)

Введение

Сегодня захотел разлочить свой мегафоновский роутер, для работы с другими sim-картами, т. к. появились более выгодные тарифы у других операторов. В целях систематизации моих находок по разлочке и перепрошивке данного модема решил собрать их в этом посте.

Сразу надо отметить, что перепрошивка и “разлочка” это два разных процесса и они могут быть выполнены совместно или по отдельности.

Итак содержание поста:

Полный dump

Предлагаемая “подготовительная часть” процедуры (она используется, например, и при разблокировке) немного изменена по сравнению с вариантами, описанными ранее. Цель изменений - максимальное упрощение, снижение количества действий до минимума, независимость от начального состояния устройства и от таких изменяющихся от одной версии прошивки к другой параметров, как IP-адрес интерфейса. Думаю, что впоследствии она станет у нас основной.

Итак, полная процедура для получения raw-дампа всего содержимого флеш-памяти устройства:

  1. Скачиваем архив ZTE_MF_drv.zip, распаковываем его содержимое в папку (для определённости) C:\1 .
  2. Запускаем setup.exe из распакованного архива. Это установщик драйверов. Устанавливаем, как обычную программу.
  3. Запускаем утилиту SCSI.exe из распакованного архива. Аппарат переключается в factory mode. В этом режиме композиция его USB-устройств представлена 3 COM-портами. Для этих портов автоматически устанавливаются драйверы. По завершению процесса установки смотрим в ДУ номер порта под названием “ZTE Diagnostics Interface” (это X в COMX). Для контроля, можно посмотреть в “Свойствах” идентификаторы этого порта: у него должно быть PID_0016 и MI_00.
  4. Скачиваем архив qtools_win.zip. Распаковываем его в ту же папку - C:/1 .
  5. Запускаем скрипт (командный файл) rawdump9x25.cmd из распакованного архива. Скрипт запрашивает номер диагностического порта (Diag port #: ). Вводим номер X, полученный на этапе 3 (см. выше) и нажимаем Enter. Выполняется команда для переключения устройства в download mode. Для (единственного) COM-порта download mode автоматически устанавливается драйвер, порт получает такое же название, как и раньше - “ZTE Diagnostics Interface”, но ему присваивается другой номер Y - он отображается в ДУ как COMY. Идентификатор для контроля: PID_0076 (это уже не составное USB-устройство, а отдельный порт).
  6. Далее скрипт запросит номер порта download mode (Download mode port #:). Вводим номер Y, полученный на предыдущем этапе, и нажимаем Enter. Запускается ряд процедур, результатом которых является чтение содержимого флешки устройства в файл дампа с названием rawdump.bin.Процесс чтения для MF910 (и других устройств с флешкой размером в 512 МБ) занимает около 20 минут. По завершению записи дампа происходит перезагрузка устройства с возвратом в factory mode.
  7. Если никаких других действий с аппаратом в factory mode мы проводить не планируем, то запускаем скрипт MF_bckfrmfactory.cmd. Аппарат перезагружается, и после перезагрузки работает в штатном режиме с доступным адаптером RNDIS. Дополнительно, в этот режим он теперь будет входить сразу после включения, без необходимости “извлечения” CD-ROM в Проводнике или других действий, имеющих тот же смысл.

P.S. Исходный код rawdump9x25.cmd:

set /p dgpnum="Diag port #: "
qcommand -p%dgpnum% -e -c "c 3a"
set /p dlpnum="Download mode port #: "
qdload -p%dlpnum% -k3 -s -i
qrflash -p%dlpnum% -x -b0 -l0 -o rawdump.bin
qcommand -p%dlpnum% -c "c 0b"

Источник

Восстановление dump’а

Создаете командный файл:

set /p dgpnum="Diag port #: "
qcommand -p%dgpnum% -e -c "c 3a"
set /p dlpnum="Download mode port #: "
qdload -p%dlpnum% -k3 -s -i
qwdirect -p%dlpnum% -fi -b0 rawdump.bin
qcommand -p%dlpnum% -c "c 0b"
pause

и запускаете его из директории qtools_win, где до этого делали полный дамп.

Перепрошивка

Итак, сделайте полный дамп флешки перед началом действий (или убедитесь, что он уже есть). Содержимое EFS в ходе этой процедуры не затрагивается, но сделать QCN-бэкап NVRAM настоятельно рекомендую, если ещё не сделали. До начала процедуры аппарат должен находиться в штатном рабочем режиме: адаптер RNDIS доступен, IP-адрес устройства - 192.168.0.1. Далее - по пунктам:

  1. Скачайте (архив с материалами)[https://yadi.sk/d/2oK0JV9HuXuzq] и распакуйте его. Для единообразия и простоты обсуждения предлагаю всем распаковывать его в папку C:\1 .
  2. Запустите скрипт fwfbflash.cmd из C:\1. В аппарат будет отправлена команда для переключения композиции на такую, в которой присутствует адаптер ADB. Выполнение скрипта приостанавливается в ожидании нажатия на любую клавишу. Перед тем, как её нажать, необходимо убедиться (запустив ДУ) в том, что драйвер адаптера ADB корректно установился. Если Вы никогда до этого не работали с устройствами ZTE через ADB, и драйвер не устанавливали, то это нужно сделать сейчас. Для полуавтоматической установки можно использовать утилиту AdbDriverInstaller.exe из архива.
  3. Нажмите на любую клавишу в окне с работающим скриптом. В аппарат будет отправлена команда для переключения в режим fastboot с ожиданием, как и в прошлый раз, нажатия на клавишу. Нужно убедиться в том, что драйвер адаптера ADB корректно установился после переключения. Если драйвер установился не корректно, то надо вручную выбрать ADB драйвер для неопознанного девайса.
  4. После того, как с драйвером в режиме fastboot будет всё в порядке, нажмите на любую клавишу. Начнётся собственно прошивка необходимых разделов. После завершения процесса скрипт снова остановится и будет ожидать нажатия клавиши. В этот момент можно пролистать вверх окно консоли (командной строки), в которой Вы запустили скрипт, и посмотреть - нет ли там каких-нибудь сообщений об ошибках? Если есть, то лучше клавишу пока не нажимать, а рассказать об этой ошибке здесь. Потому что после нажатия аппарат будет полностью перезагружен с новой прошивкой, и если в процессе прошивки что-то сложилось не так, то возможны проблемы различной степени сложности. А до тех пор, пока аппарат не перезагружен и находится в режиме fastboot, можно что-то предпринять - повторить запись раздела, например.
  5. Нажмите на клавишу. Аппарат перезагрузится, начнётся его загрузка с новой прошивкой. Если загрузка пройдёт успешно, и морда будет доступна, то нужно сделать сброс настроек. Дополнительно, для полной смены прошивки необходимо заменить в EFS старый файл config на тот, что в архиве. Это делается путём удаления старого файла и записи нового - никак иначе. Аппарат, конечно, будет работать и со старым config_ом.

Источник

Установка патча с ssh и scp

  1. Подключаем роутер к компьютеру по USB - в Проводнике Windows видим CD-ROM роутера (ярлык “Mobile Wi-Fi с мегафоновской иконкой “4G+”).
  2. В меню правой кнопки на этом CD-ROM в Проводнике выбираем “Извлечь” - композиция (набор) USB-устройств роутера изменяется: к CD-ROMу добавляется сетевой адаптер RNDIS, для него устанавливается драйвер (входит в комплект Windows), среди сетевых подключений появляется новое “Подключение по локальной сети”, адаптеру RNDIS назначается IP-адрес из диапазона 192.168.0.x с адресом шлюза по умолчанию 192.168.0.1. Это всё происходит автоматически, после “извлечения” CD-ROM.
  3. В любом браузере идём по адресу http://192.168.32.1. Открывается начальная страница - страница авторизации - морды (веб-интерфейса) роутера с предложением ввести пароль. Вводим его (по умолчанию - admin).
  4. Вводим (копируем) в адресную строку браузера вот такую CGI-команду:

    http://192.168.32.1/goform/goform_set_cmd_process?goformId=USB_MODE_SWITCH&usb_mode=6
    
  5. Скачиваем патч и распаковываем в папку с fbflash_Telia_B09

  6. Запускаем go.cmd

  7. Произвести сброс настроек

  8. Проверям что досуп по ssh появился `ssh root@192.168.32.1, пароль oelinux1.

Замена config файла после прошивки

После (подключения ssh)[#patch], выполнить команду:

scp config root@192.168.32.1:/

Или запустить ftp сервер и залить файл config любым без клиентом. FTP запускается командой:

tcpsvd -u root:root -vE 0.0.0.0 21 ftpd -w / &

После этих манипуляций нужно сбросить настройки и перезагрузить роутер.

Снятие sim-lock

  1. Установить qtools
  2. Установить драйвер
  3. Перевести модем в factory mode.
  4. В диспетчере устройств найти COM-порт на котором “висит” ZTE Diagnostics Interface
  5. Запустить, из папки c qtools, скрипт MF823_MF825_unlock.cmd,
  6. В открывшемся “окне” ввести номер COM-порта на котором “висит” ZTE Diagnostics Interface

Перевод девайса в factory mode

В вышеуказанный режим девайс можно перевести двумя способами:

  1. Запустить утилиту SCSI.exe из архива ZTE_MF_drv.zip
  2. C помощью url запроса:

    • В “Мой компьютер” извлечь появившийся CD-ROM с значком 4G+ на зеленом фоне (правая кнопка мыши - извлечь)
    • Открыть браузер и в его адресную строку (ответ должен быть {"result":"FACTORY:ok"})
     http://192.168.0.1/goform/goform_process?goformId=MODE_SWITCH&switchCmd=FACTORY
    
 
comments powered by Disqus