Если USB-модем не определяется сетью, завис в режиме «только модем» или требуется разблокировать его для работы с SIM-картой другого оператора, решение часто сводится к отправке AT-команды через COM-порт устройства. Это стандартный текстовый интерфейс управления модемом, который поддерживают практически все 3G/4G-модемы — Huawei E3372, ZTE MF823, Quectel EC25 и другие.
AT-команды (от англ. attention) — это набор инструкций, унаследованный от модемов Hayes. Они позволяют запросить IMEI, сменить режим работы, проверить уровень сигнала или сбросить настройки. Ниже разберём, как подключиться к модему и отправить команду в Windows и Linux, какие программы использовать и что делать, если модем не отвечает.
Что потребуется для отправки AT-команд
Перед началом убедитесь, что у вас есть всё необходимое. Модем должен быть физически подключён к компьютеру через USB, а его драйверы — корректно установлены. Без драйвера система не создаст виртуальный COM-порт, и отправить команду будет невозможно.
- 🔌 USB-модем, подключённый к компьютеру напрямую (без хабов и удлинителей)
- 💾 Установленные драйверы модема — обычно ставятся автоматически с виртуального CD-диска модема
- 🖥️ Терминальная программа: PuTTY, HyperTerminal, ExtraPuTTY или встроенные средства ОС
- 🔢 Номер COM-порта модема и скорость соединения (чаще всего 9600 или 115200 бод)
⚠️ Внимание: некоторые модемы создают в системе сразу несколько COM-портов — например, «PC UI Interface» и «Diagnostics Interface». AT-команды обычно принимает порт с названием UI или Application Interface. Точное назначение портов зависит от модели — сверьтесь с документацией производителя.
Определяем COM-порт модема в Windows
Первый шаг — узнать, на каком порту «сидит» модем. Откройте Диспетчер устройств: нажмите Win + X и выберите соответствующий пункт, либо выполните команду devmgmt.msc через окно «Выполнить».
Разверните раздел «Порты (COM и LPT)». После подключения модема здесь появятся один или несколько новых портов с номерами вида COM3, COM5 и т.д. Запомните номер — он понадобится для настройки терминала. Если порт не появился, проблема в драйвере: переустановите ПО модема или попробуйте другой USB-порт.
Дополнительно проверьте раздел «Модемы» — там тоже может отображаться устройство, и в его свойствах на вкладке «Модем» указан привязанный порт и максимальная скорость.
Если в диспетчере устройств несколько портов от одного модема и вы не знаете, какой выбрать — попробуйте каждый по очереди. Порт, который ответит «OK» на команду AT, и есть нужный.
Отправка AT-команды через PuTTY
PuTTY — самый популярный бесплатный терминал для Windows. Скачайте программу с официального сайта проекта, установка не требуется — достаточно запустить исполняемый файл.
Настройте подключение по следующему алгоритму:
- ⚙️ В поле Connection type выберите Serial
- 🔢 В поле Serial line укажите номер порта, например
COM5 - ⏱️ В поле Speed задайте скорость — начните со значения
9600, при отсутствии ответа попробуйте115200 - ▶️ Нажмите Open — откроется чёрное окно терминала
☑️ Проверка перед отправкой команды
В открывшемся окне введите тестовую команду и нажмите Enter:
AT
Если всё настроено верно, модем ответит OK. Это значит, что связь установлена и можно отправлять рабочие команды. Отсутствие ответа означает неверный порт, скорость или то, что порт занят другим приложением — например, фирменной утилитой подключения к интернету, которую нужно полностью закрыть.
Команда AT с ответом OK — базовый тест связи с модемом. Пока он не пройден, отправлять остальные команды бессмысленно.
Альтернативные способы: HyperTerminal и Linux
В старых версиях Windows (XP и ранее) встроенный HyperTerminal доступен из меню «Пуск → Стандартные → Связь». В современных системах его нет, поэтому проще использовать PuTTY или аналоги — Terminal v1.9b, My Huawei Terminal, DC-Unlocker (последние две заточены именно под модемы).
В Linux всё проще: терминал уже в системе. Модем обычно определяется как устройство /dev/ttyUSB0 (или ttyUSB1, ttyUSB2). Отправить команду можно через minicom или напрямую:
echo -e "AT\r" > /dev/ttyUSB0
cat /dev/ttyUSB0
Для интерактивной работы удобнее minicom -s: в настройках укажите порт и скорость, после чего откроется полноценный терминал. Учтите, что для доступа к порту могут потребоваться права root или добавление пользователя в группу dialout.
Полезные AT-команды для модема
Набор поддерживаемых команд зависит от производителя и прошивки модема. Ниже — команды, которые работают на большинстве устройств, но составные команды (начинающиеся с AT^ у Huawei или AT+Z у ZTE) являются фирменными и у других брендов могут не поддерживаться.
| Команда | Назначение | Пример ответа |
|---|---|---|
AT | Проверка связи с модемом | OK |
ATI | Информация об устройстве и прошивке | Manufacturer, Model, Revision |
AT+CGSN | Запрос IMEI модема | 15-значный номер |
AT+CSQ | Уровень сигнала сети | +CSQ: 17,99 |
AT+COPS? | Текущий оператор сети | +COPS: 0,0,"MTS",2 |
Обратите внимание на команду AT+CSQ: первое число в ответе — условный индекс сигнала от 0 до 31, где 99 означает «сигнал не определён». Это удобный способ проверить качество приёма без веб-интерфейса модема.
⚠️ Внимание: команды изменения режима работы, разблокировки и смены IMEI могут нарушать условия гарантии, а в ряде юрисдикций — законодательство. Перед вводом любой команды, меняющей настройки, убедитесь, что понимаете её действие, и сохраните исходные параметры устройства.
Почему модем отвечает ERROR на команду
Ошибка ERROR означает, что модем не распознал команду или она не поддерживается текущей прошивкой. Проверьте синтаксис (латиница, без лишних пробелов внутри команды), убедитесь, что команда предназначена именно для вашего производителя, и попробуйте запросить список поддерживаемых команд через AT+CLAC — на части устройств она выводит перечень доступных инструкций.
Типичные проблемы и их решение
Самая частая жалоба — модем молчит в ответ на команду. Причины обычно три: неверный порт, неверная скорость или порт занят другой программой. Закройте все утилиты подключения к интернету, переподключите модем и проверьте порт заново.
Вторая ситуация — в терминале не видно вводимых символов. Это не неисправность: у части модемов по умолчанию отключено локальное эхо. Введите команду ATE1 и нажмите Enter — эхо включится, и вы увидите то, что набираете. Либо включите опцию Local echo в настройках самого терминала.
Третья проблема — модем определяется только как CD-ROM с драйверами, а COM-порта нет. Это режим Zero-CD, в котором устройство ещё не переключилось в режим модема. Обычно переключение происходит автоматически после установки драйверов; если нет — переустановите ПО или проверьте драйвер USB-порта компьютера.
Порт занят, нет ответа, не видно вводимый текст — три самые частые проблемы при работе с AT-командами, и все решаются без перепрошивки модема.
Меры предосторожности при работе с AT-командами
AT-интерфейс даёт прямой доступ к настройкам модема, поэтому ошибочная команда может изменить конфигурацию устройства. Перед экспериментами зафиксируйте текущее состояние: выполните ATI и AT+CGSN и сохраните вывод.
Не вводите команды из форумов вслепую, особенно содержащие AT^ с длинными шестнадцатеричными строками, — они могут записывать данные в энергонезависимую память модема. Если устройство перестало отвечать после экспериментов, попробуйте заводской сброс командой AT&F (поддерживается не везде) или обратитесь к документации конкретной модели.
⚠️ Внимание: прерывание процесса записи настроек (отключение модема в момент выполнения команды) может привести к повреждению конфигурации устройства. Дождитесь ответа OK или ERROR перед отключением.
Частые вопросы
Можно ли отправить AT-команду без сторонних программ?
В Windows — через PowerShell, открыв последовательный порт как объект System.IO.Ports.SerialPort и записав в него строку команды. В Linux достаточно встроенных команд echo и cat. Однако терминальные программы удобнее для интерактивной работы.
Модем отвечает ERROR на все команды, кроме AT. В чём дело?
Вероятно, вы подключились к служебному порту (например, Diagnostics), который не обрабатывает стандартные команды, либо команды не поддерживаются прошивкой. Попробуйте другой COM-порт того же модема.
Какую скорость порта выбирать — 9600 или 115200?
Большинство современных 3G/4G-модемов работают на любой скорости благодаря автоподстройке, но если на 9600 ответа нет, попробуйте 115200. Точное значение указано в документации на устройство.
Безопасно ли вводить AT-команды — можно ли «сломать» модем?
Информационные команды (ATI, AT+CSQ, AT+CGSN) абсолютно безопасны — они только читают данные. Риск представляют команды, изменяющие настройки и записывающие данные в память. Перед их применением изучите документацию конкретной модели.
Почему в диспетчере устройств нет COM-порта модема?
Чаще всего не установлен драйвер либо модем завис в режиме Zero-CD (виртуальный дисковод). Установите ПО с виртуального CD модема или с сайта производителя, затем переподключите устройство.