Ответ +CME ERROR: 100 при отправке AT-команды на GSM-модем означает код «unknown error» — модуль отклонил команду, но не смог классифицировать причину отказа более точно. Такой ответ типичен для модемов Huawei, SIMCom, Quectel, Telit и других модулей, работающих по стандарту 3GPP TS 27.007, где код 100 зарезервирован именно для неопределённых сбоев.
Проблема в том, что «неизвестная ошибка» — это не диагноз, а признак: модем получил команду, но выполнить её не смог по внутренней причине. В этой статье разберём, в каких ситуациях возникает CME ERROR 100, как отличить программный сбой от аппаратного и какие проверки можно выполнить безопасно, не рискуя настройками устройства.
Что означает код 100 в спецификации CME ERROR
Коды +CME ERROR описаны в спецификации 3GPP TS 27.007 и используются модулями связи для отчёта об ошибках, связанных с работой самого модема (в отличие от +CMS ERROR, относящегося к SMS). Большинство кодов имеют конкретное расшифрованное значение: например, 10 — SIM не вставлена, 11 — требуется PIN-код, 13 — сбой SIM.
Код 100 стоит особняком — это «unknown», то есть модуль не смог отнести отказ ни к одной известной категории. На практике это чаще всего указывает на внутреннее состояние прошивки: команда пришла в момент, когда модем занят, не завершил инициализацию, либо запрошенная операция не поддерживается в текущем режиме работы.
Важно не путать CME ERROR 100 с простым ответом ERROR без кода. Голый ERROR обычно означает синтаксическую ошибку команды или её неподдержку, а расширенный ответ с кодом появляется только если включён режим подробных ошибок командой AT+CMEE=1 или AT+CMEE=2.
CME ERROR 100 — это не конкретная неисправность, а «неизвестная ошибка» модуля. Диагностику нужно начинать с контекста: какая команда вызвала отказ и в каком состоянии находился модем
Типичные ситуации, в которых возникает ошибка
Хотя код 100 не расшифровывает причину, практика работы с GSM-модулями показывает несколько повторяющихся сценариев. Конкретное поведение зависит от модели модема и версии прошивки, поэтому перечисленное ниже — возможные, а не гарантированные причины.
- 📡 Команда отправлена до завершения регистрации модема в сети — модуль ещё инициализируется после включения
- 💳 Проблемы с SIM-картой: ожидание ввода PIN, блокировка, плохой контакт в держателе
- ⚙️ Запрошенная операция не поддерживается текущим режимом (например, попытка отправить SMS при отсутствии регистрации в сети)
- 🔌 Нестабильное питание модуля — просадки напряжения в момент передачи, когда ток потребления резко возрастает
- 📶 Очень слабый сигнал сети или отсутствие покрытия выбранного стандарта
Отдельный частый случай — работа через USB-порт компьютера с недостаточным током. GSM-модуль в момент передачи кратковременно потребляет значительный ток, и просадка питания способна вызвать внутренний сбой, который прошивка отражает именно кодом 100.
Базовая диагностика: с чего начать
Прежде чем менять настройки, нужно локализовать сбой. Начните с простых проверок, которые не изменяют конфигурацию модема.
Первый шаг — убедиться, что модем вообще отвечает на базовые команды. Отправьте AT и дождитесь ответа OK. Затем проверьте состояние SIM и регистрации в сети:
AT+CPIN?
AT+CREG?
AT+CSQ
Команда AT+CPIN? должна вернуть READY — если вместо этого приходит запрос PIN или ошибка, проблема в SIM-карте. Ответ на AT+CREG? покажет статус регистрации: значения 0,1 или 0,5 означают, что модем зарегистрирован. Команда AT+CSQ возвращает уровень сигнала; значение 99 в первом параметре означает, что сигнал неизвестен или отсутствует.
☑️ Первичная диагностика CME ERROR 100
Если базовые команды работают, а конкретная операция возвращает код 100, добавьте паузу в несколько секунд после включения модема перед отправкой рабочих команд. Многие модули требуют времени на полную инициализацию стека сети.
Работа с SIM-картой и PIN-кодом
Значительная часть «неизвестных» ошибок связана с состоянием SIM. Если на карте установлен PIN-код, модем после включения находится в ограниченном режиме: большинство сетевых команд будут отклоняться, и часть прошивок отвечает на них именно кодом 100 вместо более информативного кода.
Проверьте статус командой AT+CPIN?. Если ответ — SIM PIN, введите код:
AT+CPIN="0000"
Вместо 0000 подставьте реальный PIN вашей SIM-карты. После успешного ввода дождитесь регистрации в сети и повторите команду, вызвавшую ошибку.
⚠️ Внимание: при вводе PIN-кода через AT-команду действует тот же лимит попыток, что и на телефоне. Несколько неверных вводов заблокируют SIM, и потребуется PUK-код. Не перебирайте PIN наугад.
Также проверьте физический контакт карты: извлеките SIM, осмотрите контакты на предмет окисления и загрязнений, аккуратно очистите их ластиком или спиртовой салфеткой и установите карту обратно до щелчка фиксатора. В устройствах с самодельным или переходным держателем SIM плохой контакт — частый источник нестабильных сбоев.
Питание модуля и качество сигнала
Недостаточное питание — одна из самых недооценённых причин нестабильной работы GSM-модулей. В момент регистрации в сети и передачи данных модуль кратковременно потребляет импульсный ток, заметно превышающий среднее потребление. Если источник питания или USB-порт не обеспечивает нужный ток, напряжение проседает, и внутренние операции завершаются сбоем.
Что можно проверить без специального оборудования:
- 🔋 Подключите USB-модем напрямую к порту компьютера, минуя хабы и удлинители
- 🔌 Для автономных модулей убедитесь, что блок питания соответствует требованиям из документации на конкретную модель
- 📏 При наличии мультиметра измерьте напряжение на модуле в момент отправки команды — просадки указывают на проблему питания
Уровень сигнала тоже имеет значение. Если AT+CSQ стабильно показывает очень низкие значения, попробуйте переместить устройство ближе к окну или подключить внешнюю антенну, если разъём для неё предусмотрен конструкцией вашей модели. На границе зоны покрытия сетевые операции могут завершаться непредсказуемыми ошибками, включая код 100.
Если ошибка появляется только при конкретной команде, включите расширенный режим ошибок AT+CMEE=2 — модем начнёт возвращать текстовое описание вместо кода, что иногда даёт больше информации
Сравнение возможных причин и действий
Сведём основные сценарии в таблицу для быстрой навигации по диагностике.
| Симптом | Возможная причина | Проверка |
|---|---|---|
| Ошибка сразу после включения | Модем не завершил инициализацию | Пауза перед командами, повтор через несколько секунд |
| AT+CPIN? возвращает SIM PIN | Ожидание ввода PIN-кода | Ввести PIN через AT+CPIN |
| AT+CREG? показывает 0,2 или 0,0 | Нет регистрации в сети | Проверить сигнал AT+CSQ, антенну, оператора SIM |
| Ошибка только при одной команде | Операция не поддерживается в текущем режиме | Сверить синтаксис с документацией на модуль |
| Сбои нерегулярные, плавающие | Питание или контакт SIM | Другой порт/БП, чистка контактов SIM |
⚠️ Внимание: не используйте команды заводского сброса и перепрошивки модема, пока не исчерпаны простые проверки. Сброс может изменить настройки, необходимые для работы с вашим оператором, а неудачная прошивка способна вывести модуль из строя. Такие операции выполняйте только по официальной документации производителя конкретной модели.
Если ничего не помогло
Когда все базовые проверки пройдены, а CME ERROR 100 продолжает появляться, логично проверить саму команду. Сверьте синтаксис с AT-справочником именно вашей модели модуля — набор поддерживаемых команд и их параметры различаются между производителями и даже ревизиями прошивки. Команда, корректная для SIM800, может не поддерживаться модулем другой серии, и наоборот.
Полезный приём — проверить модем с другой SIM-картой другого оператора. Это разделяет проблему на две части: если с чужой SIM всё работает, причина в карте или ограничениях оператора; если ошибка сохраняется — в самом модуле или его окружении.
Где искать документацию на модуль
AT-команды для конкретной модели публикуются производителем в документе «AT Command Set» или «AT Commands Manual». Ищите его на официальном сайте производителя модуля (SIMCom, Quectel, Telit, u-blox и др.) по точному названию модели, указанному на корпусе. Ответ на команду ATI покажет производителя и версию прошивки.
Узнать версию прошивки и идентификатор модуля можно командой ATI или AT+CGMR. Эти данные пригодятся при обращении к документации или в техподдержку поставщика оборудования.
Диагностика CME ERROR 100 — это процесс исключения: SIM → регистрация в сети → питание → синтаксис команды → прошивка. Двигайтесь по этой цепочке, фиксируя результат каждого шага
Частые вопросы о CME ERROR 100
Означает ли CME ERROR 100, что модем сломан?
Нет, в подавляющем большинстве случаев это программный отказ: модуль отклонил команду из-за текущего состояния (нет регистрации, ожидание PIN, занятость). Аппаратная неисправность — редкий сценарий, и она обычно проявляется полным отсутствием ответов на команды, а не кодом 100.
Чем CME ERROR отличается от CMS ERROR?
+CME ERROR относится к общим ошибкам модуля и сетевых операций, а +CMS ERROR — специфично к операциям с SMS-сообщениями. Если сбой происходит при отправке SMS, имеет смысл смотреть именно коды CMS.
Почему модем отвечает просто ERROR без кода?
Расширенные коды ошибок включены не всегда. Отправьте AT+CMEE=2, чтобы модем возвращал текстовые описания ошибок, или AT+CMEE=1 для числовых кодов. После этого вместо голого ERROR вы будете получать информативный ответ.
Может ли ошибка быть связана с оператором связи?
Да, косвенно. Если SIM не регистрируется в сети (нет покрытия, заблокирована карта, не поддерживается стандарт связи), сетевые команды будут отклоняться. Проверка с SIM другого оператора помогает это выяснить.
Поможет ли перепрошивка модема?
Перепрошивка — крайняя мера, когда исключены все остальные причины и есть подтверждённая проблема в конкретной версии ПО модуля. Выполняйте её строго по инструкции производителя вашей модели: неудачная прошивка может необратимо повредить устройство.