Модем Huawei E3372 по умолчанию работает в режиме HiLink с собственным веб-интерфейсом, что создает конфликты при подключении к роутерам Keenetic, MikroTik или системам на базе OpenWrt. Перевод устройства в режим «только модем» (Stick Mode) убирает виртуальный сетевой адаптер и предоставляет чистые COM-порты для управления PPP-сессией. Данная процедура требует доступа к диагностическому порту и знания специфических AT-команд.

Прошивки версий 21.x и 22.x имеют разные пути переключения: старые «стики» на базе Balong 4000 переключаются через веб-API, а новые — исключительно через последовательный порт. Ошибка в выборе метода приводит к потере доступа к управлению, поэтому определение текущей версии прошивки через ATI является первым обязательным шагом.

В режиме HiLink модем выступает в роли роутера: он сам устанавливает PPP-соединение, раздает IP по DHCP и предоставляет веб-интерфейс на адресе 192.168.8.1. Это удобно для прямого подключения к ПК, но недопустимо для внешних роутеров, которые ожидают увидеть чистый модемный интерфейс.

Режим Stick (Modem Mode) отключает встроенный NAT, DHCP-сервер и веб-морду. Устройство определяется в системе как набор последовательных портов (Application, GPS, Modem, PCUI), через которые хост-система самостоятельно набирает номер, аутентифицируется и поднимает интерфейс ppp0. Именно этот режим требуется для работы с KeeneticOS, pfSense и OpenWrt.

Главное отличие кроется в обработке USSD-запросов и SMS: в HiLink они доступны через API, а в Stick — только через AT-команды на соответствующем порту. Для обычного пользователя это невидимо, но для автоматизации и мониторинга сигнала критично.

Подготовка к переключению: драйверы и терминал

Перед началом работы установите драйверы Huawei Data Card Driver версии 23.01.03.00 или новее. Без них в диспетчере устройств Windows появится только сетевой адаптер «Huawei Mobile Connect - Network Card», а диагностические COM-порты скрыты.

Для отправки команд понадобится терминальная программа: PuTTY, Termite или встроенный screen / minicom в Linux. Настройте порт на скорость 115200, 8 бит данных, 1 стоп-бит, без контроля четности и потока. Проверьте связь командой AT — модем должен ответить OK.

☑️ Чек-лист перед началом работы

Выполнено: 0 / 5
⚠️ Внимание: Переключение режима на прошивках 22.x и выше через веб-интерфейс невозможно — API отключен производителем. Попытки отправить XML-запросы на /api/device/mode вернут ошибку 403 или 404. Используйте только последовательный порт.

Переключение через веб-интерфейс (для прошивок 21.x)

Если команда ATI показывает версию 21.xxx.xx.xx.xxx, переключение доступно через скрытое меню веб-интерфейса. Зайдите на http://192.168.8.1/html/switchProjectMode.html (страница может отсутствовать в некоторых кастомизированных версиях для операторов МТС, Билайн, Мегафон).

На открывшейся странице выберите Project Mode: Normal (или MODEM в зависимости от локализации) и нажмите «Apply». Модем перезагрузится за 30–60 секунд. После перезагрузки веб-интерфейс станет недоступен, а в системе появятся COM-порты.

Данный метод безопаснее AT-команд, так как прошивка сама выполняет валидацию параметров. Однако он работает только на «чистых» прошивках от Huawei без операторских кастомизаций.

Переключение через AT-команды в терминале (универсальный метод)

Подключитесь к порту PCUI (обычно это второй или третий по порядку COM-порт). Введите последовательность команд строго в указанном порядке, ожидая ответа OK после каждой строки:

AT^SETPORT="A1,A2;1,2,3,4,5,6,7,A,B,D,E"

AT^RESET

Первая команда переконфигурирует USB-композицию: оставляет только CDC Ethernet (1), CD-ROM (2), Modem (3), PCUI (4), NCM (5), DIAG (6), GPS (7) и отключает массовое хранилище. Вторая команда перезагружает модем для применения изменений.

После перезагрузки проверьте режим командой AT^SETPORT?. В ответе должна присутствовать строка A1,A2;1,2,3,4,5,6,7,A,B,D,E без кода 16 (который отвечает за HiLink/CDC-Ethernet с веб-интерфейсом).

Альтернативные коды композиции для специфических задач

Код "A1,A2;1,3,4,7,A,B,D,E" — минимальный набор: только Modem, PCUI, GPS, без CD-ROM и DIAG. Полезно для встраиваемых систем.

Код "A1,A2;10,1,3,4,7,A,B,D,E" — включает RNDIS (10) вместо NCM для совместимости со старыми ядрами Linux.

Код "FF;1,2,3,4,5,6,7,A,B,D,E" — режим "Factory", открывает все интерфейсы включая ADB (требует разблокированный загрузчик).

Проверка режима и настройка подключения в ОС

В Windows откройте «Диспетчер устройств» → «Порты (COM и LPT)». Должен появиться порт Huawei Mobile Connect - 3G Modem (или Huawei Diagnostics Interface). Создайте новое подключение «Телефонная сеть» через этот порт, укажите APN оператора (например, internet.mts.ru), имя пользователя и пароль (обычно mts/mts).

В Linux выполните ls /dev/ttyUSB* или dmesg | grep tty. Обычно ttyUSB0 — это модемный порт, ttyUSB1 — PCUI, ttyUSB2 — DIAG. Настройте wvdial или ModemManager на ttyUSB0. Проверьте регистрацию в сети командами AT+CREG? и AT+CGREG?.

💡

Если ModemManager в Linux не видит модем после переключения, добавьте правило udev: ACTION=="add", SUBSYSTEM=="tty", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1506", ENV{ID_MM_DEVICE_IGNORE}="0". Это заставит сервис захватить порт ttyUSB0.

⚠️ Внимание: После перевода в Stick Mode модем перестает раздавать IP-адреса по DHCP. Если вы подключаете его к роутеру, настройте WAN-интерфейс роутера в режим «3G/4G модем» и укажите APN вручную. Автоматическое определение провайдера не сработает.

Для отката введите в терминале (порт PCUI сохраняется в любом режиме):

AT^SETPORT="A1,A2;1,2,3,4,5,6,7,16,A,B,D,E"

AT^RESET

Ключевое отличие — добавление кода 16 в список композиции. Он активирует CDC-Ethernet с веб-сервером на 192.168.8.1. Модем вернется в привычный режим «из коробки» за 1–2 минуты.

Если порт PCUI пропал после неудачного эксперимента, короткозамкните тестовые точки TP1101 и TP1102 на плате (под разъемом SIM) при включенном питании — модем войдет в режим Download Mode (Project Mode), где доступен только порт диагностики для прошивки через Huawei Update Tool.

Типичные ошибки и их устранение

Частая ошибка — ввод команды AT^SETPORT без кавычек или с пробелами внутри списка. Прошивка строго парсит формат: A1,A2;список_через_запятую. Любой лишний символ приведет к ответу ERROR и сохранению старой конфигурации.

Проблема «модем не определяется в роутере Keenetic» часто решается обновлением компонента «Модемы 3G/4G» в системе KeeneticOS до версии 3.8+. Старые версии ядра не знают PID 1506 (Stick Mode) и видят только PID 14db (HiLink).

📊 Каким способом вы переключали E3372 в режим модема?
Через веб-интерфейс (switchProjectMode)
Через AT-команды в PuTTY/Termite
Через Huawei Modem Terminal (huawei-terminal)
Еще не переключал, только планирую
💡

Главный вывод: для прошивок 22.x и новее единственный рабочий способ — AT-команда AT^SETPORT с кодом 16 для HiLink или без него для Stick. Веб-интерфейс переключения в них физически удален.

⚠️ Внимание: Не пытайтесь прошить модем прошивкой от другой ревизии оборудования (например, E3372h-153 на E3372s-153). Различия в чипсете (Balong 4000 vs 4010) и памяти приведут к «кирпичу», восстановить который можно только через программатор SPI.
Параметр HiLink (Router Mode) Stick (Modem Mode)
Веб-интерфейс Доступен (192.168.8.1) Отсутствует
USB-композиция CDC-Ethernet + Mass Storage Modem + PCUI + DIAG + GPS
Управление сессией Встроенное (NAT, DHCP) На стороне хоста (PPP/DHCP-клиент)
Совместимость с роутерами Требует поддержки RNDIS/NCM Универсальна (ATD*99#)
USSD / SMS Через API / Веб-морда Только AT-команды (AT+CUSD, AT+CMGS)

FAQ: Частые вопросы по переключению режимов

Потерял доступ к модему после ввода AT^SETPORT. Что делать?

Короткозамкните тестовые точки TP1101 и TP1102 на плате при включенном питании на 2–3 секунды. Модем войдет в аварийный режим загрузки (Download Mode), где определится как порт диагностики. Прошейте официальную прошивку через Huawei Update Tool (forced update).

Как узнать, какая прошивка установлена: 21.x или 22.x?

Отправьте команду ATI в терминале. Первая цифра версии после названия модели (например, 21.333.01.00.00 или 22.333.01.00.00) указывает на мажорную ветку. На стикере на корпусе также указаны версии Hardware Version и Software Version.

Работает ли режим Stick с IPv6 и двойным стеком?

Да, модем в режиме Stick прозрачно передает IPv6-префиксы, если оператор их выдает. Настройка IPv6 осуществляется полностью на стороне роутера (Keenetic, OpenWrt) через интерфейс ppp0 или wwan0.

Можно ли переключить режим без ПК, только от роутера?

Только если роутер поддерживает отправку AT-команд на USB-модем (например, Keenetic через CLI: interface UsbModem0 at-command AT^SETPORT="A1,A2;1,2,3,4,5,6,7,A,B,D,E"). Большинство бытовых роутеров (Asus, TP-Link, Xiaomi) этого не умеют.

Сбросятся ли настройки APN и PIN-код после смены режима?

Настройки APN в профилях модема сохраняются, но в режиме Stick их игнорируется — профиль выбирает хост-система. PIN-код SIM-карты запрашивается модемом при каждой загрузке, если он включен; его можно отключить командой AT+CLCK="SC",0,"PIN".