AT+CFUN=2

Это утверждённая версия страницы. Она же — наиболее свежая версия.

Содержание
  1. Включение и начало работы
  2. Общая информация
  3. АТ команды для оборудования Huawei
  4. Как подключиться к модему и ввести АТ команду
  5. My Huawei Terminal
  6. Почему 4G-модем не распознает AT команды
  7. Управление и перезагрузка
  8. Сторожевые таймеры WDT
  9. Настраиваемый сторожевой таймер WDT
  10. Ненастраиваемый сторожевой таймер WDT
  11. Переключение между SIM-картами
  12. Работа с вводом/выводом общего назначения
  13. Вход GPI
  14. Выход GPO
  15. Работа интерфейсов RS232 и RS485 с UART1 и UART2 GSM-модуля
  16. Переключение активной sim-карты
  17. Утилита wb-gsm
  18. Конфигурируем Asterisk
  19. Интернет через PPP
  20. Быстрый выход в интернет
  21. Автоматический запуск подключения
  22. Резервирование канала связи
  23. Мультиплексирование
  24. Документация на модемы
  25. Пигтейлы и внешние адаптеры питания
  26. Готовые платы с питанием для чипа и USB интерфейсом
  27. Выбор подходящих модемов
  28. GPRS на модемах SIM7000E 2G/NB-IoT
  29. Получение информации о модеме
  30. Несколько слов о VoLTE и звонков через IP в современных сетях
  31. MBN профили и их подбор
  32. Проверка статуса IMS и его активация при необходимости
  33. Танцы по включению VoLTE
  34. Удача или нет, и что делать если мы не вкинулись
  35. А если я все сделал, но +QCFG
  36. Интернет с 4G-модемом (LTE)
  37. Настройка модема как сетевой карты
  38. Настройка виртуальной сетевой карты
  39. Низкоуровневая работа по uart
  40. Подключение в linux
  41. Что нужно учитывать с LTE модемами
  42. Предварительные настройки
  43. Как я решал проблему питания
  44. Новое время – новые вызовы
  45. Работа с sms и ussd
  46. Примеры команд gammu
  47. SMS и USSD на русском
  48. Узнайте больше о Huawei

Включение и начало работы

Чтобы начать работу с модемом, нужно:

  • Вставьте sim-карту.
  • Подключите антенну.
  • Перезапустите модем, выполнив команду

После каждой смены sim-карты необходимо перезапускать модем.

Общая информация

В контроллеры Wiren Board могут быть установлены 2G/3G/4G(LTE)/NB-IOT модемы — зависит от комплектации.

С помощью модемов можно:

  • отправлять и принимать SMS,
  • подключаться к интернету по протоколу PPP для 2G- и 3G-модемов, а также настраивать 4G-модем как сетевую карту с выходом в интернет.

Модемы подключаются к процессору по uart и usb, исключение — модемы 2G.
Подробнее о подключении модемов и низкоуровневом взаимодействии с ними можно почитать в разделе Низкоуровневая работа по uart.

Управление питанием и переключением активных sim-карт (если их две) производится с помощью gpio, процесс описан в разделе Переключение активной sim-карты.

Включение и отключение модема рекомендуем делать с помощью утилиты wb-gsm.

I am working on an application where I am connecting to the network, sending some data and then disconnect using CFUN=4, in order to achieve low power for my application.

This seems to work pretty well in most cases.

My theory on this is that the modem keeps track of the cells that it was rejected from and for that reason it does not try to connect to these cells again (at least for some time days, as my device is triggered to reset every 3 days. After that reset the device is able to connect to the network again).

After AT+CFUN=1 for the first time in my test the device will detect a cell that my SIM card cannot connect to. After performing CFUN=4 and again CFUN=1, I will not longer the +CEREG message related to that cell, I make sure to allow the device to scan for networks until it gives up).

Now if I do CFUN=0 and then CFUN=1, I will see that cell once again.

So my questions are these:

Is my above observation correct or is it a struck of luck (I have run this test several times with the same result: Once the device detects a cell that it cannot connect to, in any subsequent scan attempt I will not the CEREG message for that cell, except if I use CFUN=0 instead of CFUN=4 in between)?

Does CFUN=4 allow the device to maintain some information about previously scanned cells?

Does this information play a role in connecting faster to the cell the device was connected to before the CFUN=4 command? If I was to use CFUN=0 will it cause the device to have to do a “cold” scan in order to connect?

Will there be a difference in the time needed to connect if I do CFUN=0 instead of CFUN=4?

What are the differences between offline and air-plane mode?

I am using modem firmware version 1.3.0 and nRF SDK 1.6.0

хотя после команды at^setmode=1 приходит ответ ОК

после этого модем нужно перезагрузить ат командой

Добавлено 14.11.2022, 16:45:

но не в Кинетике не в ZBT на Rooter модем работать не хоче

в кинетике должен стомять пакет поддержки QMI модемов

Мой dw5829e выдает тотже самое в роутере.Попробуй выставитьat^setmode=7и перегрузить модем по питанию.

К сожалению не помоглоА есть какая-то команда сброса настроек на данном модеме? Хотел RESET попробовать сделать, не могу найти

Модем перезагружается, запускаю заново терминал и получаю тот же ответ ^SETMODE:81E0

Какие ещё есть мысли?)

Для статистики, “кастрат”, T77W968.54, USBVID_413C&PID_81E4&REV_0318&MI_00, отзывается на DW5829e-eSIM Snapdragon X20 LTEПод W8.1 дров не найти, из FTM был выведен через WMVare Player и W10, после этого заработал и в W8.1 и в ROOter (в rooter недоступна информация).

Device is in: 1, FTM

UPD. После игры с customer инфа по модему появилась

Сообщение отредактировал KJohn – 14.11.22, 17:36

В принципе, просверлить можно.

ну вообще там по бокам ребра, кто знает. В общем да, приедет, увидим.

Этот пост читали?

неа. Но судя по ответам на али, модемные как раз там IPEX4(MHF4).

Сообщение отредактировал powershot720 – 14.11.22, 18:30

Внутри хвосты – да, MHF4, а вот ответка, там RP-SMA не забывайте об этом моменте, если будете заказывать вторую пару пигтейлов + антеннки (рога)

JekaPDA,хорошо, обращу на это внимание, спасибо!

всё тоже самое, по прежнему ^SETMODE:81E0

Тогда ещё раз прошить. Может прошивку взять другую, по младше? У меня тоже нет тогда мыслей других. Шьётся без ошибок? Несколько раз при прошивке перезагружается?Попробуй F1.0.0.4. версии.

Сообщение отредактировал powershot720 – 14.11.22, 17:50

Скажите, вы используете внешнюю антенну в случае с WG1608, или штатные?. У меня модуль Fibocom L860 GL, прошивка Rooter от 21.07.2022. Результаты скромнее. 95/86mbps. Использую штатные антенны.

Извиняюсь, за глупый вопрос, а как это сделать? В шапке нашёл, но что-то не понимаю, как произвести смену композиции, какой командой

AT^CUSTOMER=2 – TELIT(Я извиняюсь за опечатку. AT^SETMODE=(1 или 2)- это режим работы MBIM или QMI )

Сообщение отредактировал powershot720 – 14.11.22, 18:34

“Завод 860 в OpenWRT (пакет ПолВторого)”

Вот что там было:

Вашему вниманию предлагается пакет, для установления соединения интернет сотового оператора через модем Fibocom L860.По сути пакет представляет собой набор скриптов для автоматического коннекта.Краткая инструкция:1. Обновить список пакетов.2. Загрузить и установить пакет xmm-modem3. Настроить параметры соединения в /etc/config/xmm-modemconfig xmm-modemoption enable ‘1’ # Задействавать скрипты подключения.option device ‘/dev/ttyACM0’ # Последовательный порт модема, может быть /dev/ttyACM2option apn ‘internet’ # APN сотового оператора

4. Создать новый неуправляемый интерфейс, с физическим устройством eth1, eth2, usb0 либо wwan0. Поставить галку Force Link в свойствах интерфейса.Как это будет в локализованном интерфейсе, не знаю.

А можно подробней что там должно при этом быть?Игрался с этим режимом, mbim не появился, пропадали драйвера для портов (подкидывал вручную).

Это dl/ul или просто разбег download?

AT+CFUN=2

AT+CFUN=2

Сообщение отредактировал Rodstvennik63 – 14.11.22, 18:43

Сообщение отредактировал powershot720 – 14.11.22, 19:10

Стандартные AT команды для модема были созданы компанией Hayes во время разработки устройства Smartmodem-300 baud. Эти уникальные для каждого производителя команды расширяют и дополняют общепринятый список АТ-команд.

Стандартные AT команды для модема для беспроводного интернета были созданы компанией Hayes во время разработки устройства Smartmodem-300 baud. После появления устройств для формата связи GSM производители сетевого оборудования предложили разработать единый стандарт АТ команд для модемов стандарта GSM07.05 и GSM07.07. Несмотря на существующий набор стандартных команд, создатели модемов часто создают и используют индивидуальные команды, предназначенные для собственного продукта. Эти уникальные для каждого производителя команды расширяют и дополняют общепринятый список АТ-команд.

АТ команды для оборудования Huawei

Наиболее полезные и универсальные АТ команды для GSM модемов:

  • Предназначена для быстрого вывода сведений об устройстве.
  • AT+CFUN=1. Перезагрузка модема Huawei для скоростного интернета в деревне. После этой команды устройство самостоятельно производит регистрацию в сети провайдера.
  • AT+CGMI. Предоставляет юзеру сведения о производителе устройства.
  • AT+CGMR. Данные о текущей версии программного обеспечения.
  • AT+CIMI. Выводит сведения о IMSI номере сим-карты.
  • AT+CGSN. С помощью этой команды пользователь может узнать IMEI устройства.
  • AT^HWVER. Сведения об аппаратном оснащении.
  • AT+CSQ. Предоставляет информацию о текущем уровне сигнала.
  • AT^CMGL. Выводит перечень доступных АТ-команд.
  • AT+CGMM, AT+GMM. Выводит данные о полном названии модели оборудования.
  • AT+COPS. Предоставляет данные о провайдере, к сети которого подключено устройство.
  • AT^U2DIAG?. Показывает текущий режим работы.
  • AT^GETPORTMODE. Предоставляет перечень устройств, установленных в модеме.
  • AT^VERSION?. Показывает используемую версию прошивки.
  • AT+CLAC. Выводит перечень команд, которые поддерживает модем по умолчанию.

AT команды для модема Huawei E3372, активирующие голосовые функции, выглядят так:

  • AT^CVOICE=?. Тестирование статуса голосовых функций, где нулевое значение указывает на активный режим.
  • AT^CVOICE=0. Активация голосовых опций модемного устройства.

AT^U2DIAG=0. Huawei E3372H перевести в режим «только модем» можно с помощью этой команды.

Активация и деактивация режимов WCDMA, HSDPA, HSPA+, HSPA осуществляется при помощи таких команд:

  • AT^HSDPA=1. Предназначена команда для активации режима HSDPA.
  • AT^HSDPA=0. Деактивация HSDPA.
  • AT^HSUPA=1. Включение HSUPA.
  • AT^HSUPA=0. Выключение HSUPA.
  • AT^HSPA=0. Выбор режима WCDMA.
  • AT^HSPA=1. Выбор HSDPA.
  • AT^HSPA=2. Выбор режима HSPA.
  • AT^HSPA=3. Выбор HSPA+.
  • AT^SYSCFG=13,1,3FFFFFFF,2,4. Работа исключительно в GPRS и EDGE.
  • AT^SYSCFG=14,2,3FFFFFFF,2,4. Функционирование только 3G и WCDMA.
  • AT^SYSCFG=2,1,3FFFFFFF,2,4. Функционирование желательно GPRS и EDGE.
  • AT^SYSCFG=2,2,3FFFFFFF,2,4. Предпочтение режимам 3G и WCDMA.

Вводить команды можно только в офлайн-режиме или когда устройство работает в режиме «только модем» и не поддерживает голосовые функции.

Системные AT-команды для модемных устройств, работающих на процессоре ICERA, а именно модемы ZTE MF 192 и ZTE MF 652:

  • AT%USBMODEM=0. Позволяет переключить режим использования только на модем, отключая CD-ROM.
  • AT%USBMODEM=1. Переключает работу устройства в режим «Модем+CD ROM».

АТ команды позволяют осуществлять более тонкую настройку сетевого оборудования.

AT+CFUN=2

Как подключиться к модему и ввести АТ команду

Процесс подключения к модемному устройству для интернета на даче в Санкт-Петербурге может выполняться несколькими вариантами:

  • с помощью программы Hyperterminal (ранее она входила в стандартный набор служебных программ Виндовс, но для версий ОС выше Windows XP ее придется скачивать дополнительно);
  • с помощью терминала;
  • с помощью официальных программ разработчика, к примеру, My Huawei Terminal.

Для правильного подключения оболочки терминала к устройству владельцу следует выяснить, какой порт используется оборудованием и какова его скорость работы.

На Виндовс эти сведения уточняют следующим образом:

  • кликнуть ПКМ по ярлыку «Мой компьютер» и перейти в свойства;
  • в сгенерированном окне зайти в «Диспетчер устройств»;
  • в предоставленном списке устройств выбрать нужный модем и зайти в его свойства с помощью ПКМ;
  • открыть пункт «Модем» и изучить информацию о СОМ-порте и скорости.

Мобильные USB-модемы подключаются через виртуальный порт с помощью эмулятора. После запуска этого терминала программа автоматически подключится к оборудованию, применив нужные параметры.

Ввод команд имеет такие особенности:

  • любая команда начинается с префикса АТ;
  • после АТ ставят символ «+», «&» или «^»;
  • только после этого пишут команду с нужными параметрами.

Для проверки модемного устройства на прием АТ-команд юзеру следует ввести общую команду АТ.  Если устройство реагирует на команды, в окне программы появится такая надпись:

В случае написания команды с ошибочными параметрами модем оповестит об этом владельца.

My Huawei Terminal

Программа My Huawei Terminal создана для ввода и отправки АТ-команд USB-модему производства компании Huawei.

Работа с этой утилитой осуществляется по такой схеме:

  • Запустить ее.
  • Открыть верхнюю строку с помощью кнопки со стрелкой и указать порт, используемый модемом.
  • Кликнуть по строке Proprietary USB Modem.
  • Активировать соединение с модемом с помощью кнопки Connect.
  • Ввести нужную команду в нижней строчке.

После отправки команды пользователю останется только дождаться ответа от модема.

Почему 4G-модем не распознает AT команды

Современные мобильные модемы практически всегда оснащены блокиратором АТ-команд.

Для разблокировки следует выполнить такие операции:

  • выполнить смену прошивки на версию, поддерживающую ввод команд;
  • перевести устройство в режим работы, подходящий для ввода АТ команд.

Только старые модели модемов без проблем распознают стандартные АТ-команды и реагируют на них.

Модем iRZ TG21.А, а также GSM/GPRS-модем iRZ TG21.B являются двухдиапазонными (900/1800 МГц) устройствами. Подключаясь к сетям сотовой связи с помощью SIM-карт, они принимают и передают необходимую информацию. Приборы поддерживают GPRS десятого класса, что предполагает скорость до 85,6 кбит/сек, и стек протоколов TCP/IP.

Сферы применения модемов разнообразны. Их используют:

  • в системах автоматизированного сбора данных с приборов учета электроэнергии,
  • в банкоматах,
  • в торговых автоматах
  • и других устройствах

В чем различия GSM-модема iRZ TG21.А и GSM-модема iRZ TG21.B? Модель А не предполагает наличия встроенного блока питания. Потому этот модем стоит дешевле. Модель B оснащена блоком питания и может напрямую подключаться к промышленной сети 220В.

Перед подачей питания необходимо установить SIM-карты в модем iRZ TG21.А(B).

⚠ Перед установкой и удалением SIM-карт необходимо отключить питание модема.

Для установки SIM-карты требуется:

  • Достать лоток SIM-карты, нажав на соответствующую кнопку
  • Установить SIM-карту в лоток.
  • Вставить лоток с SIM-картой в модем.

⚠ Установка лотка с SIM-картой не требует больших физических усилий. Если лоток с SIM-картой не входит в корпус модема, переустановите SIM-карту и попробуйте вставить лоток повторно.

После установки SIM-карт необходимо подключить GSM-антенну и коммутирующий кабель к интерфейсу RS485 или RS232, а затем подать питание на модем.

⇲ GSM-антенна, коммутирующие кабели и блок питания в комплект не входят.

Запуск модема iRZ TG21.А или iRZ TG21.B произойдёт сразу после подачи питания, зеленый индикатор начнёт часто мигать. Если на SIM-карте отключен запрос PIN-кода, устройство автоматически зарегистрируется в сети. После завершения регистрации модем перейдёт в рабочий режим, частота мигания индикатора снизится.

Основное назначение модема – удаленный опрос приборов по CSD-каналу, поэтому по умолчанию в него записаны следующие настройки:

  • AT+IPR=9600 – скорость обмена COM-порта 9600 бит/с;
  • ATS0=1 – автоматический ответ модема на звонок;
  • AT&C1 – настройка DCD режима;
  • AT&D0 – модем игнорирует состояние DTR;
  • AT+CBST=71,0,1 – настройка передачи данных;
  • ATE0 – эхо отключено;
  • AT&K0 – управление потоком данных для RS232 отключено;
  • AT&W – в профиле 0 сохраняется полная конфигурация модема.

Управление и перезагрузка

Управление модемом осуществляется стандартными AT-командами. Перезагрузить модем можно двумя способами:

Сторожевые таймеры WDT

В модеме предусмотрено для типа сторожевых таймеров WDT: настраиваемый и ненастраиваемый. Они отвечают за перезагрузку GSM-модуля устройства iRZ TG21. Оба таймера работают независимо друг от друга.

Настраиваемый сторожевой таймер WDT

  • 0 – не перезагружать GSM-модуль;
  • 1 – перезагрузить GSM-модуль один раз;
  • 2 – периодически перезагружать GSM-модуль;

Пример АТ-команды: AT#ENHRST=2,60 – перезагружать GSM-модуль раз в 60 минут.

Ненастраиваемый сторожевой таймер WDT

Ненастраиваемый сторожевой таймер WDT реализован на отдельной микросхеме. Он перезагружает GSM-модуль 1 раз в 24 часа вне зависимости от работы настраиваемого WDT. Ненастраиваемый WDT сработает, даже если GSM-модуль завис. Таймер начинает отсчёт времени с момента подачи питания на модем iRZ TG21.

Переключение между SIM-картами

По умолчанию модем работает только с SIM1. Чтобы модем переключился между SIM-картами, нужно подать подряд несколько АТ-команд.

АТ-команды для переключения модема между SIM-картами модема iRZ TG21.А или iRZ TG21.B

Работа с вводом/выводом общего назначения

Модемы iRZ TG21.А или iRZ TG21.B оборудованы входом GPI типа «сухой контакт» и выходом GPO для питания внешних устройств.

Вход GPI

Вход GPI типа «сухой контакт» может быть использован для подключения датчиков, кнопок и других устройств, имеющих нормально разомкнутое или нормально замкнутое состояние. Вход GPI подключен к контакту GPIO_4 GSM-модуля. Схема подключения устройств к входу GPI изображена на схеме:

AT+CFUN=2

Схема подключения устройств ко входу GPI модема iRZ TG21 А (B)

  • 0 – вход;
  • 1 – выход;
  • 0 – замкнут;
  • 1 – разомкнут.
  • #GPIO: 0,0 – GPIO_4 замкнут;
  • #GPIO: 0,1 – GPIO_4 разомкнут.

Выход GPO

Выход GPO предназначен для питания внешних устройств, интерфейсов и датчиков. Выход GPO может подать на подключенные устройства фиксированное напряжение 7,5 В либо выполнить коммутацию напряжения питания.

Величина напряжения на выходе GPO в режиме коммутации напряжения питания может принимать следующие значения:

  • при питании от внешнего источника постоянного тока от 7 до 40 В – напряжение на выходе GPO равно поданному;
  • при питании от сети ~220 В – напряжение на выходе GPO 12 В.

Управление выходом GPO осуществляется следующими АТ-командами:

  • AT#GPIO=1,1,1 – включить коммутацию напряжения питания;
  • AT#GPIO=1,0,1 – выключить коммутацию напряжения питания;
  • AT#GPIO=2,1,1 – подать напряжение 7,5 В на GPO;
  • AT#GPIO=2,0,1 – отключить подачу напряжения 7,5 В на GPO.

Схема подключения устройств к выходу GPO изображена на рисунке:

AT+CFUN=2

Схема подключения устройств к выходу GPO модема iRZ TG21 А (B)

Работа интерфейсов RS232 и RS485 с UART1 и UART2 GSM-модуля

Интерфейсы RS232 и RS485 работают с UART1 и UART2 GSM-модуля в двух режимах:

  • Оба интерфейса – RS232 и RS485 – подключены к UART1. Этот режим задан по умолчанию.
  • RS232 подключен к UART1, RS485 – к UART2.

Чтобы установить режим работы интерфейсов RS232 и RS485 с UART1 и UART2, необходимо отправить АТ-команду:

  • AT#GPIO=3,0,1 – оба интерфейса – RS232 и RS485 – подключены к UART1;
  • AT#GPIO=3,1,1 – RS232 подключен к UART1, RS485 – к UART2.

⇲ После каждой перезагрузки модема, в т. ч. после срабатывания сторожевого таймера WDT, оба интерфейса – RS232 и RS485 – будут подключены к UART1.

Для настройки UART2 используется следующая АТ-команда:

Пример АТ-команды: AT#SII=1,9600,3 – включить UART2, скорость передачи данных 9600 бод, формат 8 бит данных и 1 стоп-бит.

AT+CFUN=2

ЛЭРС УЧЁТ — Современная автоматизированная система диспетчеризации и сбора архивных данных с приборов учета

  • Поддержка более 370 типов приборов учета тепла, воды, электроэнергии и др.
  • Автоматический и ручной опрос GSM/GPRS модемов, УСПД
  • АРМ + WEB-интерфейс + мобильное приложение (Android / iOS)
  • Таблицы, графики, отчеты, карты, мнемосхема, журналы работ, профиль мощности, анализ данных и НС
  • Без абонентской платы, бесплатная лицензия

Переключение активной sim-карты

По умолчанию активна Sim1 — в каждый момент времени только одна sim-карта может быть активной.

Переключить модем на другую sim-карту можно с помощью gpio процессора. Узнать его номер можно двумя способами:

  • выполнить команду
  • найти SIM Slot Select gpio в таблице gpio контроллера.

По умолчанию, этот gpio уже экспортирован в sysfs, поэтому, для переключения активной sim-карты с 1 на 2, нужно выполнить команду (в примере, номер gpio для переключения sim-карт – 88):

Соответственно, для переключения обратно на sim1, нужно записать 0.

Подробнее о работе с gpio можно узнать из статьи Работа_с_GPIO.

Для того чтобы новая sim-карта стала активной, нужно выполнить следующие AT-команды (см. раздел о работе с AT-командами):

Утилита wb-gsm

Для упрощения работы с модемами была написана утилита wb-gsm, которая входит в пакет wb-utils.

Утилита wb-gsm входит в состав пакета wb-utils, который предустановлен на все контроллеры Wiren Board.

С помощью wb-gsm вы сможете:

  • управлять питанием модемов, команды on, off, restart_if_broken;
  • настраивать baudrate связи по uart, команды init_baud, set_speed;
  • получать imei, команда imei.

Все команды wb-gsm можно посмотреть в репозитории на Github по ссылке в начале раздела.

Пример использования утилиты wb-gsm для получения imei модема, флаг DEBUG=true — выводить отладочную информацию:

Конфигурируем Asterisk

Ставим chan-quectel из ссылки. Там все описано подробно, не будут копировать.

Последним пунктом инструкции идет копирование конфигурационного файла quectel.conf в папку с Asterisk. После его выполнения нужно сделать следующее:

  • Настроить загрузку модуля в modules.conf не забыв заблокировать chan_dongle как лишний (если вы все модемы GSM убрали);load = chan_dongle.so load = chan_quectel.so
  • Настроить параметры в quectel.confcontext=incoming – вставить нужное вам согласно dialplanimei=816068516637705 – вставить IMEI вашего модема, которую мы получили раньше;audio= и ;data= – закомментируем эти 2 параметра, так как по моей просьбе разработчик добавил фичу автопоиска устройств упарвления и звука в модуль.rxgain=2 и txgain=-1 – конкретно у меня эти параметры такие. Можно начать с значений по умолчанию, но не забываем что иногда это помогает решить разные эффекты бочке и эхо.
  • Модифицируем dialplan в extensions.confТак как я говорю про свою систему, я ссылаюсь на свой файл из предыдущих статей.было достаточно провести элементарные :%s/dongle0/quectel0/g для всех моих устройств;было достаточно провести элементарные :%s/Dongle/dongle0/Quectel/quectel0/g для всех моих устройств.было достаточно провести элементарные :%s/DONGLENAME/QUECTELNAME/g для всех моих устройств.
  • было достаточно провести элементарные :%s/dongle0/quectel0/g для всех моих устройств;
  • было достаточно провести элементарные :%s/Dongle/dongle0/Quectel/quectel0/g для всех моих устройств.
  • было достаточно провести элементарные :%s/DONGLENAME/QUECTELNAME/g для всех моих устройств.

Далее простое в консоли Asterisk:

module unload cahn_donglemodule load cahn_quecteldialplan reload

По идее это должно быть все. Можно работать с модулем chan_quectel как и с chan_dongle заменяя команды на quectel. Учитывайте, что LTE модемы регистрируются в сети чуть дольше, чем обычные GSM и более чувствительны к качеству и уровню сигнала.

Интернет через PPP

Настройка интернета через PPP с помощью 2G-модема

Быстрый выход в интернет

Настройки быстрого подключения сбрасываются после перезагрузки контроллера. Если вам нужен постоянный доступ к интернету — настройте автоматический запуск подключения.

В стандартное ПО контроллера входят настройки подключения для операторов МТС, Мегафон и Билайн по протоколу ppp. Если вы пользуетесь одним из них, то для быстрого подключения к интернету нужно перезапустить модем и подключится с использованием одной из настроек:

  • Перезапустите модем:
  • Установите соединение, например, для оператора МТС:

    mts можно заменить на megafon или beeline — зависит от вашего оператора связи.

  • Если соединение больше не нужно — вы можете его завершить командой:

Например, изменим порт для провайдера МТС:

  • Откройте файл /etc/ppp/peers/mts
  • Нажмите Ctrl+S для сохранения изменений, Ctrl+X — для выхода из редактора.

Порты /dev/ttyUSB0,/dev/ttyUSB1,/dev/ttyUSB2 появляются автоматически после включения модема командой wb-gsm on.

Автоматический запуск подключения

Файл /etc/network/interfaces, автоматически запускающий подключение к МТС

Чтобы подключение запускалось автоматически:

  • Откройте файл /etc/network/interfaces для редактирования:
    nano /etc/network/interfaces
  • Раскомментируйте или отредактируйте следующие строки:
    auto ppp0
    iface ppp0 inet ppp
    provider mts # можно заменить mts на megafon или beeline
    #перезапускаем модем, если он завис
    pre-up wb-gsm restart_if_broken
    #Ждем, пока он загрузится и найдет сеть.
    pre-up sleep
  • Сохраните изменения и закройте файл.
  • Теперь запустите интерфейс ppp0 командой:

    через 10­-15 секунд интерфейс ppp0 будет доступен.

  • Настройка завершена, теперь при перезагрузке контроллера подключение к интернету восстановится автоматически.

Параметры протокола пакетной передачи данных и номера для соединения для каждого провайдера хранятся в директории /etc/chatscripts. В большинстве случаев ничего менять в этих файлах не придется.

Для ppp-интерфейсов существуют директории, исполняемые файлы из которых также запускаются на разных фазах установления соединения. Но, если, например, для ethernet-интерфейсов эти скрипты должны находиться в директориях /etc/network/if-down.d, if-post-down.d, if-pre-up.d, if-up.d, то соответствующие директории для ppp-интерфейсов находятся в /etc/ppp/ip-down.d, ip-up.d и т.п. Подробнее об их назначении и функционировании можно узнать в документе PPP HOWTO.

Резервирование канала связи

Особенности резервирования выхода в интернет описаны в статье Сетевые настройки контроллера.

Мультиплексирование

Модем поддерживает режим мультиплексирования — создания виртуальных портов, через которые можно одновременно работать с модемом.
Например, через один порт можно открыть сессию PPP для GPRS, а через другой — получать и отправлять SMS, проверять баланс и т.д.
Подробнее смотрите CMUX. Этот режим не поддерживается для 2G-модемов.

Документация на модемы

Как уже писал выше, питание это боль. Решать это можно двумя способами:

Пигтейлы и внешние адаптеры питания

Можно взять вот такую пару на 3А и замутить связку.

no-name адаптеры, которые, иногда, работают

USB3 пигтейл с доп-питанием

Готовые платы с питанием для чипа и USB интерфейсом

На рынке есть готовые платы с доп-питанием и модемом. Я не пробовал, так как поздно про них узнал, но видел потом их в количестве. Так же решается вопрос с близкорасположенными портами, внешним питанием и аккуратностью всей конструкции. Единственное, что придется докупать нужные антенны и как-то все это размещать и закреплять, чтоб не развалилось.

all-in-one плата с модемом, питанием и USB

Выбор подходящих модемов

Несмотря на то, что LTE модемов много, часть из них не поддерживает голос (и тут нет ничего нового, так было и во времена “старого GSM”), а еще значительная часть – не имеет соответствующих модулей для Asterisk.

Наиболее свежим можно считать Проект IchthysMaranatha, за что ему огромное человеческое спасибо. И несмотря на то, что заявлена поддержка нескольких модемов и чипов, наилучшие результаты достигаются с чипом Quectel EC25.

У чипа есть несколько вариантов как по диапозонам, так и по формату платы, на которой он напаян (и интерфейсов), но все это не так важно – главное подберите под свой регион. У меня заработал EC25G-E в формате USB свистка (а ниже будет рекомендация что лучше чем это).

no-name Quectel EC25G-E (антенны не показаны)

GPRS на модемах SIM7000E 2G/NB-IoT

В терминальном режиме работы с модемом, например, в программе minicom (смотрите раздел Отправка AT-команд), введите команду выбора режима:

Возможные варианты значений (команда AT+CNMP=?):

  • 2 — Automatic,
  • 13 — GSM Only,
  • 38 — LTE Only,
  • 51 — GSM And LTE Only.

Установить режим нужно один раз — он запоминается и активен даже после отключения питания.

Чтобы вернуться в режим IoT, выполните команду:

Получение информации о модеме

В контроллерах, начиная с 2019 года, некоторая информация о модеме заносится в память. Получить её можно с помощью чтения файлов в директории /proc/device-tree/wirenboard/gsm/.

В контроллерах версии 6.7 модем устанавливается модулем расширения.
После физического подключения модема его нужно добавить в конфигурацию контроллера:

  • В раскрывающемся списке Module type выберите тип установленного модуля.
  • Нажмите кнопку Save. Контроллер включит нужные для работы модема порты.

Для удаления модуля выберите тип None.

После конфигурирования включите модем командой wb-gsm on и настройте подключение к оператору связи.

Например, чтобы узнать модель модема, нужно выполнить команду

Подробнее о файлах внутри директории можно узнать из таблицы:

Несколько слов о VoLTE и звонков через IP в современных сетях

И так, у нас есть современный модем. В LTE сетях, то, что у вас в телефоне включается крыжиком “Enable Calls over LTE (VoLTE)” входит в т.н. IMS (IP Multimedia Subsystem) – целую группу сервисов, которые доступны через IP сеть на современных терминалах. Подробнее можно посмотреть тут или в файле Quectel_EC2xEG9xEG2x-GEM05_Series_IMS_Application_Note из комплекта документации к чипсету Quectel.

Таким образом, нужно убедиться, что IMS на модеме активирована, и что произошло подключение к соответсвующему профилю, а так же активация VoLTE.

MBN профили и их подбор

В модеме с завода идут несколько профилей под разных операторов. Прошить их можно, как подсказывают в комментариях, через специальизированные утилиты. Мы не будем рассматривать этот процесс, так как эти “файлы” или профили очень специфичны и шанс, что вам удастся найти от своего оператора и для своего чипсета исчезающе мал.

Мы пойдем другим путем – попробуем воспользоваться тем, что нам отсыпали.AT+QMBNCFG=”List”

Команда выведет списко профилей, которые есть в чипсете:+QMBNCFG: “List”,0,0,0,”ROW_Generic_3GPP”,0x05040820,202009031 +QMBNCFG: “List”,1,0,0,”VoLTE-ATT”,0x0501033C,202004261 +QMBNCFG: “List”,2,1,1,”hVoLTE-Verizon”,0x05010141,202011021 +QMBNCFG: “List”,3,0,0,”Sprint-VoLTE”,0x05010205,202010201 +QMBNCFG: “List”,4,0,0,”Commercial-TMO_VoLTE”,0x05010505,201811231 +QMBNCFG: “List”,5,0,0,”Telus-Commercial_DO”,0x05800C60,202009101 +QMBNCFG: “List”,6,0,0,”Commercial-SBM”,0x05011C18,202004211 +QMBNCFG: “List”,7,0,0,”Commercial-DT”,0x05011F1C,202006281 +QMBNCFG: “List”,8,0,0,”Reliance_OpnMkt”,0x05011B38,202003251 +QMBNCFG: “List”,9,0,0,”TF_Germany_VoLTE”,0x05010C1B,202004151 +QMBNCFG: “List”,10,0,0,”TF_Spain_VoLTE”,0x05010CFA,201909261 +QMBNCFG: “List”,11,0,0,”Volte_OpenMkt-Commercial-CMCC”,0x05012071,202004161 +QMBNCFG: “List”,12,0,0,”OpenMkt-Commercial-CT”,0x05011322,202001171 +QMBNCFG: “List”,13,0,0,”OpenMkt-Commercial-CU”,0x05011505,202001171 +QMBNCFG: “List”,14,0,0,”Telstra-Commercial_VoLTE”,0x0580079E,202009211 +QMBNCFG: “List”,15,0,0,”Commercial-KDDI”,0x0501071D,202004041 +QMBNCFG: “List”,16,0,0,”Commercial-SKT”,0x05012715,202007071 +QMBNCFG: “List”,17,0,0,”Commercial-KT”,0x05012C0D,202007211 +QMBNCFG: “List”,18,0,0,”Commercial-LGU”,0x05012626,202007071 +QMBNCFG: “List”,19,0,0,”Commercial-USCC”,0x05040D20,202011091

Нас интересует 3й бит, который должен стоять в позиции 1 – это активный профиль.+QMBNCFG: “List”,2,1,1,”hVoLTE-Verizon”,0x05010141,202011021

Скорее всего, у вас будет активен ROW_Generic_3GPP и это ок. Запомнили, двигаемся дальше.

Проверка статуса IMS и его активация при необходимости

Выясним, актина ли у нас регистрация в IMSAT+QCFG=”ims”

Ответ будет в виде+QCFG: “ims”,1,0 Т.е. по второму биту (значение 1) видим что регистрация есть, а по последнему биту видим (значение 0), что VoLTE нам не активировали.

Танцы по включению VoLTE

Выполним предварительные пляски – откажемся от автовыбора профиля и отключим текущийAT+QMBNCFG=”AutoSel”,0AT+QMBNCFG=”Deactivate”

Возьмем любой профиль на выбор из результатов AT+QMBNCFG=”List”и активируем егоAT+QMBNCFG=”Select”,”Sprint-VoLTE”

Удача или нет, и что делать если мы не вкинулись

После перезагрузки модема, снова выполняем запрос статуса IMSAT+QCFG=”ims”

Если ответ будет в виде +QCFG: “ims”,1,1 можно радоваться, и продолжать.Если ответ будет в виде +QCFG: “ims”,1,0 нам не повезло, возвращаемся к выбору профиля из доступного списка (AT+QMBNCFG=”Select”,”MBN_name”) до достижения результата.

А если я все сделал, но +QCFG

Есть одна проблема, которай я не коснулся – множетсвенность ttyUSB устройств. Это актуально когда а) несколько модемов одного производителя и б) когда несколько устройств, генерирующих ttyUSB.Я обошел ее стороной по причине наличия автопоиска в модуле chan_quectel. Если бы не он, то как найти верное устройство? А как убедиться, что устройтво инициализировалось так же как в прошлый рез? Ведь ttyUSBx может съехать и все перепутается!

idVendor 0x1d6b Linux Foundation idProduct 0x0003 3.0 root hub iProduct 2 xHCI Host Controller iSerial 1 xhci-hcd.0.auto idVendor 0x2c7c Quectel Wireless Solutions Co., Ltd. idProduct 0x0125 EC25 LTE modem iProduct 2 EG25-G iSerial 0

Можно пойти другим путем, и в файле quectel.conf указать ссылку в виде полного пути к устройству: audio=/dev/serial/by-path/platform-xhci-hcd.0.auto-usb-0:1.4:1.0-port0

Второй момент связан с Raspbian – клоном Debian для плат Raspberry Pi.Там, при ручной установке Asterisk из исходников, не создается пользователь, группа и не прописывается разрешение для бинарника.

На закуску, если вам не нужно, можно избавиться и от wwanX интерфейсов модемов.

В файле /etc/modprobe.d/qmi_wwan.conf напишем blacklist qmi_wwan

Обновим initramfs update-initramfs -u

Выгрузим ненужный нам модуль rmmod qmi_wwan

Интернет с 4G-модемом (LTE)

Настройка модема WBC-4G на контроллере Wiren Board 6.7.2

Отправка AT-комманд для модема в терминале программы minicom

Настройка модема как сетевой карты

В отличие от 2G- и 3G-модулей, WBC-4G поддерживает выход в интернет через виртуальную сетевую карту по протоколу RNDIS.

Настройка с помощью minicom:

  • Убедитесь, что модем правильно сконфигурирован. Подробнее смотрите на странице модуля WBC-4G.
  • Подключитесь к контроллеру по SSH.
  • Перезапустите модем командой:
  • Подключитесь к модему через minicom:
    minicom -D /dev/ttyGSM -b -8 -a off

    о параметрах командной строки читайте в статье о minicom.

  • Введите команду AAAAAAAAAT — с её помощью модем распознает скорость, с которой мы к нему обращаемся и ответит OK.
  • Отправьте из терминала minicom AT-команды для модема:
    Настроить автоматическое подключение: AT+DIALMODE=0.Установить APN: AT+CGDCONT=1,”IP”,”xxx”, где xxx — точка подключения (APN). Имя точки подключения зависит от оператора, например, у МТС она выглядит так: internet.mts.ru.Проверить получение IP адреса: AT+CGCONTRDP.
  • Установить APN: AT+CGDCONT=1,”IP”,”xxx”, где xxx — точка подключения (APN). Имя точки подключения зависит от оператора, например, у МТС она выглядит так: internet.mts.ru.
  • Проверить получение IP адреса: AT+CGCONTRDP.
  • Закройте minicom, для этого нажмите на клавиатуре клавиши Ctrl+A, затем клавишу X и подтвердите выход клавишей Enter.

После этого интернет будет доступен через интерфейс usb0, который можно настроить как обычную сетевую карту.

Настройка с помощью chat:

  • Убедитесь, что модем правильно сконфигурирован. Подробнее смотрите на странице модуля WBC-4G.
  • Подключитесь к контроллеру по SSH.
  • Перезапустите модем командой:

Этот способ можно использовать при написании скриптов.

Настройка виртуальной сетевой карты

После того как мы настроили модем, нужно настроить виртуальную сетевую карту:

  • Откройте файл /etc/network/interfaces:
    nano /etc/network/interfaces
  • Сохраните и закройте файл interfaces. Нажмите Ctrl+S для сохранения изменений, Ctrl+X — для выхода из редактора.
  • Запустите интерфейс командой:
  • Остановите интерфейс командой:
  • Откройте файл /etc/network/interfaces:
    nano /etc/network/interfaces
  • Закомментируйте или удалите строки:

    #iface usb0 inet dhcp
    # pre-up sleep 8
    # pre-up wb-gsm restart_if_broken
    # pre-up sleep 10

  • Сохраните и закройте файл interfaces. Нажмите Ctrl+S для сохранения изменений, Ctrl+X — для выхода из редактора.

Низкоуровневая работа по uart

Любое взаимодействие с модемом так или иначе сводится к отправке AT-команд через последовательный порт модема. Все модемы подключаются к порту /dev/ttyGSM. 3G модемы, помимо этого, подключаются к портам /dev/ttyACMX (порты создаются usb-драйвером cdc_acm).

Подключение в linux

Примерный вывод команды:

.978383 usb -1.2: New USB device found, 1e0e,
.985653 usb -1.2: New USB device strings: , ,
.993108 usb -1.2: Product: SIMCOM_PRODUCT
.997728 usb -1.2: Manufacturer: SIMCOM_VENDOR
.002644 usb -1.2: SerialNumber:
.082093 cdc_acm -1.2:1.0: ttyACM0: USB ACM device
.098228 cdc_acm -1.2:1.2: ttyACM1: USB ACM device
.116769 cdc_acm -1.2:1.4: ttyACM2: USB ACM device
.132688 cdc_acm -1.2:1.6: ttyACM3: USB ACM device
.145157 cdc_acm -1.2:1.8: ttyACM4: USB ACM device
.163705 cdc_acm -1.2:1.10: ttyACM5: USB ACM device
.182338 cdc_acm -1.2:1.12: ttyACM6: USB ACM device

Соответственно, в данном случае 3G модем подключен к портам /dev/ttyACM0 – /dev/ttyACM6.

Для работы в интерактивном режиме рекомендуем использовать утилиту minicom:

  • Подключитесь к контроллеру по SSH.
  • Перезапустите модем командой:
  • Подключитесь к модему через minicom:
    minicom -D /dev/ttyGSM -b -8 -a off

    о параметрах командной строки читайте в статье о minicom.

  • Введите команду AAAAAAAAAT — с её помощью модем распознает скорость, с которой мы к нему обращаемся и ответит OK.

Модем готов к передаче AT-команд.

Чтобы закрыть minicom, нажмите на клавиатуре клавиши Ctrl+A, затем клавишу X и подтвердите выход клавишей Enter.

Что нужно учитывать с LTE модемами

Все современные модемы – очень энергоемкие. Сразу все предупреждают что они потребляют 2.1A и что мощности “обычного” порта USB не хватит для их работы. Особенно это актуально для Raspberry Pi, где порт не дает больше 1.2А, да и то, если блок питания позволяет и другие потребители не кушают лишнего. В своем проекте я использовал другую плату, но даже там больше 1го модема система не тянула с блоком питания Apple 65W.

Второй момент – размер. Эти модемы значительно больше Е1550 и в соседние порты не войдут. Ни по вертикали, ни по горизонтали. Т.е. нужны или пигтейлы или внешний USB3 хаб (можно и на USB2, но они любят 3й, по крайней мере у меня, уж не знаю почему), у которого есть минимум 3 порта. Тогда можно вставить 2 модеме через 1 порт и все поместится. И да – хаб должен быть с внешним питанием.

Предварительные настройки

Мы настроим GNSS и узнаем IMEI модема.

Важной особенностью чипсета Quectel EC25 является наличие GPS и WiFI. И если второй не особо страшен, то первый передает данные по ttyUSB как раз по каналу, по которому же идет и звук. Исправим.

Найдем устройства, которые создал наш модем, скажем ttyUSB6..9. Скорее всего ttyUSB9 будет для управления. Попробуем подключиться screen /dev/ttyUSB9 и послать комманду AT. Если ответ ОК – мы на нужном устройстве. Если ответа нет, пробуем другое до досижения успеха.

Собственно отключим вывод GNSS на ttyUSB.

Как только мы нашли устройство управления – пошлем следующую комманду:

ответ должен быть:

Отключим вывод данных GNSS в канал USB-Audio (я не использую эту опцию вообще, как оно поведет себя с uartdebug не готов сказать):

Все, теперь нам никто не мешает слушать звук через ttyUSB устройство.

Смешно то, что модуль и сам Asterisk не будут ругаться на звуковое устройство, если в модеме не отключен вывод GNSS данных – просто звонок будет “виснуть”, никто никого не будет слышать, а при сбросе вызова в клиенте, модем будет продолжать находиться в статусе Dial и поможет только ресет из консоли Asterisk.

Выясним IMEI модема, чтоб потом его использовать при описании в модуле Asterisk:

Ответом будет строка цифр – она нам нужна, запишем в файлик рядом с именем ttyUSB управления.

Для тех, у кго LTE DATA (PDP) не подхватилось самоПроверим состояниеПроверим что у нас есть SIM, что она зарегистрировалась в сети и что оператор – верный.AT+CPIN?AT+CGREG?AT+COPS?И есть ли у нас адресAT+CGPADDR?Если последнее вернет адреса, а не нули – идите сразу к проверке соединения ниже. Если нули – продолжаем!Проверим настройки PDP Context aka APNЧто у нас есть в модемеAT+CGACT?И создадим свой, если ничего нет или не работаетAT+CGDCONT=4,”IPV4V6″,”my.apn”,”0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0″,0,0,0,1Проверим какой PDP Context активен (активное APN)AT+CGACT?И отключим активные до этого (все, у которых второй знак 1, кроме нашего нового 4го профиля)AT+CFACT=0,1Проверка передачи данныхПроверим, что передача данных активнаAT+CGDATA?И если нет – активируем ееAT+CGDATA=”PPP”,4Снова проверим адресAT+CGPADDR?Проверим, есть ли соединениеAT+QPING=4,”8.8.8.8″Проверим, в каком состоянии у нас звонок и есть ли при этом данныеВыполним вызов на другой номерATD81231234567Пока вызов идет, можем выполнить проверку состояния сетиAT+CLCCОтвет должен быть примерно таким:+CLCC: 1,1,0,1,0,””,128видите в 4й позиции стоит 1. Это нам намекает, что модем в режиме DATA, т.е. вызов ушел через VoLTE. По крайней мере так указано в официальной документации на чипсет EC25G.

Как я решал проблему питания

Так как у меня плата позволяет прокачать один модем, я взял внешний хаб D-Link DUB-1340, у которого заявлены те самые 2.5A на один порт. в него можно воткнуть 2 модема с внешними антеннами, или 3 в конфигурации “2 с антеннами + 1 без”.

Новое время – новые вызовы

В этой части я расскажу как скрестить Asterisk с новым поколением модемов диапазона LTE. В чем там особенность и что нужно учитывать.

Предыдущие статьи по теме:

Работа с sms и ussd

Работать с sms и ussd проще всего при помощи программы Gammu (это форк утилиты gnokii, которую перестали развивать).

Полную документацию смотрите на сайте проекта, ниже дана краткая инструкция.

Все контроллеры WB6, начиная с 2018 года, поставляются с уже настроенной утилитой gammu. Если gammu не настроена, то можно выбрать один из 2-х способов настройки:

Настройка gammu вручную (gammu-config)

  • Выполнить команду
  • В параметре Port укажите /dev/ttyXXX — файл модема, соответствующий вашей модели контроллера.
  • В параметре Connection укажите at115200

Примеры команд gammu

Перед использованием утилиты убедитесь, что соединение с интернетом по протоколу ppp завершено (см. раздел Интернет через PPP)

$ gammu networkinfo # посмотреть сеть и базовую станцию, к которой вы подключены
$ gammu geteachsms # вывести все SMS
$ gammu getussd # запросить баланс на МТС в транслите
$ gammu sendsms TEXT +79154816102 -unicode -text # отправить на номер сообщение с текстом

SMS и USSD на русском

SMS и USSD на русском в gammu пока работают не всегда хорошо, поэтому могут пригодиться команды для переключения языка USSD и перекодирования входящих и исходящих SMS в транслит:

Для надежной отправки SMS на русском надо проверить локаль и установить LC_ALL=ru_RU.utf8

Отправка sms-уведомлений об изменении состояния какого-либо устройства реализована в ПО Wiren Board с помощью сервиса уведомлений. Также можно отправлять SMS из движка правил wb-rules, вызывая соответствующую функцию. Подробнее в статье « Модуль уведомлений».

Оцените статью
Huawei Devices
Добавить комментарий