USB-модемы Huawei (например, E3372, E8372, B315, E5576) часто определяются в системе как CD-накопитель или флеш-накопитель вместо сетевого адаптера или COM-порта. Это стандартное поведение «из коробки»: устройство загружает виртуальный привод с драйверами и утилитой Mobile Partner или веб-интерфейсом HiLink. Если переключение в рабочий режим не произошло автоматически, операционная система видит только раздел хранения данных.
Проблема возникает из-за отсутствия или сбоя механизма usb_modeswitch (в Linux) или службы автоматического запуска драйверов (в Windows). В некоторых случаях виноваты поврежденные драйверы чипсета USB, настройки энергосбережения порта или прошивка модема, застрявшая в режиме Mass Storage. Ниже разберем диагностику и исправление для основных платформ.
Почему модем застревает в режиме накопителя
Архитектура USB-модемов Huawei предполагает два логических устройства в одном корпусе: виртуальный CD-ROM (ISO-образ с драйверами) и сам модем (CDC Ethernet, RNDIS или последовательные порты). При подключении питания контроллер модема сначала выставляет идентификаторы idVendor=12d1 и idProduct из диапазона накопителей (например, 14fe, 1506, 1f01). После получения специальной команды «переключения» (SCSI-команда или Control Message) модем меняет PID на рабочий (например, 14db, 15c1, 155b) и переподключается к шине USB уже как модем.
Если эта команда не ушла или модем её проигнорировал, в Диспетчере устройств Windows вы увидите «CD-ROM Drive» или «Mass Storage Device» без сетевых адаптеров. В Linux команда lsusb покажет только один интерфейс с классом 08 (Mass Storage), а dmesg будет заполнен сообщениями о подключении SCSI-накопителя. Частые причины: отключенная служба ShellHWDetection в Windows, отсутствие пакета usb-modeswitch в Linux, неисправный USB-кабель или порт с недопитанием.
⚠️ Внимание: Не пытайтесь отформатировать или удалить разделы на виртуальном CD-ROM модема через «Управление дисками». Это не поможет переключить режим, но может повредить загрузчик восстановления прошивки (Recovery), после чего модем придется прошивать через короткое замыкание тестовых точек на плате.
Исправление в Windows: от Диспетчера устройств до реестра
Начните с проверки службы ShellHWDetection (Определение оборудования оболочкой). Она отвечает за автозапуск с носителей и часто инициирует переключение модема. Нажмите Win+R, введите services.msc, найдите службу, установите тип запуска «Автоматически» и запустите её. Переподключите модем. Если не помогло, откройте Диспетчер устройств (devmgmt.msc), разверните «Контроллеры USB» и «Накопители». Найдите устройство с VID 12d1, нажмите ПКМ → «Обновить драйвер» → «Выбрать из списка» → «Накопители» → «Устройство массового хранения USB». Это заставит систему пересоздать стек USB и может триггерить переключение.
Для модемов серии E3372h, E8372h (HiLink) рабочий режим — это CDC Ethernet (видит как сетевую карту). Для стиков E3372s, E3131 (Stick) — это RAS/NDIS или последовательные порты (COM). Если модем определился как накопитель, но в «Сетевых адаптерах» появился «Remote NDIS based Internet Sharing Device» — переключение прошло успешно, просто не установилась утилита. Зайдите в браузере на 192.168.8.1 для настройки HiLink.
☑️ Чек-лист быстрой диагностики в Windows
Если стандартные методы не сработали, можно принудительно запретить монтирование виртуального CD-ROM через реестр. Создайте параметр DisableRemovableDrive типа DWORD со значением 1 в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cdrom. После перезагрузки Windows не будет монтировать ISO-образ, и модем быстрее перейдет в рабочий режим. Этот метод не работает на модемах с прошивкой Stick, требующих ручного AT-команды AT^SETPORT.
Настройка переключения режимов в Linux (usb_modeswitch)
В современных дистрибутивах (Ubuntu 22.04+, Debian 12, Fedora, Arch) пакет usb-modeswitch и правила udev обычно уже установлены. Выполните lsusb и найдите строку с ID 12d1:. Если PID соответствует режиму накопителя (например, 14fe, 1f01, 1506), запустите переключение вручную: sudo usb_modeswitch -v 12d1 -p 14fe -K (замените PID на ваш). Флаг -K отправляет стандартную SCSI-команду Eject. После этого снова выполните lsusb — PID должен смениться на рабочий (например, 15c1 для HiLink или 1001 для Stick).
Если переключение прошло успешно, но сети нет, проверьте ip a на наличие интерфейса eth1, enx... или wwan0. Для HiLink-модемов IP выдается по DHCP: sudo dhclient enx.... Для Stick-модемов настройте соединение через ModemManager / NetworkManager (nmcli или GUI). Убедитесь, что пакет modemmanager установлен и служба активна: systemctl status ModemManager.
Подробности по созданию правила udev для постоянного переключения
Создайте файл /etc/udev/rules.d/15-huawei-modem.rules с содержимым:
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", ATTR{idProduct}=="14fe", RUN+="/usr/sbin/usb_modeswitch -v 12d1 -p 14fe -K"
Замените 14fe на PID вашего модема в режиме накопителя. Затем выполните:
sudo udevadm control --reload-rules && sudo udevadm trigger
Теперь модем будет переключаться автоматически при каждом подключении.
⚠️ Внимание: На некоторых ядрах Linux (5.15–6.1) модульoptionилиcdc_etherможет не привязаться к интерфейсу после переключения, если модем сообщает нестандартные дескрипторы. В таком случае помогает добавлениеusbcore.autosuspend=-1в параметры ядра GRUB (файл /etc/default/grub, строка GRUB_CMDLINE_LINUX_DEFAULT) для отключения автоподвески USB.
Прошивки HiLink vs Stick: влияние на определение
Модемы Huawei делятся на две линейки прошивок: HiLink (веб-интерфейс, работа как сетевая карта CDC Ethernet/RNDIS) и Stick (традиционный модем с AT-командами, RAS/NDIS, COM-порты). На клейме это часто указано суффиксом: h — HiLink, s — Stick. HiLink-модемы (E3372h-153, E8372h-320) после переключения выдают IP-адрес по DHCP и управляются через браузер. Stick-модемы (E3372s-153, E3131) требуют настройки PPP/NDIS-соединения в ОС или роутере.
Если вы прошили HiLink-модем на Stick-прошивку (или наоборот) без смены PID/VID через AT^SETPORT, устройство может вечно оставаться в режиме накопителя или определяться как неизвестное USB-устройство. Восстановление возможно через режим Download Mode (зажим кнопки Reset при вставке) и утилиту Huawei Firmware Finder / DC-Unlocker. Будьте осторожны: неправильная прошивка превращает модем в «кирпич», ожидающий только замыкания точек на плате.
Для Stick-модемов (E3372s, E3131) в Windows можно зафиксировать режим «Только модем» командой AT^SETPORT="A1,A2;1,2,3,7,A1,A2" через терминал (PuTTY, COM-порт). Это отключит виртуальный CD-ROM и кардридер навсегда, ускоряя инициализацию. Для HiLink эта команда не применима.
HiLink = сетевая карта (DHCP, веб-интерфейс 192.168.8.1). Stick = COM-порты + NDIS/RAS (требует настройки соединения в ОС). Перепрошивка меняет логику определения устройства системой.
Таблица типичных PID моделей Huawei и их режимов
| Модель (пример) | PID в режиме накопителя (Mass Storage) | PID в рабочем режиме (HiLink / Stick) | Тип прошивки |
|---|---|---|---|
| E3372h, E8372h | 1f01, 14fe |
14db (CDC Ethernet / RNDIS) |
HiLink |
| E3372s, E3131 | 14fe, 1506 |
1506 / 1001 (NDIS + COM) |
Stick |
| B310, B315, B525 | 14fe (редко) |
15c1 (RNDIS / CDC Ethernet) |
HiLink (Роутер) |
| E5576, E5788 | 1577, 1f01 |
1577 (RNDIS) / 15c1 |
HiLink (MiFi) |
| E8372h-320 (Мегафон M150-2) | 1f01 |
14db |
HiLink |
Питание, кабели и физические неисправности
Недостаточное питание — частая скрытая причина. USB 2.0 порт выдает максимум 500 мА, а модемы категории 4/6 (LTE Cat.4/6) в пике потребляют 800–1200 мА при передаче. Если модем питается от пассивного удлинителя или переднего порта системного блока, контроллер USB может не выдать нужный ток, модем сбросится в начальное состояние (накопитель) и зависнет там. Используйте короткий качественный кабель с ферритовым кольцом или активный USB-хаб с внешним блоком питания. На ноутбуках отключите в BIOS/UEFI настройку «USB Selective Suspend» или «USB Power Saving».
Проверьте контакты USB-разъема модема: окисление или механическое ослабление приводит к потере данных линий D+/D-, при этом питание (VBUS/GND) остается. Система видит устройство как «Unknown USB Device» или накопитель (только питание на флеш-контроллере). Аккуратно почистите контакты изопропиловым спиртом. Если модем падал или был во влаге, может выйти из строя контроллер USB PHY внутри процессора HiSilicon — тогда только замена платы.
⚠️ Внимание: Не используйте USB-удлинители длиной более 1 метра без активного повторителя сигнала. Увеличение емкости линии и падение напряжения гарантированно вызывают ошибки протокола USB 2.0 High Speed (480 Мбит/с), из-за чего модем не получает команду переключения режима и остается накопителем.
Часто задаваемые вопросы (FAQ)
Модем Huawei E3372 определяется как CD-ROM, но в Диспетчере устройств нет ни одного COM-порта. Что делать?
Скорее всего, у вас версия HiLink (suffix h). Она не создает COM-порты, а сразу поднимает сетевой интерфейс (CDC Ethernet). Проверьте «Сетевые адаптеры» — должен появиться «Remote NDIS based Internet Sharing Device» или «Huawei Mobile Broadband Network Adapter». Если есть — зайдите в браузере на 192.168.8.1. Если сетевого адаптера нет — обновите драйвер чипсета USB материнской платы и службу ShellHWDetection.
Можно ли навсегда отключить виртуальный CD-ROM на модеме HiLink (E3372h)?
Официальными средствами — нет. Прошивка HiLink не поддерживает AT-команду AT^SETPORT для отключения Mass Storage. Виртуальный CD-ROM нужен для восстановления прошивки через веб-интерфейс (режим Recovery). На Stick-версиях (s) это делается командой AT^SETPORT="A1,A2;1,2,3,7,A1,A2" (оставляет только модем, сеть, диаг, GPS).
В Linux модем переключается в рабочий PID, но NetworkManager не создает соединение. В чем дело?
Проверьте, не заблокирован ли модем rfkill (rfkill list). Убедитесь, что ModemManager видит модем: mmcli -L. Если модем в списке, создайте соединение: nmcli con add type gsm ifname "*" con-name "Huawei" apn "internet" (замените APN на ваш). Для HiLink-модемов не нужен ModemManager — настройте DHCP на интерфейсе enx... или eth1.
После неудачной прошивки модем вообще не определяется (нет в lsusb / Диспетчере). Как вернуть к жизни?
Это режим «кирпича». Нужен Download Mode: разберите корпус, найдите на плате точку BOOT (или два контакта рядом с USB-разъемом, помеченные как короткое замыкание). Замкните их пинцетом, вставьте модем в ПК, через 3 сек разомкните. В Windows появится «Huawei Download Gadget» (VID 12d1, PID 1c0b или похожий). Прошейте официальную прошивку через Huawei Firmware Finder или DC-Unlocker.
Где скачать актуальные драйверы и прошивки для конкретной модели?
Официальный портал поддержки Huawei (consumer.huawei.com/ru/support) часто скрывает файлы для модемов. Надежнее использовать сообщество 4pda.to (разделы по моделям) или ресурс https://huawei-gid.vercel.app, где собраны прямые ссылки на драйверы Mobile Partner, HiLink Assistant, прошивки Stick/HiLink и инструкции по AT-командам для конкретных PID/VID.