Команда AT+CFUN=1,1 переводит GSM/LTE-модем в режим полной функциональности с немедленной перезагрузкой — именно параметр <rst>=1 отличает её от обычной AT+CFUN=1 и заставляет модем выполнить полный программный рестарт, после которого терминал уходит в цикл повторной регистрации в сети. Если модем завис, потерял регистрацию у оператора или перестал отвечать на запросы данных, эта команда — штатный способ вернуть его в рабочее состояние без физического отключения питания.
Инструкция применима к широкому классу модемов — Quectel, SIMCom, Fibocom, u-blox и USB-свисткам на их базе, однако точное поведение команды (время рестарта, ответы терминалу, поведение UART) зависит от конкретного чипсета и прошивки. Перед использованием на новом устройстве сверьтесь с официальным AT Command Manual производителя вашей модели.
Что делает команда AT+CFUN=1,1
Команда AT+CFUN управляет функциональным уровнем модема: радиотракт, стек протоколов, регистрация в сети и доступ к SIM-карте. Формат команды — AT+CFUN=<fun>[,<rst>], где первый параметр задаёт режим работы, а второй — флаг перезагрузки.
При вызове AT+CFUN=1,1 происходит следующее: модем принимает команду, отвечает OK, после чего выполняет полный программный сброс — аналогично выключению и включению питания. Все текущие сессии разрываются: активные PDP-контексты, TCP-соединения, SMS-очереди в обработке. После рестарта модем загружается с уровнем функциональности CFUN=1, то есть сразу начинает поиск сети и регистрацию.
Ключевой момент: AT+CFUN=1,1 — это не просто включение радиомодуля, а полноценный reboot модема, после которого UART-порт может временно перестать отвечать. Скрипты и прошивки микроконтроллера, отправляющие эту команду, должны учитывать паузу перед следующими AT-запросами.
Значения параметров CFUN
Стандарт 3GPP TS 27.007 определяет базовые значения параметра <fun>, но производители расширяют список. Ниже — общепринятые режимы, поддерживаемые большинством модемов.
| Команда | Режим | Эффект |
|---|---|---|
AT+CFUN=0 | Минимальная функциональность | Радиотракт и SIM отключены, модем не ищет сеть |
AT+CFUN=1 | Полная функциональность | Все функции включены, без перезагрузки |
AT+CFUN=1,1 | Полная + сброс | Полный программный рестарт модема |
AT+CFUN=4 | Авиарежим | Радиотракт выключен, SIM доступна |
Параметр <rst> работает не со всеми значениями <fun>: у части модемов сброс поддерживается только для CFUN=1,1 и CFUN=0,1. Проверить поддерживаемые комбинации можно тестовой командой AT+CFUN=? — модем вернёт перечень допустимых значений.
AT+CFUN=1 включает модем, AT+CFUN=1,1 — включает и перезагружает. Вторая команда нужна, когда модем завис или требуется чистый рестарт стека.
Когда применять перезагрузку через CFUN
Типовой сценарий — удалённое устройство (трекер, шлюз, IoT-датчик), у которого модем перестал передавать данные, хотя микроконтроллер работает. Вместо дёргания питания прошивка отправляет AT+CFUN=1,1 и ждёт повторной регистрации в сети.
- 🔌 Потеря регистрации в сети, которую не лечит
AT+CFUN=0→AT+CFUN=1 - 📶 Модем «залип» на слабом сигнале и не переключается на другую базовую станцию
- 🔄 Зависание PDP-контекста:
AT+CGACTвозвращает ошибку при любых действиях - 🛠 Смена настроек, требующих рестарта (например, конфигурация band-ов или профиля APN на некоторых чипсетах)
Если устройство полностью перестало отвечать на AT-команды, программный рестарт уже невозможен — остаётся только аппаратный сброс по линии питания или выводу RESET, если он выведен на разъём.
Как отправить команду: практический порядок
Команда отправляется в терминал модема по UART или USB. Для USB-модемов и отладочных плат подойдёт любой терминал с настройкой окончания строк CR или CR+LF — это зависит от прошивки, обычно достаточно CR.
AT+CFUN=1,1
☑️ Безопасная перезагрузка модема
После отправки не ждите мгновенного ответа на следующие команды. Модем уходит в рестарт, и попытка слать AT-запросы сразу после OK приведёт к таймаутам. Реальная длительность перезагрузки зависит от модели: у LTE-модемов она заметно дольше, чем у GPRS-модулей. Ориентируйтесь не на фиксированную задержку, а на признаки готовности — ответ на AT и статус регистрации.
⚠️ Внимание: не отправляйте AT+CFUN=1,1 во время записи во внутреннюю файловую систему модема или обновления настроек NVM — прерывание записи способно повредить конфигурацию. Сначала завершите все операции записи и дождитесь их подтверждения.
Проверка результата после перезагрузки
Рестарт сам по себе не гарантирует выход в сеть. Последовательность проверки стандартная: сначала живость терминала, затем регистрация, затем данные.
Отправьте AT — модем должен ответить OK. Затем запросите статус регистрации: AT+CREG? для 2G/3G, AT+CEREG? для LTE, AT+CGREG? для пакетного домена. Ответ вида +CREG: 0,1 или +CREG: 0,5 означает регистрацию в домашней сети или роуминге соответственно. Значения 0,2 (поиск сети) и 0,3 (отказ в регистрации) требуют дальнейшей диагностики.
Уровень сигнала проверяется командой AT+CSQ: ответ +CSQ: 99,99 означает отсутствие известного сигнала, а низкое первое значение указывает на проблемы с антенной или покрытием. Точная интерпретация шкалы RSSI приведена в документации 3GPP и в мануале конкретного модема.
В прошивке микроконтроллера после AT+CFUN=1,1 реализуйте цикл опроса AT+CREG? с таймаутом, а не фиксированную задержку — так устройство корректно отработает и быстрый, и медленный рестарт модема.
Типичные ошибки и проблемы
Самая частая ошибка — отправка следующей команды слишком рано. Модем в рестарте молчит, скрипт считает его зависшим и повторяет AT+CFUN=1,1, запуская циклическую перезагрузку. Лечится грамотным ожиданием готовности.
- ⚡ ERROR в ответ на команду — проверьте синтаксис и поддержку параметра
<rst>черезAT+CFUN=? - 🔁 Циклические рестарты — уберите повторную отправку команды до истечения таймаута
- 📵 Нет регистрации после рестарта — проверьте SIM (
AT+CPIN?), антенну и запреты по band-ам - 💾 Потеря настроек — часть параметров хранится в энергозависимой памяти и требует повторной установки после сброса
⚠️ Внимание: на некоторых модемах параметры, заданные без сохранения в профиль (например, временные APN или настройки контекста), сбрасываются при рестарте. После AT+CFUN=1,1 восстановите рабочую конфигурацию, если она не сохранена энергонезависимо — способ сохранения зависит от модели.
Чем AT+CFUN=1,1 отличается от AT+CFUN=0,1 и команды сброса производителя
AT+CFUN=0,1 переводит модем в минимальный режим с перезагрузкой — после рестарта радиотракт останется выключенным до явной AT+CFUN=1. У многих производителей есть и собственные команды полного сброса (например, фирменные команды restart у Quectel и SIMCom), которые могут отличаться поведением: где-то это аналог CFUN=1,1, где-то — более глубокий сброс. Точный набор смотрите в AT Command Manual вашей модели.
Альтернативы полному рестарту
Полная перезагрузка — крайняя мера. Часто достаточно более мягких действий, которые не рвут сессии надолго: цикл AT+CFUN=0 → пауза → AT+CFUN=1 перезапускает радиотракт и регистрацию без рестарта всего стека. Для проблем с передачей данных иногда помогает деактивация и повторная активация PDP-контекста через AT+CGACT.
Выбор зависит от симптома: если модем отвечает на команды и проблема только в сети — начинайте с мягкого цикла. Если стек ведёт себя непредсказуемо, команды возвращают ошибки без причины или модем зависает периодически — оправдан полный рестарт через AT+CFUN=1,1.
Диагностируйте по нарастающей: сначала CFUN 0→1, затем CGACT, и только если это не помогло — полный рестарт AT+CFUN=1,1.
Частые вопросы
Чем AT+CFUN=1,1 отличается от AT+CFUN=1?
AT+CFUN=1 просто включает полную функциональность модема. AT+CFUN=1,1 дополнительно выполняет полную программную перезагрузку: все сессии разрываются, стек стартует заново, после чего модем регистрируется в сети.
Сколько ждать после AT+CFUN=1,1 перед следующей командой?
Единого значения нет — время рестарта зависит от модели и прошивки. Надёжный подход: опрашивать модем командой AT до получения OK, затем проверять регистрацию через AT+CREG? или AT+CEREG?.
Модем ответил ERROR на AT+CFUN=1,1. Что делать?
Проверьте поддержку параметра сброса командой AT+CFUN=? — она вернёт допустимые значения для вашей прошивки. Возможно, конкретная модель поддерживает рестарт только через фирменную команду производителя.
После перезагрузки модем не регистрируется в сети. В чём причина?
Проверьте состояние SIM (AT+CPIN?), уровень сигнала (AT+CSQ), статус регистрации (AT+CREG?) и настройки band-ов/APN, если они сбрасываются при рестарте. Также убедитесь, что антенна подключена к правильному разъёму.
Можно ли использовать AT+CFUN=1,1 как watchdog для удалённого устройства?
Да, это распространённая практика: при потере связи прошивка МК отправляет команду и ждёт восстановления регистрации. Важно предусмотреть корректное ожидание рестарта и ограничение числа попыток, чтобы не получить циклические перезагрузки.