Как восстановить модем (иголка)
Для начала нам нужно перевести модем в режим USB-загрузки. Для этого разбираем модем (БЕЗ РАЗБОРКИ), и находим под разъемом сим-карты набор технологических контактных площадок. Для модема Е3372S он будет выглядеть так:
Оригинальный размер фото качаем: Яндекс диск
Для модема E3372H контактные площадки расположены так:
При использовании «метода иголки» я обнаружил, что порт, создаваемый 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
Сначала нужно шить переходную прошивку, т. к. просто так первую прошивку не прошить из-за того, что виндовый прошивальщик ненавидит режим загрузки.
Скачать: Переходная прошивка
Применён патченный прошивальщик, который:
— не требует ввода флеш-кода;
— не выдаёт Ошибку 13 при прошивке из download mode (в том числе, и на загрузчик usblsafe-*.bin).
Следовательно, она может использоваться при перепрошивке или восстановлении модема «методом иголки».
Вот такие рекомендую я (шить в таком порядке, котором даны ссылки):
Прошивка модема Huawei E3372H методом иголки, восстановление модема Huawei E3372H
Данная прошивка подойдёт для всех модемов Huawei E3372H доступных на данный момент (13.08.2018), также она поможет восстановить работоспособность большинства модемов вышедших из строя во время прошивки или сбоя в работе модема.
Все материалы и приобретённые знания мы черпали с форума сайта 4pda.ru за что большое спасибо местным разработчикам!
Скачиваем архив со всеми необходимыми файлами и распаковываем на компьютере https://yadi.sk/d/qPUxwgwa3aBZRZ
В данной версии используется модифицированная версия прошивки, а также web интерфейс Hilink с значительно расширенными возможностями (подробная информация о состояние сигнала, возможность вручную выбирать частоту работы модема и многое другое)
Перед прошивкой необходимо удалить все программы от ранее подключаемых модемов (Мегафон, МТС, Билайн и т.п.). Во время самой прошивки рекомендуется отключить компьютер от интернета, а также выключить антивирусную защиту.
Шаг 1 (установка драйверов)
Отключаем модем от компьютера и устанавливаем все драйверы по очереди, после чего перезагружаем компьютер. Подключаем модем к компьютеру и ждём установки драйверов. Затем снова отключаем модем от компьютера.
Шаг 2 (перевод модема в сервисный режим)
Самый сложный и ответственный шаг, для его выполнения нам понадобится медная проволока и желательно USB удлинитель
В качестве медной проволоки мы сами используем центральную жилу обычного ТВ кабеля, т.е. вам нужно взять ТВ кабель отрезать примерно 20-30 см. и извлечь из него медную сердцевину.
Один конец проволоки накручивается на USB разъём модема (это будет земля), а второй оставляете свободным в районе 9-10 см.
Наша задача замкнуть на модеме контакт свободным концом проволоки (смотри фото)
Сделать это можно, разобрав модем, для этого понадобится отвёртка с маленькой звёздочкой (для этого нужно открутить два болтика на задней части)
или просунуть проволоку на собранном модеме под определённым углом (мы всегда используем этот метод, в начале может не получатся с первого раза)
1. Запускаем программу Balong_USB_Downloader
2. На отключенном модеме от компьютера наматываем проволоку на модем, вторым концом замыкаем нужный нам контакт и не размыкая контакт на модеме подключаем его к компьютеру (лучше через заранее воткнутый в компьютер USB удлинитель), после подключения достаточно подождать 5 секунд и контакт можно разомкнуть
Видео как это делается
Оставляем программу открытой и переходим к следующему шагу
Шаг 3
(Если у вас Windows 10 или 8.1 и adb драйвер в диспетчере после установки отображается с восклицательным знаком, нужно сделать следующее: Заходим в биос Advanced-USB Configuration-XHCI Pre-Boot Mode выбираем Disabled, сохраняем настройки и заново прошиваем модем)
— Программа напишет «Работа скрипта завершена нажмите ввод» нажимаем Enter и переходим к следующему шагу
Шаг 4
Возвращаемся к программе Balong_USB_Downloader
выбираем файл, который лежит в папке Шаг 4, затем нажимаем Load и ждём окончания загрузки
Шаг 5
Запускаем прошивку и ждём окончания загрузки
Шаг 6
Аналогично 5-му шагу
Шаг 7
Аналогично 5-му и 6-му шагу
Шаг 8
Запускаем erase_userdata_e3372h.cmd, ждём окончания загрузки и нажимаем Enter
Шаг 9
Шаг 10
Шаг 11
Нажимаем на значок лупы
И внизу в белое поле вставляем команду из текстового файла (не должно быть никаких пробелов и других символов перед и после введенной команды)
Нажимаем Enter – после чего должна появиться надпись ОК
Поздравляем! Если у вас всё получилось – это значит, что модем полностью прошит и готов к работе
Метод иголки модем huawei 3372h windows 10
Как узнать версию модема
Также узнать версию модема можно с помощью AT-команды:
Как разблокировать (разлочить) модем от привязки к оператору
ilya-fedin Дата • 31.07.16, 05:54
Обе версии модема («s» и «h») разблокируются AT-командой
Восстановление модемов с прошивкой Stick без иголки
Достаточно лишь применить скрипт: balong_sw_gateway (2).sh.gz ( 332 байт )
Появятся порты, можете начинать шить нужную вам прошивку.
Итак, вам нужны следующие драйверы: HUAWEI_DataCard_Driver_5.05.01.00_Setup.exe ( 4.13 МБ )
или более новые HUAWEI_DataCard_Driver_6.00.08.00_Setup.rar ( 1.42 МБ )
Идем в Установка и удаление программ ( =Windows 7) и удаляем программу и драйвера модема.
Калькулятор кодов для E3372h
rust3028 Дата • 23.01.15, 16:21
Написал программу для подбора кода разблокировки и кода OEM методом Decker.
При запуске на Windows 8/8.1 и выше может показаться, что программа зависла, но это не так. Надо просто дождаться окончания длительного процесса подбора кода.
Как вариант, можно запускать в режиме совместимости с Windows 7.
Модем впал в 12d1:36dd (неизвестное устройство, adb-устройство)
ilya-fedin Дата • 31.07.16, 05:54
Вероятнее всего, у вас модем из последних партий, при использовании на котором иглы, модем кирпичится.
Восстановление из вечного fastboot
forth32 Дата • 07.09.16, 14:23
1. Подключите модем компьютеру, и дождитесь, пока он выпадет в fastboot-композицию 12d1:36dd. Скачайте прикрепленный к данному посту файл с модифицированным загрузчиком и распакуйте его в какой-нибдуь каталог на диске. Далее, из этого каталога дайте команду:
2. Теперь у нас в модеме зашит загрузчик fastboot, не проверяющий маркеры дефектных блоков. Снова дождитесь, пока модем выпадет в fastboot-композицию, и введите команду:
Раздел nvram будет стерт. Опять отключите модем и подключите заново.
Дополнение. Поскольку появились и модемы на Balong V7R2 с той же проблемой (в том числе Е3372S), то прикладываю к этой статье аналогичный восстановительный fastboot, но для S-модемов.pfastboot-3372s.7z ( 61.39 КБ )
Как проверить фиксацию TTL и смену IMEI
ilya-fedin Дата • 31.07.16, 05:54
Проверка фиксации TTL: tcpdump.zip ( 1.25 МБ )
Версия под Linux: tcpdump.tar.gz ( 989.66 КБ )
Проверка IMEI: check_imei.exe ( 795.46 КБ )
Как сменить MAC-адрес модема?
ilya-fedin Дата • 31.07.16, 05:54
К сожалению, это невозможно. MAC-адрес жестко зашит в ядре и простым смертным его никак не сменить.
Можно ли узнать, какая станция обслуживает модем, посмотреть, есть ли еще доступные и переключиться на другую?
Как исполнить AT-команду на Linux
Метод иголки модем huawei 3372h windows 10
Поддерживаемые частоты
GSM / GPRS / EDGE 850 / 900 / 1800 / 1900
UMTS / DC-HSPA+ /WCDMA 900 / 2100
LTE 800/900/1800/2100/2600 MHz
Дополнительно
Поддержка карт MicroSD до 32 ГБ
Операционные системы:
Поддержка OC Windows XP SP3, Windows Vista SP1/SP2, Windows 7, Windows 8, Mac OS X 10.5, 10.6, 10.7, 10.8, Linux
PS: самая беспроблемная схема с роутером: прошивка HiLink на модеме с автопереключением в CDC + Zyxel Keenetic 4G III rev.A с прошивкой Padavan
Модифицированный веб-интерфейс для E3372 s на основе WebUI 16.100.05.00.03
Ориентирован на работу с прошивкой 22.286.03.00.00.
Работает также и с модифицированными прошивками 22.286.53.01.161_S_*.
Несовместим с оригинальной билайновской прошивкой 22.286.53.01.161 в части SMS.
После прошивки веб-интерфейса следует делать сброс настроек (Настройки->Система->Настр. по умолч.).
Предлагаю своё решение для ситуации, когда нужно перевести HiLink-модем в режим с портами, но http://192.168.8.1/html/switchProjectMode.html (switchDebugMode.html) не работает.
Для этих портов необходим драйвер FcSerial.
Надеюсь, что тут все понятно. Единственное необходимое пояснение: кнопка reverse переворачивает IMEI задом наперед. Это нужно для вычисления кодов в команде at^spword модема 3372.
В заключении, хочу выразить благодарность пользователям rust3028 и Chujoi13 за неоценимую помощь в подготовке и тестировании этого релиза.
Еще можно сделать переключение внутри самого модема. Для этого надо написать простенькую программку:
#include
#include
#include
#include
void main() <
int nfd=open(«/dev/ndisapp»,2);
ioctl(nfd,1,0);
>
Собрать ее с помощью android ndk и запускать внутри модема. Именно таким способом производит переключение сам вебсервер.
Кстати, у rust3028 уже имеется готовая программа переключения с произвольной задержкой, готовая для включения в autostart.
rust3028, может быть выложишь ее сюда, чтобы людям не мучаться с освоением ndk?
Автоматическое переключение модема в Debug Mode и Project Mode
Подходит для обоих модемов, на любой прошивке HiLink.
затем зайти по ftp на адрес 192.168.8.1 и забрать файл.
Полученный файл mtd11.bin содержит в себе упакованный образ vxworks, к которому добавлен заголовок раздела. Следующим этапом нам надо распаковать этот образ, отрезав предварительно заголовок. Это можно сделать так:
— Долго жмем ентер, пока таблица не закончится
— Закрываем лог в терминальной программе.
Во второй части я расскажу о встроенном в VxWorks отладчике, жизненно необходимом для исследования кода. В качестве пример мы заставим сам модем посчитать nlock-код по алгоритму v201.
Break at 0x50d818c0: VerifySL Task: 0x53e964b8 (I0_TAF_FID)
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
[C]->b 0x50D819C0
value = 0 = 0x0
[C]->c
Break at 0x50d819c0: VerifySL +0x100 Task: 0x53e964b8 (I0_TAF_FID)
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 очень обширны. Вот крайткий список полезных команд:
Надеюсь, моя статья подвигднет кого-нибдуь на изучение кода модема. Поверьте, это крайне увлекательное и полезное занятие!
Метод иголки модем huawei 3372h windows 10
Поддерживаемые частоты
GSM / GPRS / EDGE 850 / 900 / 1800 / 1900
UMTS / DC-HSPA+ /WCDMA 900 / 2100
LTE 800/900/1800/2100/2600 MHz
Дополнительно
Поддержка карт MicroSD до 32 ГБ
Операционные системы:
Поддержка OC Windows XP SP3, Windows Vista SP1/SP2, Windows 7, Windows 8, Mac OS X 10.5, 10.6, 10.7, 10.8, Linux
PS: самая беспроблемная схема с роутером: прошивка HiLink на модеме с автопереключением в CDC + Zyxel Keenetic 4G III rev.A с прошивкой Padavan
Модифицированный веб-интерфейс для E3372 s на основе WebUI 16.100.05.00.03
Ориентирован на работу с прошивкой 22.286.03.00.00.
Работает также и с модифицированными прошивками 22.286.53.01.161_S_*.
Несовместим с оригинальной билайновской прошивкой 22.286.53.01.161 в части SMS.
После прошивки веб-интерфейса следует делать сброс настроек (Настройки->Система->Настр. по умолч.).
Предлагаю своё решение для ситуации, когда нужно перевести HiLink-модем в режим с портами, но http://192.168.8.1/html/switchProjectMode.html (switchDebugMode.html) не работает.
Для этих портов необходим драйвер FcSerial.
Надеюсь, что тут все понятно. Единственное необходимое пояснение: кнопка reverse переворачивает IMEI задом наперед. Это нужно для вычисления кодов в команде at^spword модема 3372.
В заключении, хочу выразить благодарность пользователям rust3028 и Chujoi13 за неоценимую помощь в подготовке и тестировании этого релиза.
Еще можно сделать переключение внутри самого модема. Для этого надо написать простенькую программку:
#include
#include
#include
#include
void main() <
int nfd=open(«/dev/ndisapp»,2);
ioctl(nfd,1,0);
>
Собрать ее с помощью android ndk и запускать внутри модема. Именно таким способом производит переключение сам вебсервер.
Кстати, у rust3028 уже имеется готовая программа переключения с произвольной задержкой, готовая для включения в autostart.
rust3028, может быть выложишь ее сюда, чтобы людям не мучаться с освоением ndk?
Автоматическое переключение модема в Debug Mode и Project Mode
Подходит для обоих модемов, на любой прошивке HiLink.
затем зайти по ftp на адрес 192.168.8.1 и забрать файл.
Полученный файл mtd11.bin содержит в себе упакованный образ vxworks, к которому добавлен заголовок раздела. Следующим этапом нам надо распаковать этот образ, отрезав предварительно заголовок. Это можно сделать так:
— Долго жмем ентер, пока таблица не закончится
— Закрываем лог в терминальной программе.
Во второй части я расскажу о встроенном в VxWorks отладчике, жизненно необходимом для исследования кода. В качестве пример мы заставим сам модем посчитать nlock-код по алгоритму v201.
Break at 0x50d818c0: VerifySL Task: 0x53e964b8 (I0_TAF_FID)
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
[C]->b 0x50D819C0
value = 0 = 0x0
[C]->c
Break at 0x50d819c0: VerifySL +0x100 Task: 0x53e964b8 (I0_TAF_FID)
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 очень обширны. Вот крайткий список полезных команд:
Надеюсь, моя статья подвигднет кого-нибдуь на изучение кода модема. Поверьте, это крайне увлекательное и полезное занятие!