Ошибка CME ERROR 3 возникает при отправке AT-команды GSM/GPRS-модему и означает «operation not allowed» — операция не разрешена в текущем состоянии устройства. Модем физически исправен и связь с ним есть, но конкретное действие — отправка SMS, установка соединения, смена настроек — в данный момент заблокировано. Чаще всего причина кроется в состоянии SIM-карты, PIN-коде или регистрации в сети, а не в самой команде.
Такой ответ возвращают модемы Simcom, Quectel, Huawei, Telit и другие модули, работающие по стандарту 3GPP TS 27.007. Ошибка относится к группе +CME ERROR, которая сообщает о сбоях оборудования и сети, в отличие от +CMS ERROR, отвечающей за проблемы SMS-сервиса. Ниже разберём, как диагностировать источник проблемы и устранить её без риска для оборудования.
Что означает код CME ERROR 3
Код 3 в спецификации AT-команд соответствует ситуации, когда модем понял команду синтаксически, но не может её выполнить из-за текущего режима работы. Это принципиально отличается от ошибки ERROR без кода — та означает, что команда не распознана вовсе, например из-за опечатки.
Конкретная трактовка зависит от контекста. Одна и та же команда AT+CMGS для отправки SMS вернёт CME ERROR 3, если SIM-карта не разблокирована PIN-кодом, модем не зарегистрирован в сети или оператор запретил исходящие сообщения на данном тарифе. Поэтому диагностику стоит начинать с проверки состояния, а не с переписывания команды.
Основные причины появления ошибки
Практика работы с GSM-модулями показывает, что круг причин ограничен и хорошо известен:
- 🔐 SIM-карта ожидает ввода PIN-кода — модем загрузился, но функции связи заблокированы до ввода
AT+CPIN. - 📶 Нет регистрации в сети — модем не подключился к оператору, поэтому звонки, SMS и передача данных недоступны.
- 💳 Ограничения тарифа или блокировка SIM — исчерпан баланс, услуга SMS не подключена, SIM заблокирована оператором.
- 📵 Режим полёта или отключённый радиомодуль — функциональность снижена командой
AT+CFUN=0илиAT+CFUN=4. - 🧩 Команда не поддерживается в текущем режиме — например, попытка работы с SMS в текстовом режиме, когда модем настроен на PDU, или наоборот.
Отдельно стоит сказать о несовместимости SIM-карты и модема. Старые модули 2G не работают в сетях, где оператор отключил GSM, а некоторые SIM формата «только данные» не поддерживают голос и SMS. Если модем раньше работал с другой картой, а с новой выдаёт CME ERROR 3 — проверьте поддержку нужных услуг у оператора.
Быстрая диагностика: проверка PIN и регистрации
Первый шаг — опросить модем о его состоянии. Подключитесь к COM-порту через терминал (например, PuTTY, HTerm или монитор порта Arduino IDE) и выполните базовые команды. Скорость порта и параметры подключения зависят от модели модема — сверьтесь с документацией производителя.
AT
AT+CPIN?
AT+CREG?
AT+CFUN?
AT+COPS?
Команда AT должна вернуть OK — это подтверждает, что связь с модемом есть. Ответ AT+CPIN? покажет состояние SIM: READY означает, что PIN введён или не требуется, а SIM PIN — что модем ждёт код. Регистрацию в сети проверяет AT+CREG?: ответ вида +CREG: 0,1 или +CREG: 0,5 означает регистрацию в домашней сети или роуминге соответственно.
Если AT+CFUN? возвращает 0 или 4, модем работает в ограниченном режиме. Верните полную функциональность командой AT+CFUN=1, дождитесь перезагрузки радиомодуля и повторите проверку регистрации.
⚠️ Внимание: при вводе PIN-кода через AT+CPIN="0000" действует стандартное ограничение SIM-карты на число попыток. После нескольких неверных вводов карта потребует PUK-код, а при исчерпании и его попыток — заблокируется окончательно. Убедитесь, что знаете правильный PIN, прежде чем отправлять команду.
☑️ Диагностика CME ERROR 3
Устранение ошибки при отправке SMS
Наиболее частый сценарий — CME ERROR 3 при выполнении AT+CMGS. Здесь помимо PIN и регистрации важен режим SMS. Проверьте текущий режим командой AT+CMGF?: значение 1 — текстовый режим, 0 — PDU. Если вы отправляете обычный текст, а модем в PDU-режиме, команда будет отклонена или выполнена некорректно.
Установите нужный режим явно: AT+CMGF=1 для текстового. Затем проверьте номер SMS-центра командой AT+CSCA?. Пустой или неверный номер SMSC — одна из скрытых причин отказа отправки, при этом модем может отвечать именно CME ERROR 3, а не более информативным кодом. Корректный номер центра сообщений уточняется у оператора и обычно подтягивается с SIM автоматически.
Порядок действий при отправке SMS:
- 📝 Убедитесь, что
AT+CPIN?возвращаетREADY. - 📡 Дождитесь регистрации:
AT+CREG?должен дать статус 1 или 5. - ✉️ Установите режим
AT+CMGF=1и проверьтеAT+CSCA?. - 📤 Отправьте
AT+CMGS="+7XXXXXXXXXX", затем текст и завершите символом Ctrl+Z (код 0x1A).
Ошибка при передаче данных и в проектах на микроконтроллерах
При установке соединения передачи данных (команды семейства ATD, AT+CGATT, настройка APN через AT+CGDCONT) CME ERROR 3 обычно указывает на то, что модем не прикреплён к пакетной сети. Проверьте AT+CGATT? — ответ 1 означает подключение к GPRS/LTE-сервису. Если возвращается 0, выполните AT+CGATT=1 и подождите несколько секунд.
В проектах на Arduino, ESP32 и STM32 добавляется классическая проблема таймингов: скетч отправляет команду сразу после подачи питания, когда модем ещё не завершил загрузку и регистрацию. Модуль отвечает CME ERROR 3, потому что сеть ещё не найдена. Решение — перед отправкой рабочих команд циклически опрашивать AT+CREG? и переходить к основной логике только после успешной регистрации.
Также проверьте уровни сигналов и питание модуля. Просадки питания в момент передачи могут сбрасывать радиочасть, и модем теряет регистрацию — внешне это выглядит как периодический CME ERROR 3 без видимой закономерности. Требования к питанию указаны в datasheet конкретного модуля.
Почему ошибка появляется «через раз»
Нестабильная регистрация в сети — слабый сигнал, перегруженная базовая станция или просадки питания — приводит к тому, что одна и та же команда то выполняется, то отклоняется. Проверьте уровень сигнала командой AT+CSQ: первое число ответа показывает RSSI, значение 99 означает «сигнал неизвестен». Устойчиво низкие значения — повод проверить антенну и её подключение.
Таблица: состояния модема и типичные действия
| Команда проверки | Нормальный ответ | Что делать при отклонении |
|---|---|---|
AT+CPIN? | READY | Ввести PIN: AT+CPIN="код" |
AT+CREG? | +CREG: 0,1 или 0,5 | Проверить антенну, SIM, покрытие оператора |
AT+CFUN? | +CFUN: 1 | Выполнить AT+CFUN=1 |
AT+CSCA? | Номер SMSC оператора | Задать номер через AT+CSCA |
AT+CGATT? | +CGATT: 1 | Выполнить AT+CGATT=1, проверить APN |
⚠️ Внимание: точный синтаксис команд и набор поддерживаемых статусов зависят от модели модема и версии прошивки. Перед настройкой сверьтесь с официальным AT Command Manual производителя вашего модуля — расширенные команды у Simcom, Quectel и Huawei различаются.
Когда ошибка не устраняется программно
Если все проверки пройдены, а CME ERROR 3 сохраняется, круг подозреваемых сужается. Вставьте SIM-карту в обычный телефон: если и там услуга недоступна — проблема на стороне оператора или самой карты, и решать её нужно через поддержку оператора или замену SIM.
Обратный тест — другая SIM в том же модеме. Если с ней всё работает, причина в карте или её тарифе; если нет — возможен аппаратный дефект модуля или проблема прошивки. Перепрошивка модема — рискованная операция, выполнять её стоит только по официальной инструкции производителя и при наличии подтверждённой необходимости.
Частые вопросы о CME ERROR 3
Чем CME ERROR 3 отличается от CMS ERROR?
+CME ERROR — ошибки оборудования и сетевых функций модема по стандарту 3GPP 27.007. +CMS ERROR — ошибки именно SMS-сервиса (3GPP 27.005). Код 3 в группе CME означает «операция не разрешена», тогда как проблемы доставки сообщения обычно возвращаются как CMS.
Может ли CME ERROR 3 появиться из-за баланса SIM-карты?
Да, это возможная причина: при нулевом балансе или блокировке оператор не пускает исходящие вызовы и SMS, и модем может вернуть CME ERROR 3. Проверьте баланс через USSD с этой SIM в телефоне или личный кабинет оператора.
Команда введена верно, но модем отвечает CME ERROR 3. Почему?
Синтаксическая правильность не гарантирует выполнение. Код 3 означает, что действие запрещено в текущем состоянии: не введён PIN, нет регистрации в сети, включён ограниченный режим AT+CFUN или услуга не поддерживается SIM. Начните с диагностических команд из этой статьи.
Помогает ли перезагрузка модема?
Иногда — если ошибка вызвана временным сбоем регистрации или зависшим состоянием радиомодуля. Но если причина в PIN-коде, тарифе или настройках (SMSC, APN), после перезагрузки ошибка вернётся. Перезагрузка — шаг диагностики, а не решение.
Где найти расшифровку других кодов CME ERROR?
Полный перечень кодов приведён в спецификации 3GPP TS 27.007 и в документации AT-команд конкретного модема. Производители могут добавлять собственные расширенные коды, поэтому для модулей Simcom, Quectel и других ориентируйтесь на официальный мануал модели.