Как восстановить модем кирпич
Как восстановить модем кирпич
Если у Вас после прошивки модем не определяется в системе , то есть система его не видит, то это еще не означает что модем теперь неисправен и его надо выбросить. Скорее всего он теперь находится в состоянии о которым Вы ранее не подозревали или не знали.
Начнем все по порядку.
Вводная часть
Если прошивка модема прошла успешно и он в системе не виден, да и еще с SIM картой регестрируется в сети (загорается лампочка нужного цвета), то скорее всего он жив и работает. Только надо вернуть его в исходное состояние.
С чем это связано. В разных версиях прошивок Firmware могут поразному настраиваться его различные состояния. Например, включение виртуального CD-rom. В одних случаях его можно включить (отключить) через установку (удаления) флагов в файловой системе, а в других версиях его там может не быть вовсе. То есть если вы даже и впишите в EFS нужный флаг, то не чего не изменится. Просто в некоторых версиях данный флаг указывается в другом месте и соответсвенно там его модем и будет искать.
Ну а теперь разберемся по пунктам и не торопясь.
1. Сначала откроем мой компьютер и посмторим нет ли там значка виртуального CD-rom модема.
Если нет, то сразу переходим ко второму пункту.
Если же есть, то надо попытаться запустить установку программы с него. Но она может и не пойти. Почему? Дело в том, что программы как правило перед установкой проверяют нахождение подобной себе в системе и видя её наличие пытаются запустить установленную ранее. Но, в ранее установленной версии может быть дургой файл запуска. Тогда получается замкнутый круг. С одной стороны инсталлятор видит уже установленную программу и не начинает установку, но в тоже время пытается её запустить. А вот файла запуска не находит, так как у него указан другой исполняемый файл.
Подобная пробелма решается до банальности просто. Надо всего лишь отсоединить модем, и запустить деинсталляцию старой программы модема. По завершению желательно перезагрузить систему. Теперь вставляем модем на место и ждем автозапуска установки новой программы из виртуального CD-rom модема. Если и теперь установка не пошла, тогда опять открываем "Мой компьютер" и находим там наш виртуальный CD-rom и принудительно запускаем установку.
2. Если же виртуально CD-rom нет в пункте "мой компьтер", то надо попытаться найти любые упоминая о модеме в диспетчере устройств. Если их там много и в COM портах и в модемах, то это означает что просто выключен CD-rom. Страрая программа при запуске может не понимать уже прошитого модема, так как его описание в системе могло изменится. Значит нам для начала надо активировать CD-rom в модеме.
Для этого нам нужно подать AT команду на его порт. Скачиваем любую понравившуеся терминальную программу для модемов. Не важно что программа для HUAWEI, а у вас ZTE. Это ни имеет ни какого значения. Запускаем терминальную программу и далее подаем следующие команды для активации CD-rom :
Для модемов HUAWEI
AT^U2DIAG=255 (кроме е1750)
AT^U2DIAG=276 Для е1750
Для модемов ZTE по-очереди сразу две команды
AT+ZCDRUN=F
AT+ZCDRUN=9
Закрываем терминальную программу. Отсоединяем модем. Деинсталлируем старую программу. Теперь вставляем модем и наслаждаемся.
Если все проделали правильно, то должен определиться виртуальный CD-rom модема и с него должна начаться установка новой программы модема.
3. Если это всё не помогло, то скорее вам придется восстанавливать модем технически более сложным способом.
Об этом читаем на форуме тему Работа с JTAG
Как восстановить модем (иголка)
Для начала нам нужно перевести модем в режим USB-загрузки. Для этого разбираем модем (БЕЗ РАЗБОРКИ), и находим под разъемом сим-карты набор технологических контактных площадок. Для модема Е3372S он будет выглядеть так:
Внимательно смотрим на эту картинку
Вникаем какой пин замыкаете с корпусом (массой) модема и обращаем внимание на то, что чуть и выше и чуть левее находятся контакты для симки
Держа модем в такой же позиции как на картинке снимаете крышку и вынимаете симку
И в щелочку, которая как раз чуть правее контактов симки под симкой внимательно смотрим
Как раз и увидите эту точку - она там всего одна виднеется
Оригинальный размер фото качаем: Яндекс диск
Тонкая проволочка спокойно заходит в эту щелочку прям в эту точку, а другой конец проволоки на массу модема - например на ЮСБ штекер
А если вооружитесь лупой - то точно не промахнетесь
На этой картинке я подписал все известные мне площадки:
+5V - шина питания, идущая от USB-разъема
GND - земляная шина
Rx - приемник аппаратного консольного порта
Tx - передатчик аппаратного консольного порта
Boot - контакт для перевода модем в режим аварийной загрузки.
Для модема E3372H контактные площадки расположены так:
Площадка, обозначенная красным - это контакт аварийной загрузки. Назначение остальных площадок пока неизвестно - как только у меня появится такой модем, сделаю полное описание.
Надо взять пинцет, или еще какую-нибудь подходящую железку, и соединить между собой площадки Boot ( красная ) и GND (черная). Вместо площадки GND можно использовать металлический корпус USB-разъема или любой из металлических экранов. После замыкания точки Boot на землю вставляем модем в разъем USB компьютера, и через секунду перемычку можно убирать.
Модем будет запущен в режиме аварийной USB-композиции с единственным последовательным портом. Далее с помощью программы Balong USB Downloader в модем заливается загрузчик. Еще раз предупреждаю - НЕ ПЫТЙТЕСЬ ИСПОЛЬЗОВАТЬ ФИРМЕННЫЙ USBLOADER, идущий в комплекте с прошивками! используйте патченный usblsafe.bin! Иначе вы полностью потеряете nvram своего модема.
При использовании "метода иголки" я обнаружил, что порт, создаваемый ROM Bootloader, системой корректно не определяется:
Нашёл решение этой проблемы.
Оказалось, что в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags нужно создать подраздел 12D114430001, и в нём параметр SkipBOSDescriptorQuery типа REG_BINARY со значением 01 00 00 00:
Чтобы внести необходимые изменения в реестр, достаточно запустить reg-файл из архива: BOS_solution_2
При этом в системе должно быть установлено накопительное обновление KB2967917
В программе все предельно понятно. Лоадеры:
Модель h
Модель s
Далее нужно просто прошить модем в любую прошивку
Небольшое отличие для E3372h
Сначала нужно шить переходную прошивку, т. к. просто так первую прошивку не прошить из-за того, что виндовый прошивальщик ненавидит режим загрузки.
Восстановление роутера после неудачной прошивки
Совет: вне зависимости от марки и модели WiFi роутера, стоит иметь в виду, что для того, чтобы выполнить восстановление прошивки устройства, необходимо подключить его к компьютеру по проводному подключению Ethernet. Через беспроводную сеть выполнить операцию не получится! Только через кабель!
Как восстановить роутер D-Link
На большинстве модемов и WiFi маршрутизаторов D-Link есть специальный аварийный интерфейс Emergency Web Server. На некоторых моделях он назывался Failsafe UI. Это специальная микропрограмма, который позволяет восстановить прошивку роутера в случае сбоя. Она есть на таких популярных моделях, как DIR-300, DIR-320, DIR-615, DIR-620. Кстати, D-Link Emergency Web Server очень часто используют для того, чтобы вернуть на устройство заводскую прошивку вместо установленной альтернативной (например, Open-WRT, DD-WRT, Tomato и т.п.).
Скачиваем последнюю версию ПО себе на компьютер и кладём в корневой каталог какого-нибудь диска или на рабочий стол, чтобы легче было найти.
Очень важно во время процесса не выключать и не перезагружать маршрутизатор. После того, как программное обеспечение будет установлено, в браузере Вы увидите окно авторизации стандартного веб-интерфейса.
Внимание! Не забудьте вернуться в настройки протокола IP и выставить автоматическое получение адреса и DNS-серверов.
Восстановление прошивки Zyxel keenetic
После этого необходимо будет заново выполнить базовую конфигурацию девайса, иначе с заводскими настройками, как правило, доступа в Интернет не будет.
На сегодняшний день приложение Keenetic Recovery работает со следующими моделями роутеров:
Keenetic Ultra II
Keenetic Giga III
Keenetic Extra II
Keenetic Air
Keenetic Extra
Keenetic Viva
Keenetic LTE
Keenetic VOX
Keenetic DSL
Keenetic Giga II
Keenetic III
Keenetic Omni II
Keenetic Lite III
Keenetic 4G III
Keenetic Start II
Keenetic Ultra
Keenetic Omni
Keenetic Start
Keenetic II
Keenetic 4G II
Keenetic Lite II
Keenetic Giga
Keenetic 4G
Keenetic Lite
Аварийное восстановление прошивки роутера Sagemcom (Ростелеком, Тателеком, Дом.ру)
Как восстановить QTech QBR-1040W и QBR-1041WU v2S
Примечание: если на 192.168.1.6 залить прошивку не получается, попробуете сделать это на 192.168.1.1. Дело в том, что для аварийного восстановления роутера на разных версия устройства могут использоваться разные IP-адреса.
Как восстановить модем кирпич
Прошивка (Firmware) - начинается на 22 (HiLink) или 21 (Stick) и никак иначе (для этой модели). Также под этим может пониматься не просто версия, а прошитый вами файл, т. к. неозможно в версию добавить идентификаторы модификаций, поэтому они присутствуют только в файле прошивки (Например: M_AT_05, M_01).
Дашборд (Dashboard) - программа управления, или её файл для прошивки. Его версия начинается с 23 или еще как-нибудь.
HiLink (хайлинк) - это режим маршрутизатора. Модем в этом режиме имеет веб-интерфейс, как роутер (конечно, Wi-Fi у него никак не отростёт :D), очень удобно при использовании роутера, да и вообще - не нужно ставить лишнее ПО.
Stick (стик) - это обычный модем, который соединяется через программу управления (дашборд) или через менеджер сетей Windows (который встроили в Windows 7 и выше)
Модифицированная прошивка - прошивка, модифицированная участником форума. Их может быть множество, поэтому лучше читать пояснения к идентификаторам, которые находятся в посте с этими прошивками.
Идентификаторы модификаций - краткое буквенное обозначение встроенных модифицаций.
Разлочка - разблокировка модема для работы на всех SIM-картах.
Чистка флеши - операция, которая почти полностью очищает внутреннюю память модема, очищая от надуманных повреждений (у этого модема есть такой комплекс, что со временем он начинает думать, что вся его внутренняя память в ошибках). Ссылка на инструкцию находится в этом посте, в спойлере "Инструкции + Полезные ссылки -> Прошивка/Восстановление".
Игла, укалывание и т.д. - операция восстановления, при которой замыкается тест-поинт. Данная инструкция также находится в FAQ, о котором уже упоминалось выше.
Фото модема снаружи
Поддерживаемые диапазоны:
GSM/EDGE/EVDO/LTE/FDD/TDD/UMTS
Скорость приёма данных модемом до 150 Мбит/с,
Скорость передачи данных - до 50 Мбит/с
Поддерживаемые частоты
GSM / GPRS / EDGE 850 / 900 / 1800 / 1900
UMTS / DC-HSPA+ /WCDMA 900 / 2100
LTE 800/900/1800/2100/2600 MHz
Дополнительно
Поддержка карт MicroSD до 32 ГБ
Внешняя антенна
Тип разъема внешней антенны - CRC9, он же, по терминологии huawei - TS-5.
Модем имеет 2 антенных разъема (под MIMO-антенны), одиночная антенна подключается к разъему, ближайшему к USB
Операционные системы:
Поддержка OC Windows XP SP3, Windows Vista SP1/SP2, Windows 7, Windows 8, Mac OS X 10.5, 10.6, 10.7, 10.8, Linux
-
- Не рекомендуется к применению, убивает гаджеты с новыми прошивками.
- HiLink Tray - Программа для отображения информации о состоянии модема в трее
-
- Утилита для аварийной USB-загрузки модемов на чипсете Balong V7R2 и V7R11
- Модифицированные прошивки для E3372h
- Модифицированные прошивки для E3372s
Модифицированные Оригинальные
(в посте прошивка + морда, проша только для E3372h, морда ставится и на E3372s, и на E3372h)
(в посте прошивка + морда, проша только для E3372h, морда ставится и на E3372s, и на E3372h)
(в посте прошивка + морда, проша только для E3372s, морда ставится и на E3372s, и на E3372h)
(в посте прошивка + дашборд, проша только для E3372h, дашборд ставится и на E3372s, и на E3372h)
Д
, Часть 2
, не срабатывает на новых прошивках, в таком случае помогает "Прошивка" для вывода из режима загрузки.
( одним скриптом - без применения командной строки )
Модем не программируют для совместимости с роутерами, наоборот, это делают производители роутеров. Поэтому ищите список совместимых моделей с вашим роутером. Если вы ищите роутер для работы с этим модемом, то создайте тему в Выбор и сравнение. Здесь все просьбы о помощи с выбором удаляются.
Далее, если вам нужна помощь для того, чтобы подружить модем с роутером, то вам нужно спрашивать помощи в теме роутера. Почему? Потому что роутеры очень разные, люди в этой теме понятия не имеют, что нужно сделать, чтобы модем с ним заработал. Модемы же, напротив, определяются все лишь несколькими разными способами, что-то нестандартное бывает редко. У этого модема есть несколько разных способа для определения: RAS, NDIS в Stick-прошивке и RNDIS, CDC в HiLink-прошивке (RNDIS для винды, CDC для линукса, включая роутеры. И NDIS - не RNDIS, это разные вещи). Иными словами, вам необходимо дружить роутер с модемом, а не модем с роутером, поскольку драйвера должны быть заложены в нем. А что можно сделать с модем? А ничего, нужно ковырять роутер, в него производитель не заложил драйвер.
В случае, если вас гонят из темы роутера сюда, не нужно писать об этом, исключений нет и пост все равно будет удален. Лучше скиньте ссылку на этот текст в тему роутера, чтобы они поняли, что они неправы. А если не помогло - ну что, значит не судьба.
PS: самая беспроблемная схема с роутером: прошивка HiLink на модеме с автопереключением в CDC + Zyxel Keenetic 4G III rev.A с прошивкой Padavan
Куратор темы
FAQMakers
Реп: ( 1798 )
Куратор темы
FAQMakers
Реп: ( 1798 )
Доступ к командным интерфейсам модема
Модем построен на чипе Hisilicon hi6930 (Balong v7r2). Этот чип имеет в свое составе 2 процессорных ядра ARM7. Каждое ядро процессора работает под управлением собственной операционной системы.
Ядро 0, стартующее при включении модема, работает под управлением Android 2.3 (ядро Linux v3.4.5). Системное окружение является урезанным вариантом Android - без виртуальной машины Dalvik. Само ядро linux практически полностью соответствует стандартному ядру Android, но в него вкомпилированы дополнительные проприетарные модули, разработанные Huawei - например, обработчик AT-команд. Кроме начального запуска модема и обработки АТ-команд, в HILINK-прошивках linux-часть модема поддерживает сетевой стек и работу WEB-сервера.
Ядро 1 работает под управление операционной системы реального времени VxWorks v6.8. Эта ОС осуществляет непосредственное управление радиомодулем и взаимодействие с сотовой сетью. Запуск VxWorks производится с помощью специальной подсистемы, встроенной в ядро Linux.
Таким образом, в модеме работают одновременно 2 операционные системы. Они могут взаимодействовать друг с другом с помощью подсистемы ICC, передающей специальным образом сформированные пакеты данных из одной ОС в другую. ICC содержит в себе отладочные инструменты, что позволяет, при желании, подробно рассмотреть процесс взаимодействия VxWorks и Linux. Каждая ОС имеет в своем составе командный процессор, позволяющий пообщаться и покомандовать ОС. Далее я расскажу, как получить доступ к командной строке этих ОС.
Проще всего получить доступ к командной строке Linux-части модема в HILINK-прошивках. Для этого достаточно прошить модифицированную прошивку из этой темы. Эта прошивка открывает доступ к Linux-шеллу через telnet и adb.
telnet:
telnet 192.168.8.1
adb connect 192.168.8.1
adb shell
Доступ через отладчик андроида ADB позволяет также передавать-принимать файлы из внутренней файловой системы модема.
Если модем у вас со stick-прошивкой, или стандартной (немодифицированной) HILINK-прошивкой, то вышеуказанный способы работать не будут. Кроме того, эти способы не позволяют получить доступ к консоли VxWorks. Поэтому рассмотрим более универсальный способ, изначально заложенный в модем производителем - порты A-shell и C-shell. Оба этих порта являются USB-serial устройствами, включаемыми в USB-композицию модема в режиме DebugMode. Первый из них - консоль линукса, второй - консоль VxWorks.
Для начала нужно получить доступ к командному AT-порту модема. В stick-прошивках этот порт доступен сразу - это самый первый порт (/dev/ttyUSB0). В стандартных HILINK-прошивках AT-порт по умолчанию недоступен. Чтобы открыть доступ к этому порту, нужно прошить модифицированный вебинтерфейс, а затем зайти браузером вот по такому адресу:
Это переключит модем в отладочный режим - теперь, кроме сетевого интерфейса, также становятся доступны 6 последовательных портов. Самый первый из них и будет командным АТ-портом. Теперь надо зайти любой терминалкой на этот порт, и ввести такие AT-команды:
at^spword="пароль"
at^shell=2
at^reset
Пароль в команде ^spword - это код, вычисленный по обычному алгоритму v201, но от IMEI модема, развернутого задом наперед. В калькуляторе для этого имеется кнопка Reverse. После ввода команд модем перезагружается.
Для HILINK-модема следует снова сделать переключение в отладочный режим через WEB-интерфейс, как я писал выше. В результате у модема появится 6 последовательных портов:
ttyUSB0 - порт AT-команд
ttyUSB1 - консоль VxWorks
ttyUSB2 - кносоль Linux
ttyUSB3
ttyUSB4
ttyUSB5 - лог DSP
Для stick-модема придется ввести в список доступных портов (командой ^setport) два дополнительных порта - с номерами 5 и А, например так:
at^setport="FF;10,12,16,A2,5,A"
В результате у модема появятся 4 последовательных порта:
ttyUSB0 - AT-порт для PPP-соединений
ttyUSB1 - AT-порт для NDIS-соединений
ttyUSB2 - консоль Linux
ttyUSB3 - консоль VxWorks
busybox sh
Пользователи
Реп: ( 0 )
Kak razblokiovat posmotrev kody.
Друзья 4PDA
Реп: ( 2998 )
Модифицированный веб-интерфейс для E3372 s на основе WebUI 16.100.05.00.03
- Разблокировал разделы "USSD", "Тел. книга", "SIM-меню".- Добавил отображение некоторых параметров в разделе "Информация об устройстве", организовал их автообновление.
- Реализовал отображение RSSI и Cell ID в режиме GSM/EDGE, а также LAC (с соответствующими основными прошивками).
- Разблокировал доступ к различным настройкам.
- Добавил выбор диапазонов.
- В главное меню добавил пункт "?" для быстрого перехода к разделу "Информация об устройстве".
- Установил язык по умолчанию - Русский.
- Добавил отображение типа сети в строке состояния.
- Добавил отображение RSSI во всплывающей подсказке индикатора уровня сигнала.
- Добавил отображение скорости загрузки/передачи.
- Сделал отображение названия оператора "Yota" вместо "25011".
- Разблокировал http://192.168.8.1/html/switchDebugMode.html (включение композиции с RNDIS, SD и 6-ю портами) и switchProjectMode.
- Запретил переход на страницу "Автозапуск. Найдены обновления. . ".
- Добавил возможность отключения таймера отключения по простою.
- Исправил синхронизацию времени по интернету.
- Добавил ссылку для переключения в Debug mode.
WEBUI_16.100.05.00.03_Hilink_V7R2_9x25_CPIO.bin SHA1 3fbdcc038d875860d77b0757553d1bc7974d84a0
из E3372sWEBUI-V100R006B100D05SP00C03_general_05012EBM.zip
Ориентирован на работу с прошивкой 22.286.03.00.00.
Работает также и с модифицированными прошивками 22.286.53.01.161_S_*.
Несовместим с оригинальной билайновской прошивкой 22.286.53.01.161 в части SMS.
После прошивки веб-интерфейса следует делать сброс настроек (Настройки->Система->Настр. по умолч.).
Обновляемый пост
Причина редактирования: В шапкеДрузья 4PDA
Реп: ( 2998 )
Для этих портов необходим драйвер FcSerial.
Причина редактирования: В шапкеДрузья 4PDA
Реп: ( 876 )
После некоторого периода тестирования выпускаю новый релиз калькулятора nlock-кодов для модемов Huawei. В прошлом
калькуляторе, calc201, обнаружилась ошибка в расчетной ветке 7, что иногда могло привести к неправильной генерации кодов.
Теперь калькулятор умеет вычилсять 4 варианта кода - flash-код, код алгоритмов версии 1 (old algo), 2 (new_algo) и 201 (201_algo).
Также, учитывая, что многие здешние обитатели вообще не понимают, что такое командная строка, я приделал графическую морду к калькулятору. Морда написана на кроссплатформенном Qt, и имеется и в linux, и в windows-версиях калькулятора. морда выглядит так:
Надеюсь, что тут все понятно. Единственное необходимое пояснение: кнопка reverse переворачивает IMEI задом наперед. Это нужно для вычисления кодов в команде at^spword модема 3372.
Linux-вресия калькулятора, кроме графической морды, имеет также режим командной строки. Если ее запустить без параметров - открывается графическая морда. Если указать парамтром IMEI - в консоль будут выданы все 4 кода. Можно также указывать ключи:
-r - перевернуть IMEI
-f - вычислить только flash-код
-1 - вычислить только код v1 (old algo)
-2 - вычислить только код v2 (new algo)
-3 вычислить только код v201 (201 algo)
Это может быть полезно при написании скриптов. Windows-версия калькулятора не имеет в себе такой функциональности - программировать под windows я не умею, да и не нужно это виндузятникам.
Во вложении 4 файла - раздельно версии под windows, linux 32 bit, linux 64 bit, и исходные тексты. Linux-версии требуют установленной в системе библиотеки Qt, windows-версия собрана статически и не требует никаких библиотек (зато имеет размер почти 4М).
В принципе, данный калькулятор процентов на 90 заменяет ветку под названием " Здесь можно получить коды разблокировки устройств БЕСПЛАТНО". И правильнее было бы повесить его в шапку этой темы. Но вряд ли барыги это допустят.
В заключении, хочу выразить благодарность пользователям rust3028 и Chujoi13 за неоценимую помощь в подготовке и тестировании этого релиза.
Причина редактирования: В шапкеДрузья 4PDA
Реп: ( 876 )
А можно в Debug Mode поасть через usb_modeswitch?
Еще можно сделать переключение внутри самого модема. Для этого надо написать простенькую программку:
void main() int nfd=open("/dev/ndisapp",2);
ioctl(nfd,1,0);
>
Собрать ее с помощью android ndk и запускать внутри модема. Именно таким способом производит переключение сам вебсервер.
Но тут есть подводный камень. В момент переключения SD-карта исчезает из USB-композиции и потом появляется заново. Если openwrt уже успел ее примонтировать - получишь ошибку. Поэтому использовать эту карту как extroot в openwrt сходу не получается.
Сейчас я как раз разбираю, как работает с картой AT-процессор - команду at^sd. Возможно, она поможет в этой ситуации.
Друзья 4PDA
Реп: ( 2998 )
Кстати, у rust3028 уже имеется готовая программа переключения с произвольной задержкой, готовая для включения в autostart.
rust3028, может быть выложишь ее сюда, чтобы людям не мучаться с освоением ndk?
Друзья 4PDA
Реп: ( 2281 )
Автоматическое переключение модема в Debug Mode и Project Mode
Подходит для обоих модемов, на любой прошивке HiLink.
Друзья 4PDA
Реп: ( 876 )
В качестве новогоднего подарка, пока есть свободное время, хочу опубликовать небольшой цикл из 2 статей, посвященный методам исследования одной из операционных систем модема - VxWorks. Меня давно об этом здесь просили, но как-то времени не было собраться. Информация предназначена для любителей поковыряться в потрохах модема, разобрать скрытые его возможности, понять, как он работает. Для тех кому модем нужен "воткнуть и забыть", эта информация бесполезна - просто проходите мимо, все равно ничего не поймете.
Итак, часть 1 - загрузка и разбор образа VxWorks в дизассемблере IDA.
VxWorks, как и все другие компоненты модема, хранится в одном из разделов флеш-памяти модема - разделе mtd11. Для начала нам надо получить образ этого раздела. Его можно получить обычной командой dd. Заходим в консоль линукса (телнетом, через adb, или через a-shell - все это описано в шапке). И вводим такую команду:
Теперь выходим из шелла, и забираем полученный образ к себе на компьютер через adb:
adb pull /online/mtd11.bin
Процессс приема файлов через adb достаточно медленный (файл будет перекачиваться минут 10, если не больше), поэтому для быстроты можете воспользоваться другими методами - поднять ftp-сервер в модеме командой:
tcpsvd -vE 0.0.0.0 21 ftpd /online
затем зайти по ftp на адрес 192.168.8.1 и забрать файл.
Полученный файл mtd11.bin содержит в себе упакованный образ vxworks, к которому добавлен заголовок раздела. Следующим этапом нам надо распаковать этот образ, отрезав предварительно заголовок. Это можно сделать так:
В результате получаем файл balong_modem.bin, который и является фирменный образом VxWorks от этого модема. Осталось узнать, по какому адресу в памяти модема загружается этот образ. Тут нам повезло - необходимая информация содержится в логе ядра dmesg после загрузки модема:
Отсюда следует, что адрес загрузки VxWorks - 0x50d10000. Теперь запускаем дизассемблер IDA, выбираем для дизассемблирования файл balong_modem.bin, тип процессора - ARM Little endian (ARM), адрес загрузки - 0x50d10000. Дизассемлер загружает файл, но код дизассемблировать не торопится - он не знает адресов точек входа в подпрограммы. Мы их, вообщем-то, тоже не знаем. Нам нужна таблица символов операционной системы. К счастью, такая таблица встроена в ОС и ее можно посмотреть командой lkup. Порядок действий может быть таким:
- входим в шелл VxWorks (C-shell), Как это сделать - описано в шапке.
- Включаем в терминальной программе режим сохранения лога сеанса в файл.
- вводим команду:
- Долго жмем ентер, пока таблица не закончится
- Закрываем лог в терминальной программе.
Полученный лог-файл содержит в себе таблицу символов. Каждая строка этой таблицы состоит из 3 полей: имени символа, его адреса, и типа (text - программный код, data - данные). Таблица имеет достаточно неприятный вид, кроме того, регулярно загажена строками "Type <CR> to continue, Q<CR> to stop: ". Наша цель - cделать из этой таблицы IDC-скрипт для импорта всех символов в базу IDA, Для этого я написал простенькую программу на С, прилагаемую к этому посту - vxsym.c. Вначале лог-файл следует открыть в текстовом редакторе, и отрезать от него в начале и в конце все строки, не относящиеся к таблице символов. Промежуточные строки "Type <CR> to continue. " уберет сама программа. Затем запускаем программу:
gcc -o vxsym vxsym.c./vxsym terminal.log
terminal.log в данном примере - это имя лог-файла, сохраненного из терминальной программы. В результате будет создан IDA-скрипт vxsym.idc, а на stdout будет выведена та же самая таблица символов, но приведенная к человеческому виду.
Теперь нам осталось загрузить в IDA полученный скрипт (нажать alt-f7 и выбрать файл vxsym.idc). При этом в IDA-базу будут внесены все имена из таблицы символов, а участки кода, отмеченные в таблице как TEXT, будут автоматически дизассемблированы.
На этом первый этап закончен - у нас есть готовая IDA-база, которую можно начинать разбирать и исследовать. Для тех, кто плохо знаком с ситемой команд ARM, прилагаю pdf-файл c описанием архитектуры и системы команд ARMv7.
Во второй части я расскажу о встроенном в VxWorks отладчике, жизненно необходимом для исследования кода. В качестве пример мы заставим сам модем посчитать nlock-код по алгоритму v201.
Причина редактирования: В шапкеДрузья 4PDA
Реп: ( 876 )
Часть 2 - пример исследования кода в отладчике VxWorks. Первая часть статьи здесь.
Система ответила кодом 0 - команда принята. В результате этой команды мы установили отладочную точку (breakpoint) на адрес интересующей нас процедуры. Теперь открываем терминал на порт AT-команд модема, и вводим такую команду:
at^datalock="11111111"
Наша точка останова сработала. Теперь мы уверены, что при вводе команды datalock управление приходит именно на процедуру DRVAGENT_RcvDrvAgentDeviceDatalockSet. Далее следует ввести команду "с" - тогда VxWorks продолжит свою работу, а в АТ-терминале появится долгожданный ответ ERROR.
Теперь займемся анализм кода в IDA. Сразу бросается в глаза вызов процедуры с громким названием MMA_VerifyOperatorLockPwd. Открываем ее, разбираем.
Как видно, все, что она делает, это берет IMEI модема из ячейки g_aucMmaImei, копирует его во временную переменную, и вызывает процедуру VerifySL. Смотрим эту процедуру.
Из анализа кода следует, что на ее вход передаются 2 параметра. В R0 лежит адрес строки, введенной нами в команде ^datalock. В R1 лежит адрес области памяти, хранящей IMEI модема. Давайте это проверим. Удаляем предыдущую точку останова, и ставим новую - на процедуре VerifySL.
Снова идем в АТ-терминал и вводим команду at^datalock. После срабатывания точки останова сморим содержимое регистров командой ti:
Break at 0x50d818c0: VerifySL Task: 0x53e964b8 (I0_TAF_FID)
NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY
---------- ------------ -------- --- ---------- -------- -------- ------- -----
I0_TAF_FID vos_FidTask 53e964b8 144 STOP 50d818c0 5414ef38 0 0
task stack: base 0x5414f000 end 0x54147000 size 32768 high 896 margin 31872
exc. stack: base 0x54151ffc end 0x54151000 start 0x54152000
exc. stack: size 4092 high 624 margin 3468
proc id: 0x5245028c ((null))
options: 0x9005
VX_SUPERVISOR_MODE VX_DEALLOC_STACK VX_DEALLOC_TCB VX_DEALLOC_EXC_STACK
VxWorks Events
--------------
Events Pended on : Not Pended
Received Events : 0x0
Options : N/A
r0 = 0x5372759c r1 = 0x5414ef3c r2 = 0x00000000
r3 = 0x00000000 r4 = 0x5414ef3c r5 = 0x5372759c
r6 = 0x53727580 r7 = 0x00000000 r8 = 0x5369fb60
r9 = 0x00000010 r10 = 0x0000000f r11/fp = 0x5414ef60
r12/ip = 0x32303634 r13/sp = 0x5414ef38 r14/lr = 0x51463690
pc = 0x50d818c0 cpsr = 0x600c0113 ttbase = 0x53f74000
value = 0 = 0x0
Теперь смотрим содержимое памяти по адресам из регистров R0 и R1:
Как видим, в первой области памяти лежат все 1 - то, что мы вводили в команде ^datalock. Во второй - IMEI нашего модема.
Анализируя процедуру VerifySL дальше, мы видим, что имеется 6 различных веток вычисленя кода, в зависимости от IMEI. Адреса процедур лежат в таблице unlock_func_table_v201:
В конце концов происходит сравнение вычисленного nlock-кода и введенного пользователем:
Сравнение выполняет функция strcmp. На ее вход подается вычисленный модемом код в виде строки, адрес которой лежит в регистре R1. Теперь мы можем поставить точку останова по адресу 50D819C0, и увидеть долгожданный nlock-код, продолжив выполнение командой c:
NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY
---------- ------------ -------- --- ---------- -------- -------- ------- -----
I0_TAF_FID vos_FidTask 53e964b8 144 STOP 50d819c0 5414ef0c 0 0
task stack: base 0x5414f000 end 0x54147000 size 32768 high 896 margin 31872
exc. stack: base 0x54151ffc end 0x54151000 start 0x54152000
exc. stack: size 4092 high 624 margin 3468
proc id: 0x5245028c ((null))
options: 0x9005
VX_SUPERVISOR_MODE VX_DEALLOC_STACK VX_DEALLOC_TCB VX_DEALLOC_EXC_STACK
VxWorks Events
--------------
Events Pended on : Not Pended
Received Events : 0x0
Options : N/A
Вот так мы вычислили nlock-код c помощью модема. Этот код является абсолютно точным, образцовым. Можно при входе в процедуру VerifySL c помощью команды m вписать в память другой IMEI, и вычислить nlock-код от него. Я использовал эту возможность для отладки своего калькулятора кодов.
Возможности отладчика VxWorks очень обширны. Вот крайткий список полезных команд:
b - установить точку остановаbd - убрать точку останова
c - продолжить выполнение программы
s - сделать 1 шаг
so - сделать шаг без захода в подпрограммы
d - посмотреть память
l - дизассемблировать код (да, да - там и встроенный дизассемблер есть!)
ti - посмотреть регистры
m - изменить память
Предусмотрена там и справочная система - команда help и ее производные. Прилагаю к этому посту pdf с фирменным описанием шеллов VxWorks. Есть и другие доки от WindRiver, легко находящиеся на просторах интернета.
Надеюсь, моя статья подвигднет кого-нибдуь на изучение кода модема. Поверьте, это крайне увлекательное и полезное занятие!
Сброс настроек модема и мобильного роутера Huawei
В этой статье я покажу, как выполнить сброс настроек на модемах и мобильных Wi-Fi роутерах от Huawei. Сброс настроек (Reset) позволяет полностью восстановить заводские настройки роутера или модема. Сбросить пароль на Wi-Fi и пароль администратора (который нужно вводить при входе в настройки роутера) . На самом деле, Reset на Wi-Fi роутерах Huawei делают чаще всего тогда, когда забывают пароль от Wi-Fi, или пароль от веб-интерфейса, и поэтому не могут зайти в настройки. Чаще всего заводской логин и пароль (admin/admin) меняют, успешно забывают и потом не могут выполнить вход в настройки. Пароль admin не подходит, а тот который установили – забыли.
Первым делом я хочу коротко рассказать, в чем разница между обычным USB 3G/4G/LTE модемом Huawei, модемом с функцией Wi-Fi, и мобильным Wi-Fi роутером. Как делается сброс на каждом из этих устройств, какие нюансы, и какие параметры будут восстановлены. Ну и еще такой момент, что очень большое количество этих устройств предлагают сами операторы: Yota, МТС, Билайн, Мегафон, Теле 2, Киевстар и т. д. Названия и модели модемов могут отличаться в отдельных случаях. Но это не меняет процесс восстановления настроек по умолчанию.
- Обычные USB модемы. Которые без Wi-Fi. Такой модем может передавать интернет на компьютер, Wi-Fi роутер, или другое устройство только по USB. Например: Huawei E3372, E3372h, E3370. На таких модемах, как правило, нет отдельной кнопки Reset. Сбросить настройки можно в панели управления. В настройках так же можно сменить заводской пароль admin на другой. Но как сбросить настройки модема если забыл этот пароль – непонятно. Так как отдельной кнопки на них вроде бы нет.
- Модемы с функцией Wi-Fi. Есть у Huawei несколько популярных модемов, которые кроме работы в обычном режиме USB модема могут сразу раздавать Wi-Fi. Питание они получают от USB (компьютера, адаптера, повербанка) . Например: Huawei E8372h, E8372h. На таких модемах есть кнопка Reset (обычно под крышкой) для сброса настроек.
- Мобильные Wi-Fi роутеры. Это по сути те же модемы с Wi-Fi, но они имеют еще встроенный аккумулятор. Из-за этого они немного больше. Например: Huawei E5573, EC5321. На мобильных Wi-Fi роутерах Huawei сделать сброс можно так же кнопкой, или в настройках.
После того, как вы сделаете сброс настроек, для входа в веб-интерфейс модема Huawei нужно будет ввести заводское имя пользователя – admin и пароль – admin.
Для Wi-Fi сети будет восстановлено заводское имя (SSID) , и заводской пароль (WIFI Key) . Заводские имя и пароль указаны на самом модеме. Обычно под крышкой (под батареей) , или на крышке.
Так же, возможно, понадобится задать параметры под вашего оператора. Выбрать профиль, или вручную прописать настройки. Но в большинстве случаев модем сам подключается к интернету и раздает его.
Reset на модеме Huawei с помощью кнопки
Обратите внимание! Сброс восстановит заводской IMEI модема. Если вы меняли IMEI (для использования СИМ-карты, которая предназначена только для смартфонов), то вам придется заново выполнить процедуру по смену IMEI, или не делать сброс.Практически на всех модемах и мобильных Wi-Fi роутерах Huawei кнопка находится под крышкой. Поэтому, нужно снять крышку и дальше сделать все по инструкции:
- Включаем роутер, или подключаем модем к источнику питания. Думаю, не лишним будет подождать минуту, чтобы устройство загрузилось.
- Находим утопленную в корпус кнопку RESET. Обычно возле нее есть соответствующая надпись. И выглядит она вот так:
- Нужно нажать на эту кнопку чем-то острым и подержать ее нажатой 5-10 секунд. Можно ориентироваться по индикаторам. Они начинают мигать.
- Ждем, пока модем или роутер загрузится. После чего можно к нему подключиться (не забудьте, что настройки Wi-Fi будут тоже сброшены, писал об этом в начале статьи) , зайти в настройки и задать необходимые параметры.
С помощью кнопки это все делается очень просто и быстро. Нажали, подержали и готово.
Сброс настроек и пароля USB модема Хуавей через веб-интерфейс
Если у вас есть доступ к настройкам модема, или мобильного роутера, то можно выполнить восстановление заводских настроек в веб-интерфейсе. Тем более, что доступ к модему есть не всегда. Для этого нужно зайти в настройки по IP-адресу 192.168.8.1.
Дальше нужно зайти в раздел "Настройки", на вкладку "Настройки по умолчанию" и нажать на кнопку "Восстановить по умолчанию".
После перезагрузки модем будет как новенький.
Если не получается сделать сброс, не заходит в настройки модема, не подходит пароль, или что-то пошло не так – задавайте вопросы в комментариях. Только обязательно указывайте модель модема и подробно описывайте проблему.
Как восстановить модем кирпич
недопрошитого модема ZTE MFХХХ, висящего в Download mode.
Если после неудачной прошивки у вас в системе модем определится как одно неизвесное устройство (ZTE CDMA Technologies MSM), или просто как ZTE Diagnostics Interface, то модем завис в режиме загрузки (Donload Mode).
Для начала неоходимо подсунуть вручную драйвера на неизвесные устройства.
Правой кнопкой на ZTE CDMA Technologies MSM, и указать путь к папке с драйверами.
Драйвера в файловом архиве, скачать ОТСЮДА.
Должно вылезти ZTE Diagnostics Interface.
Если так - то модем завис в режиме DM.
Иногда бывает что драйвера на неизвесное устройство (ZTE CDMA Technologies MSM) не ставятся. Тогда в "Диспетчере устройств" щелкаем на устройстве правой кнопкой, жмем "Удалить вместе с драйверами". или просто удалить драйвер с этого устройства. После чего передернуть модем и снова поставить дрова вручную.
Для реанимации используется программа QPST , файлы partition.mbn, efs.mbn.
Устанавливаем программу, идем по пути пуск => программы => QPST => QPST Configuration , нажимаем на кнопку remove до тех пор, пока в списке портов их не останется совсем , затем add new port , в появившемся окошке выделяем Com-порт, на который встал ZTE Diagnostics interface (номер смотрим в диспетчере устройств, в портах COM и LPT), называться он должен примерно так: Q/Q-XXX. Нажимаем OK.
В QPST Configuration появляется строчка с только что выбранным портом, при этом в 3х столбцах написано *Download* .
Идем в строку меню => start clients => SOFTWARE DOWNLOAD .
В появившемся окошке выбираем вкладку " CEFS ", указываем путь к распакованным partition.mbn в строке partition file и efs.mbn в строке CEFS .
нажимаем Start , через некоторое время закончится заливка, QPST напишет "ОК, resetting phone" , и после резета получаем реанимированный модем.
Метод 2:
Если вы попробовали залить partion и efs файлы и у вас модем не ожил, или QPST выдаёт Trying to Communicate with Phone а потом ошибку Could not Communicate in Diagnostic Mode или какие другие ошибки, то можно опробовать другой способ:
Запускаем любую нужную нам прошивку для своего модема, можно даже без модема. Дальше не закрывая её идём по пути: C:\Program Files/Windows servise/MFXXXnewversion . Находим там наши файлы partion и efs
Копируем целиком папку с прошивкой куда нибудь в другую папку и закрываем программу прошивки.
Перезагружаем компьютер (. ) , запускаем QPST.
Идем в строку меню => start clients => SOFTWARE DOWNLOAD
идём в закладку multi-image .
Указываем папку в которую сохранили прошивку.
В QPST Configuration появляется строчка с только что выбранным портом, при этом в 3х столбцах написано *Download*.
В вкладке multi-image в QPST в пути Image folder указываем папку в которую сохранили файлы обновления. Шьём. В диспетчере устройств появятся устройства ZTE. Далее шьём обычной прошивкой.
Запускаем из QPST - Memory Debug Applcation , там нажимаем кнопку Browse и указываем на COM порт своего модема, нажимаем ОК. Потом нужно нажать Reset Phone и дождаться пока он его переопределит (вверху надпись должна изменится с указанием типа процессора и т.п.) Модем возможно выведется из режима Download mode.
Любое копирование без указания источника и автора запрещено, и является нарушением авторского права!
3Ginfo
ih-will
18 сен : 13:22
Так эту прошивку нужно удалить с сайта,чтобы у других модем на помойку не попал.
rash_b
17 сен : 18:09
ih-will, вы допустили ошибку, что на нее обновились, т.к. Locked (customized firmware) и с нее слезьте тоже не получится
ih-will
16 сен : 20:56
После установки прошивки Huawei E367 11.810.09.21.356 модем перестал определятьсим карту(статус сим заблокирован кастом прошивки)0 попыток разблокировки из 10.Установку другой прошивки блокирует ошибкой "Код ошибки 17,терминал не Firmware.Мастер не может продолжить обновление.flash код подобрал,благодарю за подсказку.А что с этой ошибкой делать?
rash_b
15 сен : 04:52
ih-will, как и для всех модемов huawei, при смене прошивки требуется flash код
ih-will
14 сен : 21:53
Прошивка Huawei E367 11.810.09.20.00 После определения порта просит код и даёт три попытки для ввода,какой код ,подскажите?
rash_b
12 сен : 13:51
Alex8888886, У вас однозначно кастомная версия прошивки. Официальная версия прошивки. Максимум с Android 5.0
Alex8888886
12 сен : 13:40
Верните деньги за не качественную услугу
Alex8888886
12 сен : 13:40
Не работает разблокировка на Note3 . Это разводилово ребят.
NAKE
08 авг : 09:25
как разблокировать E303s-2 Tele2 KZ код блокировки есть выходит пустая заставка HUAWEI Modem 3.0
В сети
Гостей: 42, Пользователей: 1 .
ih-will смотрит download.php
рекорд он-лайн: 467
(Пользователей: 0, Гостей: 467) в 13 июн : 09:42
Читайте также: