Разлочить 4g lte usb модем мтс 829f своими руками

forth32

Сообщение #1

25.07.14, 21:59

Бывалый


[offline]

Группа: Друзья 4PDA
Сообщений: 694
Регистрация: 05.12.06
TurboPad 910

Репутация: -  629  +


Обсуждение Huawei E3372 (МТС 827F/829F, МегаФон M150-2, Билайн E3372/E3370, TELE2 E3372h-153)
  • В теме действуют все Правила форума и 10 заповедей новичка, кому тяжело осилить Правила Форума
  • Для сравнения устройства с другими моделями и по вопросам выбора обращайтесь в тему Выбор и сравнение беспроводных модемов
  • Обсуждение устройств, не относящихся к данной теме, запрещено. Если нужной вам темы по конкретной модели не существует - создайте её.
  • Вместо слов «Спасибо!» используйте Изображение в репутацию того, кто Вам помог. Если у Вас меньше 15 постов - нажмите на кнопку «Жалоба» под тем сообщением, где Вам помогли, и напишите благодарность.
  • Полезные темы на заметку: FAQ по форуму, Как искать на форуме?

FAQ
(кликабельно)

ВНИМАНИЕ!!!
Перед написанием сообщения, обязательно прочитайте Правила поведения в теме, иначе ваше сообщение будет удалено!

Особенно обратите внимание на первый пункт Правил поведения в теме, без этой минимальной информации никто вам не поможет! Кроме того, пост без этой информации будет удален без предупреждения и вам придется проблему решать самому!

Правила поведения в теме

  1. Обязательно прикладывайте инфу, что указана в спойлере, иначе вам никто не поможет! Телепаты здесь: Общение телепатов

    Нужная инфа для помощи

    Нужен скриншот, или текст в теге code лога от DC-Unlocker. Важное требование - IMEI, серийный номер, версию прошивки и остальное не закрашивать! Боитесь спалить - вон из темы!

    Также нужен скриншот Диспетчера устройств с развернутыми:

    1. DVD-дисководы и дисководы компакт-дисков
    2. Дисковые устройства
    3. Контроллеры USB
    4. Порты (COM и LPT)
    5. Сетевые адапетры

    Для пользователей Linux

    Нужны результаты в теге code следующих AT-команд:
    1. ATI
    2. AT^FWVER
    3. AT^HWVER
    4. AT^SN

    Важное требование - IMEI, серийный номер, версию прошивки и остальное не закрашивать! Боитесь спалить - вон из темы!

    А также нужны результаты выполнения команды lsusb и ifconfig (не ipconfig!) в теге code.

  2. Вероятная реакция старожил на сообщения в стиле "У меня ничего не получается", "Пробовал - не получилось", "Киньте мне подробную инструкцию":
    • Вас проигнорят
    • Ваше сообщение будет удалено
    • Вы узнаете много нового о вашем IQ

    Потому в каждом сообщении четко указывайте, что делали конкретно, что вам выдавалось, со скриншотами!
  3. Вопросы по дружбе с ваши роутером, спрашивайте в теме вашего роутера. Мы не знаем особенности вашего роутера, а в теме роутера знают. Старожили не миллионеры, у них нет всех роутеров.
  4. Пожалуйста, убирайте изображения под спойлер. Изображение без спойлера как человек без одежды - смотрится, мягко говоря, некрасиво. Да и вообще, неэтично.
  5. Ни в коем случае не используйте формат BMP! Такие сообщения будут 100% удалены.
  6. Список самых глупых вопросов, которые нещадно будут удаляться:

    Самые популярные вопросы с ответами и не по теме (которые будут удаляться), воздержитесь от них, чтобы вас не закидали помидорами!

    • Как разблокировать (разлочить) модем
    • Как зафиксировать TTL
    • Как сменить IMEI
    • Как обойти торрент
    • Как подружить с роутером
    • Как оператор отличает телефон от модема
    • Любой вопрос по операторам, в том числе по тарифам Yota, Безлимитище, #МожноВсё, Всё за..., МегаБезлимит, Беспредельно Чёрный

  7. Пишите грамотно! Используйте запятые, Сообщения с большой буквы, заканчивать точкой, жи-ши пиши с буквой и! Месиво из слов никто не поймет, реакцию старожил та же, что и в пункте 2.
  8. Обязательно прочтите спойлер Важная информация! Там действительно важная информация, не зная которую, можно окирпичить модем!

Важная информация!

Все манипуляции с прошивкой и конфигурированием модема вы делаете на свой страх и риск!

  • У модемов E3372h серийник начинается на G4P, а у E3372s - L8F. А более точно свой модем можно определить вот так. Прошивать E3372h прошивкой от E3372s нельзя - получите кирпич. Впрочем, она сама не зайдет - выдаст ошибку. Разве что под давлением...
  • Если у вас E3372h и на вашем модеме прошивка от 2x.200.15.xx.xx и до (не включая!) 2x.317.xx.xx.xx, то перед прошивкой отправьте команду AT^SFM=1, иначе получите ошибку 19 (причем 2x.200.15.xx.xx и выше не вывести из режима загрузки, придется перешивать методом иголки или искать вашу прошивку в сети и шиться на нее же)
  • Если модем перестал видеть сеть, или стал неизвестным или ADB устройством, значит поломалась флеш. Починить ее можно вот так.
  • Модем не совместим с продуктами Касперского! От него недоступна морда, отключение не поможет, только удаление! Перед покупкой модема думайте, готовы ли отказаться от этого продукта.
  • Роутеры ASUS несовместимы с прошивками HiLink! Теряются пакеты, страницы открываются не до конца, а то и вообще целые странички не открываются. Решение - прошивка Stick или смена роутера, иногда помогает перепрошивка роутера.
  • Прошивальщик прошивок и загрузчик загрузчиков (тот, что используют для иглы) под macOS можно найти тут. Прибегать к виртуалке не нужно, да и опасно. Также, balong_flash'ем можно выводить модем из режима загрузки (ключ -r).

Прошивка в HiLink
Прошивка в Stick
Смена IMEI и фиксация TTL
Как открыть порты в HiLink (что делать если прошивальщик выдает ошибку 10)
(кликабельно)

Новичок, если ты ничего не понимаешь в компах и вообще не знаешь, с чего начать, то читай ЗДЕСЬ!

Прежде всего необходимо начать с чтения Правил темы, особенно подспойлер "Нужная инфа для помощи" - чтобы знать какую информацию предостовлять при возникновении проблем, знать как задавать вопрос, знать, о чем нельзя спрашивать и т. д. Без лога DC-Unlcoker и скрина диспетчера устройств с развернутыми категориями из того спойлера сообщения будут удалены без предупреждения!
Далее, читай Важную информацию - чтобы узнать о важных нюансах и как не попасть на элементарную ошибку.

Далее, если тебе просто нужна разлочка, то в этом посте есть спойлер "Разблокировка модема" (немного забегая вперед, скажу, что скорее всего "просто разлочить" не выйдет, все текущие модели выпускаются с сильной защитой, которую победить проще всего прошивкой)
А если нужно прошить/прокачать модем, то в Важной информации есть ссылка на инструкции по прошивке в HiLink и Stick.
В случае, если нужно прошить модем "под телефон" и "чтобы оператор не палил раздачу", то в FAQ есть подробная инструкция.

Хочу еще отметить, что нет таких понятий, как "прошить под мтс", "прошить под билайн" и т. д. Вас просто не поймут, если вы попросите прошить под какого-нибудь оператора.

Также, представляю вниманию небольшой глоссарик с местным сленгом и терминами:

Глоссарик

Прошивка (Firmware) - начинается на 22 (HiLink) или 21 (Stick) и никак иначе (для этой модели). Также под этим может пониматься не просто версия, а прошитый вами файл, т. к. неозможно в версию добавить идентификаторы модификаций, поэтому они присутствуют только в файле прошивки (Например: M_AT_05, M_01).
Дашборд (Dashboard) - программа управления, или её файл для прошивки. Его версия начинается с 23 или еще как-нибудь.
HiLink (хайлинк) - это режим маршрутизатора. Модем в этом режиме имеет веб-интерфейс, как роутер (конечно, Wi-Fi у него никак не отростёт :D), очень удобно при использовании роутера, да и вообще - не нужно ставить лишнее ПО.
Stick (стик) - это обычный модем, который соединяется через программу управления (дашборд) или через менеджер сетей Windows (который встроили в Windows 7 и выше)
Модифицированная прошивка - прошивка, модифицированная участником форума. Их может быть множество, поэтому лучше читать пояснения к идентификаторам, которые находятся в посте с этими прошивками.
Идентификаторы модификаций - краткое буквенное обозначение встроенных модифицаций.
Разлочка - разблокировка модема для работы на всех SIM-картах.
Чистка флеши - операция, которая почти полностью очищает внутреннюю память модема, очищая от надуманных повреждений (у этого модема есть такой комплекс, что со временем он начинает думать, что вся его внутренняя память в ошибках). Ссылка на иснтрукцию находится в этом посте, в спойлере "Полезные ссылки -> Прошивка/Восстановление".
Игла, укалывание и т.д. - операция восстановления, при которой замыкается тест-поинт. Данная инструкция также находится в FAQ, о котором уже упоминалось выше.

О модеме

Фото модема

Прикрепленное изображениеПрикрепленное изображениеПрикрепленное изображениеПрикрепленное изображение

Внутренности

E3372h

Прикрепленное изображение
Прикрепленное изображение

Фото от Sou1t

E3372s

Прикрепленное изображение
Прикрепленное изображение

Фото от Sou1t

Характеристики

Поддерживаемые диапазоны:
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

Ссылка на страницу продукта на сайте производителя
http://consumer.huawei…s/tech-specs/e3372.htm

Типы и особенности прошивок модема

Для данного модема существуют 2 принципиально разных типа прошивок - STICK и HILINK. Прошивки взаимозаменяемы, то есть в любой модем можно прошить любую прошивку. Далее описаны их особенности и приведены ссылки на файлы прошивок.

STICK

С этой прошивкой устройство ведет себя как классический USB-модем: имеется командный AT-порт, через который можно установить соединение посредством PPP-протокола. Именно так работают практически все 3G-модемы предыдущих поколений. При этом скорость ограничена - не более 20-30 Mbit на прием. Кроме PPP-режима, имеется режим NDIS. При этом модем эмулирует сетевой интерфейс, через который и передаются данные, а через AT-порт идут только управляющие команды. В этом режиме скорость не ограничена. Основная особенность stick-режима - установление соединения и поддержка работы канала производится средствами ОС компьютера, к которому подключен модем. При этом компьютер получает IP-адрес непосредственно у провайдера сотовой связи через запрос DHCP, а модем работает как сетевой мост, передавая пакеты от компьютера в сотовую сеть и обратно, никак их не изменяя.

Начальная USB-композиция stick-модема - это виртуальный CD-ROM и картридер microSD. Для того, чтобы появились модемные порты, надо сделать переключение композиции. Под windows этим занимается операторский софт, имеющийся на виртуальном CD, или фирменная программа от huawei - Mobile Partner. Под linux переключение делает программа usb-modeswitch. Имеется возможность запретить перелючение композиций. Это делается такой командой:

AT^SETPORT="FF;10,12,16"


При этом модем сразу после включения будет выглядеть как 2 AT-порта и сетевая карта NDIS. CD и microSD будут исключены из конфигурации. Такой режим крайне удобен для использования модема в различных домашних роутерах. Вернуть обратно композицию с переключением можно командой:

AT^SETPORT="A1,A2;10,12,16,A1,A2"


Номера версий stick-прошивки всегда начинаются на 21 - например, 21.285.01.02.143. С таким типом прошивки поставляются модемы от МТС и Мегафона.

В комплекте со Stick-прошивкой в модем прошивается так называемый Dashboard - образ виртуального CD, появляющегося в системе после подключения модема. На этом CD находятся драйвера модема под разные ОС, а также управляющая программа, с помщью которой устанавливают соединение с интернетом, читают SMS, делают USSD-запросы итд. Существует универсальная версия этой программы от фирмы-производителя модема Huawei (Huawei Modem), а также специализированные версии от конкретных оператров связи.

HILINK

С прошивкой HILINK модем работает в режиме роутера, и представляется компьютеру в виде сетевого интерфейса (usb-ethernet-rndis). Компьютер получает с этого интерфейса сетевые настройки через DHCP, и далее ходит через него в интернет, как через обычную проводную локальную сеть. Всю заботу об установлении соединения и поддержании канала модем берет на себя, компьютер даже не замечает, что доступ в интернет осуществляется через сототвую сеть. В этом режиме модем имеет свой собственный локальный IP-адрес (обычно 192.168.8.1), видимый со стороны компьютера как шлюз по умолчанию (default route), а также внешний IP-адрес, получаемый из сотовой сети. Между сетью сотового провайдера и локальной сетью (модем-компьютер) осуществляется маршрутизация с использованием механизма трансляции адресов (NAT). Предусмотрен проброс портов из внешней сети (port forwarding и DMZ).

Настройка модема в этом режиме производится через WEB-интерфейс, имеющийся в модеме, и доступный через его локальный IP-адрес. Также через WEB-интерфейс доступна информация о состоянии модема и сигнале сотовой сети, управление подключением, прием-передача SMS-сообщений и USSD-команд, SIM-меню и многое другое. Это особенно ценно для пользователей Linux, а также для тех, у кого модем подключен не к компьютеру, а к домашнему роутеру. Настройка модема через AT-команды, как в stick-прошивках, в штатном режиме hilink-прошивок не производится, хотя и возможна в специальном отладочном режиме DebugMode.

Начальная USB-композиция HILINK-модема в точности такая же, как и у stick - виртуальный CD-ROM и картридер microSD. Переключение композиций под windows производится небольшой программой mbbservice, запускаемой со встроенного CD. Под linux это делает программа usb-modeswitch. Штатно разработчиками модема не предусмотрен режим без переключения композиций. Тем не менее, путем некоторой модификации прошивки такой режим сделать возможно. При этом теряется встроенный картридер SD, однако появляется возможность использовать модем с любым роутером, поддерживающим сетевые карты usb-rndis.

Номера версий hilink-прошивки всегда начинаются на 22 - например, 22.286.03.00.00. С таким типом прошивки поставляется модем от Билайна.
Прошивки HILINK состоят из двух частей - сама прошивка, и WebUI (вебинтерфейс). Первой прошивается основная прошивка, потом WebUI.

Участниками данного форума была выполнена доработка стандартной прошивки для расширения функциональности и включения изначально заблокированных функций.

Если при прошивке модем спросит пароль, то его можно рассчитать тем же самым калькулятором (ссылка в заголовке шапки). Он там называется flash-код.

Внутри модема работает операционная система, построенная на базе Android 2.3 с ядром linux 3.4.5. Модифицированные прошивки позволяют получить доступ к консоли Linux-части модема через telnet:

telnet 192.168.8.1


А также через отладочную утилиту Андроида - ADB:

adb connect 192.168.8.1
adb shell

Полезная информация по процедуре перепрошивки модема

При первой прошивке операторских модемов прошивальщик запросит Flash code (пароль).
Этот код можно рассчитать из IMEI модема с помощью вот этого калькулятора кодов.
Если в процессе прошивки программа-прошивальщик перестает видеть модем, то нужно доустановить драйверы mbbservice.
Если вы работаете под линуксом, то для прошивки модема можно воспользоваться этим прошивальщиком.
Если вы забыли прошить Dashboard 3.5 перед заливкой HILINK-прошивки, то вы не сможете создавать и редактировать профили подключения к сети в вебинтерфейсе (settings -> profile management). В этом случае зайдите в консоль линукса (через telnet, adb или A-shell), и введите команды:

umount /data
(для E3372S) busybox flash_eraseall /dev/mtd/mtd16
(для E3372H) flash_erase /dev/mtd/mtd17 0 0

А затем перезагрузите модем.
Для пользователей windows разработаны скрипты для автоматического выполнения всех действий по устранению проблем с профилями. См. раздел полезные ссылки.

Обратите внимание! Каждая из прошивок состоит из 2 компонентов: stick-прошивка и Dashboard, hilink-прошивка и WebUI. Не пытайтесь прошить WebUI на stick-прошивку, а Dashboard - на Hilink-прошивку. Вы можете привести модем в полностью неработоспосбное состояние!

Полезные и интересные АТ-команды и настройка конфигурации модема

Нижеприведенные команды относятся, в основном, к stick-модемам. Hilink-модемы настраиваются через веб-интерфейс, и в нормальных условиях порт АТ-команд у них вообще отстутствует в конфигурации. Часть команд требует снятия командной блокировки (datalock) с помощью комакнды at^datalock. Это будет отмечено в описании конкретных команд.

Справочная система по командам модема

Список всех команд, поддерживаемых модемом, можно получить по команде:
at+clac
В этом списке будут перечислены все имена команд, имеющиеся во внутренних таблицах команд модема, кроме скрытых команд. Скрытые команды - это команды, помеченные специальным флагом в таблице команд. Найти их можно только дизассемблированием ядра Linux-части модема. Для интересующихся привожу список этих команд для модема Е3372:

+CEER
^CPULOAD
^MFREELOCKSIZE
^MEMQUERY
^CMST
^CMSTUB
^CVOICE
^DDSETEX
^CMMI
^ADCTEMP
^YJCX
^USSDMODE
^BOOT
^CMM
^RSSI
^LFROMCONNTOIDLE
^CNMR
^CECELLID
^CIMEI
^CGAUTH
^CCIN
^CSND
^DWINS
^SETPID

В общем случае, команды имеют 4 формы записи (далее cmd - это имя команды):
atcmd - команда без параметров
atcmd? - просмотр текущего значеня параметров, управляемых командой
atcmd=Х - установка значений параметров
atcmd=? - запрос справки о формате команды

Каждая из команд поддерживает одну или несколько форм записи. Например:

at+cgdcont
+CME ERROR: Incorrect parameters


Форма без параметров командой не поддерживается

at+cgdcont?
+CGDCONT: 0,"IP","","",0,0,0,0
+CGDCONT: 1,"IP","internet.mts.ru","",0,0,0,0


Форма запроса текущего значения параметров - список профилей интернет-соединения

at+cgdcont=1,"ip","internet.mts.ru"
OK


Присвоение значения параметрам - настройка профиля 1.

at+cgdcont=?
+CGDCONT: (0-31),"IP",,,(0-2),(0-3),(0,1),(0,1)
+CGDCONT: (0-31),"IPV6",,,(0-2),(0-3),(0,1),(0,1)
+CGDCONT: (0-31),"IPV4V6",,,(0-2),(0-3),(0,1),(0,1)
+CGDCONT: (0-31),"PPP",,,(0-2),(0-3),(0,1),(0,1)


Просмотр формата команды +CGDCONT и списка допустимых параметров.

Управление USB-композицией модема

Со стороны компьютера USB-модем выглядит как набор отдельных независимых USB-устройств. Списком устройств, представленных в модеме, можно управлять с помощью специальныой команды ^setport.
Изначально, после подключения к компьютеру, модем обычно выглядит как CD-ROM и картридер microSD. Это - первичная композиция модема. После специальной команды от операционной системы модем переключает свою композицию на вторичную - появляются порты АТ-команд и сетевые интерфейсы. Такое переключение сделано исключительно из-за идеологической кривизны операционных систем класса Windows, и во многих случаях только вредит. Например, при подключении модема к домашним роутерам. Поэтому предусмотрена возможность запретить такое переключение - тогда модем будет сразу включаться со вторичной (рабочей) композицией устройств.
Формат команды ^setport:

at^setport="<список первичной композиции>;<список вторичной композиции>"

Каждый из списков представляет собой перечисленные через запятую коды устройств. Между первичным и вторичным списком ставится точка с запятой. В превичном списке допустимы только коды A1,A2 и FF, во вторичном - все кроме FF. Модем понимает следующие коды:
FF - запретить первичную композицию
10 - AT-порт для установки PPP-соединений (modem)
12 - AT-порт для установки NDIS-соединений (PCUI)
16 - NDIS-сетевая карта
5 - консоль линукса (A-shell)
A - консоль VxWorks (C-shell)
A1 - CD-ROM с дашбордом и драйверами
A2 - microSD картридер

Буквенные коды можно писать и большими, и маленькими буквами. Изменение списка устройств вступает в силу только после перезагрузки модема (командой at^reset или переподключением).
Обратите внимание! Команда ^setport умеет управлять композицией только в stick-прошивках! В hilink композиция может быть изменена только редактированием записи nvram 50091.

Примеры настроек USB-композиций:

at^setport="a1,a2;10,12,16,a1,a2" - стандартная заводская композиция, В первичной композиции видны только CD и картридер, во вторичной - все АТ-порты, сетевая карта, CD, картридер.

at^setport="ff;10,12,16,a2" - композиция без переключения. Очень удобна для использования в домашних роутерах и компьютерах с ОС, отличных от windows. После подключения модем сразу представляется как 2 АТ-порта, сетевая карта и картридер.

at^setport="FF;10,12,16,5,A,A1,A2" - композиция с включенными всеми устройствами, какие только есть в модеме. Удобна для тех, кому надо иметь доступ к консолям модема.

Текущую используемую usb-композицию можно посмотреть командой ^getportmode. Например:

at^setport?
^SETPORT:FF;10,12,16,5,A,A1,A2
OK
at^getportmode
^GETPORTMODE: TYPE: WCDMA: ,modem:1,pcui:2,ncm:3,a_shell:4,c_shell:5,mass:6,mass_two:7,


Здесь перечисляются имена устройств в том же порядке, в котором они прописаны в команде ^setport. Следует учесть, что команда ^getportmode показывает именно текущую композицию. Если вы изменили ее командой ^setport, но еще не перезагрузили модем, то изменения учитываться не будут.

Настрока приоритета сетей и разрешенных диапазонов

Модем позволяет явно указать, с каими типами сетей (GSM/UMTS/LTE) и диапазонами он должен работать. Для этого используется команда at^syscfgex. Формат команды такой:

AT^SYSCFGEX="<net_order>",<band>,<roaming>,2,<lteband>,,

<net order> - список предпочтения типов сети. Допустимые значения:
00 - все типы сетей
01 - только 2G
02 - только 3G
03 - только 4G
99 - оставить значение без изменений
Коды можно комбинировать. Напрример "0302" - предпочтение LTE -> 3G

<band> - код допустимых диапазонов для сетей 2G/3G. Возможные значения:
80 - GSM 1800
300 - GSM 900
80000 - GSM 850
200000 - GSM 1900
400000 - UMTS B1 (2100)
2000000000000 - UMTS B8 (900)
3FFFFFFF - все диапазоны
Каждый из кодов представляет собой шестнадцатеричное (HEX) число. Для задания комбинации диапазонов надо сложить соответствующие коды. Например, для задания диапазонов GSM850,GSM900, GSM1800 надо вычислить 0x80+0x300+0x0x80000=0x80380. Это и будет результирующий код диапазона - 80380.

<roaming> - разрешение работы модема в роуминге:
0 - запретить
1 - разрешить
2 - оставить без изменения

<lte band> - код допустимых диапазонов LTE.
1 - B1 (FDD 2100)
4 - B3 (FDD 1800)
40 - B7 (FDD 2600)
80 - B8 (FDD 900)
80000 - B20 (FDD 800)
800C5 - все диапазоны

Как и для 2g/3g диапазонов, коды представляют собой шестнадцатеричные числа, которые можно складывать для задания комбинаций диапазонов.

Пример команды:

AT^SYSCFGEX="00",3FFFFFFF,1,2,800C5,, - зарегистрироваться во всех возможных сетях и диапазонах
AT^SYSCFGEX="0302",400000,1,2,800C5,, - зарегистрироваться в сети LTE, если LTE недоступен, то в 3G (в 2G сетях модем регистрироваться не будет). Для LTE доступны все диапазоны, для 3G - только диапазон 2100.

Поиск базовых станций сотовой связи

Данный модем обладает уникальным свойством - он умеет делать поиск всех окружающих базовых станций (БС). Причем не только БС оператора вставленной в него симкарты, а вообще все БС всех операторов, сигнал от которых достигает антенны модема. Для каждой найденной БС выводится ее CID и уровень принимаемого от нее сигнала. Это позволяет выбрать оператора с наивысшим уровнем сигнала, а также выбрать конкретную БС для наведения на нее внешней антенны. Единственный недостаток данного модема - он умеет искать только БС 2G и 3G. LTE-соты искать он не умееет.
Поиск производится с посощью команды at^netscan. Перед поиском требуется убедиться, что:
- интернет-канал отключен
- модем не видит ни одной LTE-соты.
Если в округе имеется сигнал LTE, то следует перевести модем в режим 2G3G командой AT^SYSCFGEX="0201",3FFFFFFF,1,2,800C5,, или в настройках веб-интерфейса.
Также обратите внимание, что эту команду можно ввдить только через порт управления (PCUI). Если ее ввести через порт, предназначенный для установки РРР-соединения (modem), то команда будет выдавать пустой ответ (просто ОК и все).
Формат команды:

AT^NETSCAN=num,level,mode
num - число находимых БС, от 1 до 20. Если будет найдено больше num БС, то станции с самым слабым сигналом будут исключены из списка
level - минимальный уровень сигнала БС, включаемых в список. Задается в дБ, от -110 (самый низкий уровень) до -47 (самый высокий уровень). Станции с уровнем сигнала меньше level в список включаться не будут.
mode - тип БС. 0 -поиск 2G-станций, 1 - поиск 3G-станций.
Пример команды:

at^netscan=20,-108,1
^NETSCAN: 10638,,,1e7e,250,02,0,-78,8b77,400000
^NETSCAN: 10687,,,1e7e,250,02,0,-79,d5c8,400000
^NETSCAN: 10662,,,1e7e,250,02,0,-82,8ade,400000
^NETSCAN: 10587,,,4cf8,250,20,0,-105,d4fc,400000
^NETSCAN: 10563,,,4cf8,250,20,0,-106,d4f9,400000


В этом примере заказывается поиск 3G БС с уровнем сигнала не ниже -108 дБ. Результат выдается в виде списка, отсортированного по уровню сигнала. Самая верхняя БС - самая мощная, нижняя - самая слабая. Формат элемента списка:
^NETSCAN: 10638,,,1e7e,250,02,0,-78,8b77,400000

1e7e - LAC станции
250 - MCC (Россия)
02 - MNC (В данном случае - МТС).
0 - хотел бы я сам знать что это, из дизассемблированного кода я так и не понял смысла этого поля.
-78 - уровень сигнала данной БС
8b77 - CID станции
400000 - диапазнон, в котором принимается сигнал БС (как в команде ^syscfgex).

По результатам данного примера можно сделать вывод, что самый сильный сигнал в данной местности - у МТС, а антенну надо направлять на БС с CID=8b77 LAC=1e7e. Координату БС можно посмотреть на сайте xinit.ru.

Снятие блокировки с расширенного набора команд

Некоторые команды, имеющиеся в списке команд, изначально заблокированы. То есть если даже ввести команду в правильном формате, модем ответит ERROR. Видимо, это сделано для защиты от дураков - в некоторых случаях бездумное использование расширенного набора команд может привести к полной неработоспособности модема. Чтобы получить доступ к этому набору команд, надо его разблокировать. Делается это командой:
at^datalock="<пароль>"
Пароль - это тот же самый nlock-код, вычисленный по алгоритму 201 от IMEI модема, который используется для снятия simlock. Пример команды:
at^datalock="13325014"
Если пароль указан правильно, модем ответит ОК и снимет блокировку datalock, иначе ответит ERROR.

Работа с NVRAM модема

В модеме имеется хранилище различной конфигурационной информации - NVRAM. Оно организовано в виде набора записей переменной длины. Каждая запись имеет номер - от 0 до 65535, но не все номера записей физически присутствуют в модеме.
Чтобы узнать длину конкретной записи, используется команда:

at^nvrdlen=<item>

<item> - номер записи. В ответ модем выдает ее длину:

at^nvrdlen=8268
^NVRDLEN: 12


Если вместо длины модем отвечает ERROR, значит записи с таким номером вообще нет в модеме.
Посмотреть содержимое конкретной записи можно командой:

at^nvrdex=<item>,<offset>,<len>

<offset> - смещение от начала записи до интересующего нас фрагмента (0 - с начала)
<len> - длина выводимого фрагмента, должна быть не больше полной длины записи минус смещение.
Пример:

at^nvrdex=8268,0,12
^NVRD: 8268,0,12,01 00 00 00 01 00 00 00 0A 00 00 00


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

Для изменения содержимого nvram используется команда:

at^nvwrex=<item>,<offset>,<len>,<b0> <b1>....<bn>

Значение первых трех параметров - такие же, как и в команде чтения. b0...bn - записываемые в nvram байты. Их должно быть ровно len штук, и перечисляются они через пробел. Например:

at^nvwrex=8268,0,12,1,00 00 00 02 00 00 00 0A 00 00 00

Кроме вышеперечисленных, имеются 2 упрощенные команды для работы с nvram - ^nvrd и ^nvwr. В отличие от вышерассмотренных, эти команды требуют предаврительного снятия блокировки datalock.

at^nvrd=<item> - выводит полный дамп указанной записи
at^nvwr=<item>,<b0>,...<bn> - сохраняет указанные байты от начала записи item.

Смена IMEI модема

Поменять IMEI можно командой:

at^cimei="новый imei"


Команда требует предварительного снятия блокировки datalock. Смена IMEI необходима для работы в сети yota - модему надо установить IMEIмодему imei от устройства того типа (смартфон, планшет), для которого приобреталась симкарта.
Обратите внимание, что для корректной работы команды в него должна быть вставлена симкарта. Абсолютно любая. Кроме того, IMEI должен быть корректным (с правильной последней контрольной цифрой). Неправильные IMEI модем не примет с сообщением об ошибке. Проверить корректность IMEI можно калькулятором

Смена идентификатора модема

E3372h c мегафоновской прошивкой не работает с Omni II и другими новыми роутерами. Дело в том, что c этой прошивкой модель модема определяется как "MegaFon M150-2", а не "E3372".
Эта строка хранится в ячейке NVRAM 53525, и заменить её на "E3372" можно следующими AT-командами:

AT^NVWREX=53525,0,84,0 1 1 0 0 0 0 0 45 33 33 37 32 48 2D 31 35 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 4C 32 45 33 33 37 32 48 4D 0 0
AT^NVWREX=53525,84,84,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50 37 31 31 73 2D 53 54 49 43 4B 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 33 33 37 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


После этого модем станет без проблем идентифицироваться кинетиками и работать.

В целом, в ZyXEL модемы определяются по vid/pid (в конфиге), на примере Е3272 блок выглядит так:

interface CdcEthernet0
description "USB MODEM"
usb device-id 12d1 14db


а для Е3372s - так:

interface CdcEthernet0
description "USB MODEM"
usb device-id 12d1 14dc


Соответственно, можно вписать нужные значения вручную для любого модема: библиотеки есть практически для всех, за очень редким исключением( например, модемы sierra)
Блоки приведены для модемов в режиме HiLink (с подъёмом CdcEthernet0).

Доступ к командным интерфейсам модема

Модем построен на чипе 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:

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-порт по умолчанию недоступен. Чтобы открыть доступ к этому порту, нужно прошить модифицированный вебинтерфейс, а затем зайти браузером вот по такому адресу:

http://192.168.8.1/html/switchDebugMode.html


Это переключит модем в отладочный режим - теперь, кроме сетевого интерфейса, также становятся доступны 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


Порт консоли Linux - это первичная системная консоль (/dev/console), на которую выдаются все системные сообщения ядра. Шеллом там по умолчанию устанавливается toolbox андроида, крайне неудобный в работе. Чтобы облегчить себе жизнь, следует ввести команду:

busybox sh


после чего шеллом станет busybox и появится нормальный редактор командной строки.
VxWorks также имеет в своем составе 2 шелла - C-shell (установленный по умолчанию) и CMD (устанавливаемый командой cmd). Какой из них удобнее - дело вкуса. В обоих шеллах имеется команда help, а более подробную информацию о работе с командной строкой VxWorks можно получить вот из этого документа - http://read.pudn.com/d…ls_users_guide_6.2.pdf
Доступ к консолям ОС модема открывает широчайшие перспективы по глубокому исследованию кода модема и скрытых его возможностях. Для любителей ковыряться в коде это просто золотое дно. Всех других хочу предупредить - бездумный ввод команд в консолях может привести к негативным последствиям - от зависания модема до разрушения важных структур данных на флеше и полной потери работоспособности. Будьте осторожны!

Драйвера и программы

Программы

Калькуляторы

Калькулятор кодов, Бинарник под macOS
Калькулятор для E3372h
Калькулятор для E3372h, показывающий процесс, не зависающий, умеющий сам забирать с модема нужные данные и разблокировать
Переведенный (русский, английский и урду) калькулятор для E3372h с кастомным интерфейсом, показывающий процесс, не зависающий, умеющий сам забирать с модема нужные данные, находить COM-порт, сохранять информацию в файл и разблокировать

Balong USB Downloader от Decker - Утилита для аварийной USB-загрузки модемов на чипсете Balong V7R2 и V7R11
Программа-переключалка от rust3028

Разблокировка модема

E3372h

Начнем с того, что у этого модема алгоритм разблокировки v4, а значит - код генерируется не по IMEI.

Проще всего модем с древней прошивкой (2x.180) разблокировать AT-командой:

at^nvwrex=8268,0,12,1,0,0,0,2,0,0,0,a,0,0,0


Также можно воспользоваться спец. калькуляторами:
Калькулятор для E3372h
Калькулятор для E3372h, показывающий процесс, не зависающий, умеющий сам забирать с модема нужные данные и разблокировать
Переведенный (русский, английский и урду) калькулятор для E3372h с кастомным интерфейсом, показывающий процесс, не зависающий, умеющий сам забирать с модема нужные данные, находить COM-порт, сохранять информацию в файл и разблокировать

Ну или сменить код на восемь нулей: Смена ОЕМ и SIMLOCK кодов модема Е3372Н

Далее, с прошивками 2x.200.07 (кроме 21.200.07.00.209) уже все сложней.
AT-команды заблокированы, а значит код ни сменишь, ни посчитаешь, да и в NVRAM флаг блокировки не снимешь. Тут два варианта:

  1. Прошиться на модифицированную прошивку, либо более старую
  2. Посчитать код через метод иголки

Дальше - еще хуже! Начиная с прошивок 2x.200.15 просто так не прошиться, нужно переводить модем в Factory Mode AT-командой:

AT^SFM=1


А начиная с 2x.317 - и эту дыру закрыли! Начиная с 2x.317 есть три варианта:
  • Методом иголки перепрошиться на модифицированую или старую прошивку
  • Методом иголки рассчитать код
  • Из Huawei был слив ключей, в инструкции по прошивке в HiLink можно найти специальные прошивки, для прошивки на "игольчатые" прошивки. Если для вашей нет, пишем в личку rust3028.
К счастью, с МТСовой 22.323 можно откатиться на МТСовую 21.315, а Билайн хоть и сделал новую прошу без этой дыры, хоть и не 317, можно тоже откатиться на старую Билайн.

E3372s

Как обычно, модемы от сотовых операторов поставляются заблокированными - они могут работать только с сим-картами данного оператора. Список plmn-кодов, разрешенных к использованию, можно посмотреть командой at^simlock?.
Нас, разумеется, такая ситуация не устраивает - мы хотим, купив модем, использовать его с любой симкартой. Для этого производитель заложил в модем возможность разблокировки. Это делается путем ввода кода разблокировки (nlock-кода), вычисляемого по специальному хитрому алгоритму из IMEI модема. Калькулятор для вычисления кодов можно скачать здесь (имеются версии под windows и linux). Для разблокировки следует выполнить следующие действия;
- Вычислить вышеприведенным калькулятором код разблокировки. Из всех вычисляемых им кодов используется код v201.
- Вставить в модем чужую симкарту (симкарту другого сотового провайдера, не того, кто продал вам модем).
- Подключить модем к компьютеру.
Далее управляющая программа (для stick-модемов) или веб-интерфейс (для hilink-модемов) запросит код разблокировки, который и надо ввести. Все - модем разблокирован и будет работать с любой симкартой.
Кроме ввода кода через программы и вебинтерфейс, можно также ввести его через AT-команду. Это особенно актуально для stick-модемов под linux. Команда выглядит так:
at^cardlock="код разблокировки"
Количество попыток ввода кода ограничено 10 попытками. Если 10 раз был введен неправильный код, модем блокирует дальнейшие попытки - больше команда at^cardlock его не разблокирует, даже если ввести ее с правильным кодом. Если вы все же умудрились исчерпать все попытки ввода, то ничего страшного - их легко восстановить. Это делается такими командами:
at^datalock="код разблокировки"
at^maxlcktms=10
10 - это новое число попыток (можно вводить любое число от 1 до 255). Затем можно ввести команду at^cardlock с правильным кодом и разблокировать модем. Этот способ, возможно, работает и на других 4G модемах от huawei.
Флаг блокировки (simlock) хранится в NVRAM модема, в записи 8268. Кроме того, в этой записи лежит флаг, позволяющий полностью запретить разблокировку кодом. Если ваш сотовый оператор оказался настолько жлобом, что установил этот флаг, то все команды at^cardlock будут отвергаться модемом.
Но, как известно, против лома нет приема. Существует универсальная возможность разблокировки модема прямой записью в nvram, выполнив АТ команду в программе Терминал, присоединившись к модему через порт PC UI Interface или ДС Анлокер:

at^nvwrex=8268,0,12,1,0,0,0,2,0,0,0,a,0,0,0


Команду надо вводить аккуратно, с точностью до запятой, чтобы не повредить случайно другие записи nvram. Этот способ разблокирует модем ВСЕГДА - с любой, в том числе и родной симкартой, с исчерпанными попытками ввода, с заблокированной командой ^cardlock... Вообщем, я не представляю себе условия, при которой команда бы не сработала.

Прошивки

Рекомендуемая версия прошивки для E3372h: E3372h-153_Update_22.323.01.00.143_M_AT_05.10
Рекомендуемая версия прошивки для E3372s: E3372s-153_Update_22.300.09.00.00_M_AT_04.10
Рекомендуемая версия веб-интерфейса: На выбор, на вкус и цвет - друзей нет
ВНИМАНИЕ: Здесь представлены оригнальные, модифицированные и переходные прошивки, а также оригинальные и модифицированные веб-интерфейсы.
Отличие оригинальных прошивок от модифицированных в том, что у них может быть заблокированны большинство AT-команд, а также возможность перепрошивки. Будьте бдительны и шейте оригинальные только тогда, когда вы знаете, что делаете!
Отличие оригинальных интерфейсов от модифицированных в функционале, у модифицированных его больше. Прежде чем просить добавить какую-то функцию, пожалуйста, внимательно исследуйте все интерфейсы, скорее всего это уже реализованно в одном из них.
Кроме того, есть так называемые переходные прошивки, они относятся к стику, но для повседневной работы не предназначены и интернет на них не работает.

E3372h

HiLink

Оригинальные

Прошивка 22.315.01.00.161 + веб-интерфейс 17.100.13.01.161 (Билайн) для E3370h
Прошивка 22.323.01.00.143 + веб-интерфейс 17.100.17.00.143 (МТС) для 829F

E3372s

Веб-интерфейсы

Модифицированные

Оригинальные

Веб-интерфейс 17.100.11.03.161 (Билайн)
Веб-интерфейс 17.100.13.01.161 (Билайн) (в посте прошивка + морда, проша только для E3372h, морда ставится и на E3372s, и на E3372h)
Веб-интерфейс 17.100.17.00.143 (МТС) для 829F (в посте прошивка + морда, проша только для E3372h, морда ставится и на E3372s, и на E3372h)
Веб-интерфейс 17.100.05.06.965 (в посте прошивка + морда, проша только для E3372s, морда ставится и на E3372s, и на E3372h)
Веб-интерфейс 17.100.14.02.577 (Beeline KZ)
Веб-интерфейс 17.100.14.02.778 (Russia Open Market)

Дашборды

Набор дашбордов
Дашборд Mobile Partner
Дашборд 23.015.05.11.143 (МТС) для 827F/829F (WIN10+MAC10.11) (в посте прошивка + дашборд, проша только для E3372h, дашборд ставится и на E3372s, и на E3372h)

Полезные ссылки

Дизассемблирование и изучение VxWorks для любителей покопаться в прошивке - Часть 1, Часть 2
Определяем дату изготовления по серийнику
Устанавливаем радиатор на 4G-модем
Подключаем внешнее питание - для тех, у кого модем работает нестабильно, переопределяется и т. д.
Zabbix и модем в HiLink

Результаты опросов

Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

Еще раз для особо одаренных - Yota, Безлимитище, #МожноВсё, Всё за..., МегаБезлимит, Беспредельно Чёрный тут не обсуждаются, воздержитесь от вопросов на их тему (включая экраны жадности и скачивание торрентов) - идем в профильные темы!

Дружба с роутерами тут тоже не обсуждается, воздержитесь от вопросов, в которых как-либо фигурирует роутер! Если в вопросе фигурирует роутер - идем в тему роутера!

ВНИМАНИЕ! При обновлении до Windows 10 Version 1709, драйвера на сетевуху HiLink теряют работоспособность. Данная проблема запрщена к обсуждению в данной теме! Пожалуйста, дождитесь обновления драйверов от Huawei или патча от Microsoft, любое обсуждение данной темы карается удалением постов.

Сообщение отредактировал ilya-fedin - 02.11.17, 15:43

a2-st

Сообщение #2

22.06.14, 13:42

Местный


[offline]

Группа: Друзья 4PDA
Сообщений: 140
Регистрация: 20.09.08

Репутация: -  5  +


Первый пост темы.

Сообщение отредактировал ilya-fedin - 16.09.17, 06:00

intruder04

Сообщение #3

02.09.14, 12:35

Посетитель


[offline]

Группа: Активные пользователи
Сообщений: 20
Регистрация: 09.03.10

Репутация: -  1  +


TonyStarkTwo @ 31.08.2014, 21:31

С трудом пишу эти строки... значок USB засветился! все заработало, а я чуть не прослезился скупой слезой в клаву ноута.


У вас со временем скорость не падает? У меня (3g сеть) минут через 30 начинаются дикие тормоза и решается это только перезапуском роутера. На kennetic 4g первой версии - тоже самое абсолютно.
Использую планшет ipad air с симкой мтс как модем - все отлично. Поэтому я считаю что проблема в роутере. Втыкаю модем в ПК - тоже не отключается.
Сбрасывать роутер пробовал, бета прошивку ставил.
Меня это очень печалит. Модем переведен в режим "только 3ж".

M

Удалена ссылка на сторонний ресурс.

Сообщение отредактировал ctich21 - 02.09.14, 15:14

Причина редактирования: удалена ссылка

nurik1kg

Сообщение #4

02.09.14, 21:29

Гость


[offline]

Группа: Пользователи
Сообщений: 7
Регистрация: 02.09.14

Репутация: -  0  +


Kak razblokiovat posmotrev kody. {java script}

getAjaxData('api/pin/simlock', function($xml) {
var ret = xml2object($xml);
if (ret.type == 'response') {
if (SIM_STATUS_LOCKED == ret.response.SimLockEnable) {
$('#label_SimlockTimes').text(ret.response.SimLockRemainTimes);
if (parseInt(ret.response.SimLockRemainTimes, 10) < 1) {
$('#input_simunlock').attr('disabled', 'disabled');
}else {
$('#input_simunlock').removeAttr('disabled');
$('#input_simunlock').val('');
$('#input_simunlock').focus();
}
}else {
gotoPageWithoutHistory(HOME_PAGE_URL + window.location.search);
}
}
}

M

4.11.1. Замена русских букв похожими из других языков и наоборот;
4.11.3. Написание сообщений прописными и строчными буквами вперемешку («вОТ тАкИм оБрАзОм») или буквами разных алфавитов («slеdующiм оbраzом»);

Сообщение отредактировал ctich21 - 03.09.14, 11:13

rust3028

Сообщение #5

30.09.14, 14:16

Гуру


[offline]

Группа: Друзья 4PDA
Сообщений: 4542
Регистрация: 06.01.14

Репутация: -  1508  +


Модифицированный веб-интерфейс для E3372s на основе 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.


Скриншоты

Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


На основе прошивки:

Update_WEBUI_16.100.05.00.03_Hilink_V7R2_9x25_CPIO.exe SHA1 db0e46f992a37b977d549af3ad369c99fdb3f763
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.

После прошивки веб-интерфейса следует делать сброс настроек (Настройки->Система->Настр. по умолч.).

Прикрепленный файлUpdate_WEBUI_16.100.05.00.03_V7R2_CPIO_Mod1.5.rar ( 14,74 МБ )

Обновляемый пост

Сообщение отредактировал rust3028 - 08.07.17, 19:20

rust3028

Сообщение #6

21.10.14, 19:31

Гуру


[offline]

Группа: Друзья 4PDA
Сообщений: 4542
Регистрация: 06.01.14

Репутация: -  1508  +


Предлагаю своё решение для ситуации, когда нужно перевести HiLink-модем в режим с портами, но http://192.168.8.1/html/switchProjectMode.html (switchDebugMode.html) не работает.

Для этих портов необходим драйвер FcSerial.

Прикрепленный файлsw_mode_E3372_new.rar ( 240,13 КБ )

Сообщение отредактировал rust3028 - 11.08.17, 15:26

forth32

Сообщение #7

15.11.14, 16:11

Бывалый


[offline]

Группа: Друзья 4PDA
Сообщений: 694
Регистрация: 05.12.06
TurboPad 910

Репутация: -  629  +


После некоторого периода тестирования выпускаю новый релиз калькулятора 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 за неоценимую помощь в подготовке и тестировании этого релиза.

Прикрепленные файлы


Прикрепленный файлhuaweicalc_src.tar.gz ( 20,59 КБ )
Прикрепленный файлhuaweicalc_lnx32.gz ( 28,68 КБ )
Прикрепленный файлhuaweicalc_lnx64.gz ( 29,74 КБ )
Прикрепленный файлhuaweicalc_win32.rar ( 3,37 МБ )

Сообщение отредактировал forth32 - 07.03.15, 12:35

Причина редактирования: Обновление версий калькулятора

forth32

Сообщение #8

30.11.14, 05:29

Бывалый


[offline]

Группа: Друзья 4PDA
Сообщений: 694
Регистрация: 05.12.06
TurboPad 910

Репутация: -  629  +


ilya-fedin @ 30.11.2014, 02:21

А можно в Debug Mode поасть через usb_modeswitch?

нет, нельзя. Мы же с тобой уже недавно обсуждали. Единственный способ попасть в debug снаружи - через запрос POST.
rust3028 написал скрипты для этого - Huawei E3372 (МТС 827F, Мегафон М150-2) - Обсуждение (Пост #35133017) , а ты их, насколько я помню, адаптировал под лиункс.

Еще можно сделать переключение внутри самого модема. Для этого надо написать простенькую программку:

#include
#include
#include
#include

void main() {
int nfd=open("/dev/ndisapp",2);
ioctl(nfd,1,0);
}


Собрать ее с помощью android ndk и запускать внутри модема. Именно таким способом производит переключение сам вебсервер.

Но тут есть подводный камень. В момент переключения SD-карта исчезает из USB-композиции и потом появляется заново. Если openwrt уже успел ее примонтировать - получишь ошибку. Поэтому использовать эту карту как extroot в openwrt сходу не получается.

Сейчас я как раз разбираю, как работает с картой AT-процессор - команду at^sd. Возможно, она поможет в этой ситуации.

Сообщение отредактировал forth32 - 30.11.14, 05:30

rust3028

Сообщение #9

01.12.14, 16:00

Гуру


[offline]

Группа: Друзья 4PDA
Сообщений: 4542
Регистрация: 06.01.14

Репутация: -  1508  +


forth32 @ 01.12.2014, 15:55
Кстати, у rust3028 уже имеется готовая программа переключения с произвольной задержкой, готовая для включения в autostart.

rust3028, может быть выложишь ее сюда, чтобы людям не мучаться с освоением ndk?


Прикрепленный файлsw-dbg-mode.rar ( 4,42 КБ )

issa006

Сообщение #10

02.12.14, 23:20

Гость


[offline]

Группа: Пользователи
Сообщений: 8
Регистрация: 02.12.14

Репутация: -  0  +


УСТРАИВАЛА БЫ ЕСЛИ БЫ ОН РАБОТАЛ.. КОРОЧЕ ПОСЛЕ УСТАНОВКИ МОДЕМА ОН НЕ ОТВЕЧАЕТ ..В РОУТОРЕ СТАНОВИТСЯ ОПРЕДЕЛЕН..А ПОТОМ СРАЗУ ВЫКЛЮЧАЕТСЯ И В МОДЕМ НЕ ВАРИАНТ ЗАЙТИ..ЧТО МНЕ ДЕЛАТЬ ?

M

4.11. В названии темы и сообщениях запрещено: 4.11.2. Написание тем и сообщений ЗАГЛАВНЫМИ БУКВАМИ;

Сообщение отредактировал ctich - 03.12.14, 00:24

NikIlya22

Сообщение #11

20.12.14, 17:48

Гость


[offline]

Группа: Пользователи
Сообщений: 5
Регистрация: 27.02.14

Репутация: -  0  +


ilya-fedin,
Спасибо за помощь!Попробую...!

M

5.1. Если участник форума дал вам хороший совет, который помог вам в решении вашей проблемы не следует помещать сообщение с текстом «Спасибо! Ты супер!!!». На нашем форуме благодарность принято выражать путем поднятия репутации конкретного участника.

Сообщение отредактировал ctich - 21.12.14, 22:24

ilya-fedin

Сообщение #12

30.12.14, 11:02

Малиновый сгусток котелков


[offline]

Куратор темы
Группа: Друзья 4PDA
Сообщений: 17423
Регистрация: 29.08.13
LG G3

Репутация: -  1721  +


Автоматическое переключение модема в Debug Mode и Project Mode
Подходит для обоих модемов, на любой прошивке HiLink.

Прикрепленные файлы


Прикрепленный файлsw-mode.zip ( 306,85 КБ )

Сообщение отредактировал ilya-fedin - 29.04.17, 11:01

--------------------

Количество глюков в прошивке обратно пропорционально количеству опыта юзера.
--------------------
Практикую изгнание дурных бесов по паспорту. Писать туда, не знаю куда. Не забыть приложить скан беса. Также желательно иметь при себе рентген трёх бесов.

forth32

Сообщение #13

04.01.15, 16:45

Бывалый


[offline]

Группа: Друзья 4PDA
Сообщений: 694
Регистрация: 05.12.06
TurboPad 910

Репутация: -  629  +


В качестве новогоднего подарка, пока есть свободное время, хочу опубликовать небольшой цикл из 2 статей, посвященный методам исследования одной из операционных систем модема - VxWorks. Меня давно об этом здесь просили, но как-то времени не было собраться. Информация предназначена для любителей поковыряться в потрохах модема, разобрать скрытые его возможности, понять, как он работает. Для тех кому модем нужен "воткнуть и забыть", эта информация бесполезна - просто проходите мимо, все равно ничего не поймете.

Итак, часть 1 - загрузка и разбор образа VxWorks в дизассемблере IDA.

VxWorks, как и все другие компоненты модема, хранится в одном из разделов флеш-памяти модема - разделе mtd11. Для начала нам надо получить образ этого раздела. Его можно получить обычной командой dd. Заходим в консоль линукса (телнетом, через adb, или через a-shell - все это описано в шапке). И вводим такую команду:

dd if=/dev/block/mtdblock11 of=/online/mtd11.bin

Теперь выходим из шелла, и забираем полученный образ к себе на компьютер через 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, к которому добавлен заголовок раздела. Следующим этапом нам надо распаковать этот образ, отрезав предварительно заголовок. Это можно сделать так:

dd if=mtd11.bin bs=128 skip=1| zcat >balong_modem.bin


В результате получаем файл balong_modem.bin, который и является фирменный образом VxWorks от этого модема. Осталось узнать, по какому адресу в памяти модема загружается этот образ. Тут нам повезло - необходимая информация содержится в логе ядра dmesg после загрузки модема:

[000003143ms] his_modem_load_vxworks:164: >>loading:vxworks.....
[000004117ms] his_modem_load_vxworks:222: >>start to decompress vxworks image ...
[000005546ms] his_modem_load_vxworks:247: >>load vxworks ok, entey 0x50d10000, length 0x86ed9e


Отсюда следует, что адрес загрузки VxWorks - 0x50d10000. Теперь запускаем дизассемблер IDA, выбираем для дизассемблирования файл balong_modem.bin, тип процессора - ARM Little endian (ARM), адрес загрузки - 0x50d10000. Дизассемлер загружает файл, но код дизассемблировать не торопится - он не знает адресов точек входа в подпрограммы. Мы их, вообщем-то, тоже не знаем. Нам нужна таблица символов операционной системы. К счастью, такая таблица встроена в ОС и ее можно посмотреть командой lkup. Порядок действий может быть таким:
- входим в шелл VxWorks (C-shell), Как это сделать - описано в шапке.
- Включаем в терминальной программе режим сохранения лога сеанса в файл.
- вводим команду:

lkup""


- Долго жмем ентер, пока таблица не закончится
- Закрываем лог в терминальной программе.

Полученный лог-файл содержит в себе таблицу символов. Каждая строка этой таблицы состоит из 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.

Прикрепленные файлы


Прикрепленный файлvxsym.c.gz ( 470 байт )
Прикрепленный файлDDI0406C_C_arm_architecture_reference_manual.pdf ( 21,5 МБ )

forth32

Сообщение #14

04.01.15, 19:12

Бывалый


[offline]

Группа: Друзья 4PDA
Сообщений: 694
Регистрация: 05.12.06
TurboPad 910

Репутация: -  629  +


Часть 2 - пример исследования кода в отладчике VxWorks. Первая часть статьи здесь.

Исследовать код чисто умозрительно, разбирая последовательность инструкций в дизассемблере - конечно, можно, но достаточно тяжело. Регулярно возникает вопрос - а что в данный момент лежит в этом регистре? Перейдет ли управление по этой условной инструкции или нет? И так далее. Всегда хочется посмотреть регистры и память на живом модеме в интересующих нас точках. Фирма huawei сделала нам необычайно щедрый подарок - встроенный в VxWorks шелл с отладчиком. В качестве примера разберем такую задачу. Одной из подсистем VxWorks является процедура расчета кода разблокировки (знаменитый алгоритм v201). Когда пользователь вводит команду at^cardlock, модем рассчитывает nlock-код от своего IMEI, и сравнивает с введенным в команде. Если совпали - модем разблокируется. Не совпали - выводится сообщение ERROR. Анализом и обработкой AT-команд занимается Linux-часть модема. После приема команды через специальную подсистему обмена сообщениями (ICC) в VxWorks передается специальный запрос. По этому запросу VxWorks вычисляет и проверяет nlock-код, и возвращает в Linux через ICC ответ - совпало/не совпало. Мы попробуем заставить модем вычислить и показать нам 201-код от своего IMEI.
Команда ^cardlock - одноразовая. После того, как модем разблокировался, команда работать перестает. Но, к счастью, nlock-код требуется еще одной команде - at^datalock. Она используется для снятия блокировки с ряда служебных команд (типа ^nvrd/nvwr), и ее можно вводить сколько угодно раз. Вот с этой командой мы и будем работать.
Итак, у нас уже есть готовая IDA-база с образом VxWorks. Быстрый поиск по таблице символов дает нам процедуру с именем DRVAGENT_RcvDrvAgentDeviceDatalockSet. Именно эта процедура вызывается после приема сообщения от команды at^datalock. Но так ли это? Давайте проверим. Заходим в шелл VxWorks (C-shell) и вводим такую команду:

[C]->b DRVAGENT_RcvDrvAgentDeviceDatalockSet
value = 0 = 0x0
[C]->


Система ответила кодом 0 - команда принята. В результате этой команды мы установили отладочную точку (breakpoint) на адрес интересующей нас процедуры. Теперь открываем терминал на порт AT-команд модема, и вводим такую команду:

at^datalock="11111111"


Код из всех единиц я выбрал произвольно - здесь может быть любое 8-разрядное число. Заметьте, что после нажатия enter модем не ответит привычными ОК или ERROR. Причина этого в том, что в VxWorks сработал breakpoint, и linux-часть модема еще не получила ответа. Переключаемся в консоль VxWorks и видим следующее:

Break at 0x513f6bdc: DRVAGENT_RcvDrvAgentDeviceDatalockSet Task: 0x53e964b8 (I0_TAF_FID)
[C]->


Наша точка останова сработала. Теперь мы уверены, что при вводе команды datalock управление приходит именно на процедуру DRVAGENT_RcvDrvAgentDeviceDatalockSet. Далее следует ввести команду "с" - тогда VxWorks продолжит свою работу, а в АТ-терминале появится долгожданный ответ ERROR.
Теперь займемся анализм кода в IDA. Сразу бросается в глаза вызов процедуры с громким названием MMA_VerifyOperatorLockPwd. Открываем ее, разбираем.

RAM:51463648 ; R0 - код введенный пользователем
RAM:51463648 ; Attributes: bp-based frame
RAM:51463648
RAM:51463648 MMA_VerifyOperatorLockPwd ; CODE XREF: OM_Authorize+28p
RAM:51463648 ; DRVAGENT_RcvDrvAgentDeviceDatalockSet+48p ...
RAM:51463648
RAM:51463648 var_28 = -0x28
RAM:51463648 c_imei = -0x24
RAM:51463648 var_15 = -0x15
RAM:51463648
RAM:51463648 MOV R12, SP
RAM:5146364C STMFD SP!, {R4,R5,R11,R12,LR,PC}
RAM:51463650 SUB R11, R12, #4
RAM:51463654 SUB R4, R11, #-c_imei
RAM:51463658 SUB SP, SP, #0x14
RAM:5146365C MOV R5, R0 ; r0 - PWD
RAM:51463660 MOV R2, #15 ; len
RAM:51463664 LDR R1, =g_aucMmaImei ; from
RAM:51463668 MOV R3, #0x111
RAM:5146366C MOV R0, R4 ; to
RAM:51463670 MOV R12, #0x3450
RAM:51463674 STR R12, [SP,#0x28+var_28]
RAM:51463678 BL V_MemCpy
RAM:5146367C MOV R0, R5 ; PWD - введенный пользователем пароль
RAM:51463680 MOV R1, R4 ; imeii
RAM:51463684 MOV R3, #0
RAM:51463688 STRB R3, [R11,#var_15]
RAM:5146368C BL VerifySL
RAM:51463690 RSBS R0, R0, #1
RAM:51463694 MOVCC R0, #0
RAM:5146369C LDMFD SP, {R4,R5,R11,SP,PC}


Как видно, все, что она делает, это берет IMEI модема из ячейки g_aucMmaImei, копирует его во временную переменную, и вызывает процедуру VerifySL. Смотрим эту процедуру.
Из анализа кода следует, что на ее вход передаются 2 параметра. В R0 лежит адрес строки, введенной нами в команде ^datalock. В R1 лежит адрес области памяти, хранящей IMEI модема. Давайте это проверим. Удаляем предыдущую точку останова, и ставим новую - на процедуре VerifySL.

[C]->bd
value = 0 = 0x0
[C]->b VerifySL
value = 0 = 0x0


Снова идем в АТ-терминал и вводим команду at^datalock. После срабатывания точки останова сморим содержимое регистров командой ti:
Break at 0x50d818c0: VerifySL Task: 0x53e964b8 (I0_TAF_FID)

[C]->ti

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:

[C]->d 0x5372759c,10,1
NOTE: memory values are displayed in hexadecimal.
0x53727590: 31 31 31 31 1111
0x537275a0: 31 31 31 31 00 7f 1111............
value = 0 = 0x0
[C]->d 0x5414ef3c,20,1
NOTE: memory values are displayed in hexadecimal.
0x5414ef30: 38 36 34 33 8643
0x5414ef40: 34 36 30 32 36 39 39 38 33 31 35 00 80 75 72 53 46026998315..urS


Как видим, в первой области памяти лежат все 1 - то, что мы вводили в команде ^datalock. Во второй - IMEI нашего модема.
Анализируя процедуру VerifySL дальше, мы видим, что имеется 6 различных веток вычисленя кода, в зависимости от IMEI. Адреса процедур лежат в таблице unlock_func_table_v201:

ROM:51CED72C unlock_func_table_v201 DCD GetEncryptResult_201_1
RAM:51CED72C ; DATA XREF: VerifySL:loc_50D81988o
RAM:51CED72C ; ROM:off_50D819D8o
RAM:51CED730 DCD GetEncryptResult_201_2
RAM:51CED734 DCD GetEncryptResult_201_3
RAM:51CED738 DCD GetEncryptResult_201_4
RAM:51CED73C DCD GetEncryptResult_201_5
RAM:51CED740 DCD GetEncryptResult_201_6
RAM:51CED744 DCD GetEncryptResult_201_7


В конце концов происходит сравнение вычисленного nlock-кода и введенного пользователем:

RAM:50D81988 loc_50D81988 ; CODE XREF: VerifySL+74j
RAM:50D81988 LDR R3, =unlock_func_table_v201 ; таблица функций
RAM:50D8198C LDR R3, [R3,R1,LSL#2] ; выбираем адрес нужной функции
RAM:50D81990 CMP R3, #0 ; пустая функция ?
RAM:50D81994 BEQ fail_50D818EC ; да - ошибочный IMEI
RAM:50D81998 SUB R4, R11, #-var_28 ; R4=буфер под nlock-код
RAM:50D8199C MOV R0, R5 ; R0=imei
RAM:50D819A0 MOV R1, #0 ; R1=0
RAM:50D819A4 MOV R2, R4 ; R2=буфер под nlock
RAM:50D819A8 BLX R3 ; вызываем функцию
RAM:50D819AC CMP R0, #0 ; функция вернула ошибку
RAM:50D819B0 BEQ fail_50D818EC
RAM:50D819B4 MOV R0, R7 ; pwd
RAM:50D819B8 MOV R1, R4 ; nlock
RAM:50D819BC LDR R3, =strcmp
RAM:50D819C0 BLX R3 ; strcmp ; сравниваем
RAM:50D819C4 RSBS R0, R0, #1
RAM:50D819C8 MOVCC R0, #0 ; 0 - не совпало 1 - совпало


Сравнение выполняет функция strcmp. На ее вход подается вычисленный модемом код в виде строки, адрес которой лежит в регистре R1. Теперь мы можем поставить точку останова по адресу 50D819C0, и увидеть долгожданный nlock-код, продолжив выполнение командой c:
[C]->b 0x50D819C0
value = 0 = 0x0
[C]->c
Break at 0x50d819c0: VerifySL +0x100 Task: 0x53e964b8 (I0_TAF_FID)

[C]->ti

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

r0 = 0x537273ec r1 = 0x5414ef0c r2 = 0x00000006
r3 = 0x51bfe9c8 r4 = 0x5414ef0c r5 = 0x5414ef3c
r6 = 0x0000000f r7 = 0x537273ec r8 = 0x5369fb60
r9 = 0x00000010 r10 = 0x0000000f r11/fp = 0x5414ef34
r12/ip = 0x00000006 r13/sp = 0x5414ef0c r14/lr = 0x5414ef14
pc = 0x50d819c0 cpsr = 0x200c0113 ttbase = 0x53f74000
value = 0 = 0x0
[C]->d 0x5414ef0c,8,1
NOTE: memory values are displayed in hexadecimal.
0x5414ef00: 36 34 33 31 6341
0x5414ef10: 35 30 38 39 5084............
value = 0 = 0x0

Вот так мы вычислили nlock-код c помощью модема. Этот код является абсолютно точным, образцовым. Можно при входе в процедуру VerifySL c помощью команды m вписать в память другой IMEI, и вычислить nlock-код от него. Я использовал эту возможность для отладки своего калькулятора кодов.

Возможности отладчика VxWorks очень обширны. Вот крайткий список полезных команд:

b - установить точку останова
bd - убрать точку останова
c - продолжить выполнение программы
s - сделать 1 шаг
so - сделать шаг без захода в подпрограммы
d - посмотреть память
l - дизассемблировать код (да, да - там и встроенный дизассемблер есть!)
ti - посмотреть регистры
m - изменить память


Предусмотрена там и справочная система - команда help и ее производные. Прилагаю к этому посту pdf с фирменным описанием шеллов VxWorks. Есть и другие доки от WindRiver, легко находящиеся на просторах интернета.

Надеюсь, моя статья подвигднет кого-нибдуь на изучение кода модема. Поверьте, это крайне увлекательное и полезное занятие!

Прикрепленные файлы


Прикрепленный файлvxworks_cli_tools_users_guide_6.2.pdf ( 642,59 КБ )

forth32

Сообщение #16

11.01.15, 10:44

Бывалый


[offline]

Группа: Друзья 4PDA
Сообщений: 694
Регистрация: 05.12.06
TurboPad 910

Репутация: -  629  +


N@rK @ 11.01.2015, 10:11

А куда мне его сейчас? :scratch_one-s_head: я же разблокировал модем записью в NVRAM

Так можно его обратно заблокировать:

at^nvwrex=8268,0,12,1,0,0,0,1,0,0,0,a,0,0,0

И после этого проверить код. Не получится - всегда можно принудительно разблокировать обратно, как и в первый раз. Зато будет ценнейший материал...

rust3028

Сообщение #17

13.01.15, 11:15

Гуру


[offline]

Группа: Друзья 4PDA
Сообщений: 4542
Регистрация: 06.01.14

Репутация: -  1508  +


Собрал прошивку стокового дашборда E3372s MegaFon Internet.
Прикрепленный файлMegaFon_Internet_Win_2.3.2.6501.rar ( 26,47 МБ )
В случае с E3372h прошивается только в модем с прошивкой с индексом M или модем с применённым патчем сервера прошивки.

Собрал прошивку стокового дашборда МТСовского E3372h.
Прикрепленный файлUTPS23.015.05.07.143_MAC23.015.05.07.143.rar ( 66,61 МБ )
Подписанная прошивка.
На основе файла ISO, извлечённого из модема 827F (E3372h).

Собрал прошивку стокового дашборда E3372h MegaFon Internet.
Прикрепленный файлMegaFon_Internet_Dashboard_Win_Mac_2.3.4.rar ( 51,43 МБ )
Подписанная прошивка.
Для установки на компьютер: Прикрепленный файлMegaFon_Internet_Win2.3.4.6601.rar ( 19,97 МБ )
На основе файла ISO, извлечённого из модема M150-2 (E3372h).

Прикрепленный файлUTPS23.015.05.08.143_MAC23.015.05.08.143.rar ( 66,68 МБ )
Скачан с сайта МТС под именем "Software update with MAC OS 10.10.X support.rar".

Прикрепленный файлDashboard_HUAWEI-Modem-3.5_(04.12.2014).rar ( 20,99 МБ )

Сообщение отредактировал rust3028 - 23.02.17, 17:32

rust3028

Сообщение #19

15.01.15, 12:52

Гуру


[offline]

Группа: Друзья 4PDA
Сообщений: 4542
Регистрация: 06.01.14

Репутация: -  1508  +


yalik07 @ 15.01.2015, 12:43

Я тоже хочу! Очень хочу.
Поделитесь, пожалуйста. Поиск по теме не помог...


Установка Midnight Commander (mc) в E3372s и E3372h

Прикрепленный файлinst_mc_E3372.rar ( 1,81 МБ )

Скриншот

Прикрепленное изображение

Сообщение отредактировал rust3028 - 30.01.15, 16:28

rust3028

Сообщение #20

23.01.15, 16:04

Гуру


[offline]

Группа: Друзья 4PDA
Сообщений: 4542
Регистрация: 06.01.14

Репутация: -  1508  +


Получение доступа к консоли Линукс модема E3372h

(Первые три пункта нужно выполнить только один раз.)

Перевести модем в режим с портами (Debug mode), запустив sw_debug_mode.cmd из архива sw_mode_E3372_new.rar в посте Huawei E3372 (МТС 827F, Мегафон М150-2) - Обсуждение (Пост #35133017) .

Активировать консольный порт, введя AT-команду AT^NVWREX=33,0,4,2,0,0,0 .

Перезапустить модем - AT^RESET .

Перевести модем в Debug mode.

Подключиться терминальной программой к порту, который в ДУ называется "FC - ShallB" (USB\VID_12D1&PID_1566&MI_04). Можно увидеть различные сообщения, выдаваемые в этот порт, например:

[GPIO] [gpio_asyn_event_dispatcher] enter...!
[gpio] [gpio_asyn_event_dispatcher] have found evt = 52001 , transfer to function handle.


Нажать клавишу "Enter" - должен появиться запрос ввода пароля:

Password length is 0, ERR!
Login failed
Password:


В качестве пароля нужно ввести так называемый код OEM, который можно получить с помощью специального калькулятора. Если пароль введён правильно, должно появиться приглашение "EUAP>":

Login success
EUAP>


Запустить telnet:

EUAP>busybox telnetd -l /bin/sh

("EUAP>", естественно, вводить не надо)

Готово. Теперь можно подключаться к модему telnet-клиентом, например, PuTTY.

Сообщение отредактировал rust3028 - 26.04.15, 13:05

rust3028

Сообщение #21

23.01.15, 16:21

Гуру


[offline]

Группа: Друзья 4PDA
Сообщений: 4542
Регистрация: 06.01.14

Репутация: -  1508  +


Калькулятор кодов для E3372h

Написал программу для подбора кода разблокировки и кода OEM методом Decker.

Скриншот

Прикрепленное изображение

Прикрепленный файлE3372h_Calculator.rar ( 5,92 КБ )

При запуске на Windows 8/8.1 может показаться, что программа зависла, но это не так. Надо просто дождаться окончания длительного процесса подбора кода.
Как вариант, можно запускать в режиме совместимости с Windows 7.

Сообщение отредактировал rust3028 - 26.11.15, 09:47


Закрыть ... [X]

Huawei E3372 (МТС 827F/829F, МегаФон M150. - 4PDA) Как сделать что бы на экране двигались

Разлочить 4g lte usb модем мтс 829f своими руками Разлочить 4g lte usb модем мтс 829f своими руками Разлочить 4g lte usb модем мтс 829f своими руками Разлочить 4g lte usb модем мтс 829f своими руками Разлочить 4g lte usb модем мтс 829f своими руками Разлочить 4g lte usb модем мтс 829f своими руками Разлочить 4g lte usb модем мтс 829f своими руками Разлочить 4g lte usb модем мтс 829f своими руками