Настройка 4G-модема в контроллере Wiren Board на Debian Bullseye

Материал из Wiren Board

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

Статья описывает настройку 4G-модемов в контроллерах Wiren Board 6...7, на которых установлен релиз wb-2304 и новее. Для настройки модема в релизе wb-2207 и старее, а также модемов 2G/3G/NB-IOT — используйте эту инструкцию.

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

В Debian Bullseye для управления 4G-модемами используются сервисы ModemManager и NetworkManager. Остальные модемы управляются аналогично тому, как это делалось в Debian Stretch.

Описанное ниже относится к работе с использованием ModemManager.

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

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

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

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

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

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

  1. Подключить антенну.
  2. Вставить sim-карту.
  3. Добавить модем в конфигурацию контроллера:
    • В веб-интерфейсе перейдите в раздел НастройкиКонфигурационные файлыМодули расширения и порты, выберите Слот модема.
    • В раскрывающемся списке Тип модуля выберите тип установленного модуля.
    • Нажмите кнопку Сохранить. Контроллер включит нужные для работы модема порты.

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

После конфигурирования модем включится автоматически и можно переходить к настройке подключения к оператору связи.

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

Настройка PPP через модем

ModemManager и NetworkManager позволяют организовать выход в Интернет через PPP.

После настройки модема в контроллере создаются два соединения NetworkManager'а:

  1. wb-gsm-sim1 - параметры соединения при использовании sim-карты в первом слоте;
  2. wb-gsm-sim2 - во втором слоте.

Контроллер имеет базу APN сотовых операторов. NetworkManager сам определит нужный APN в зависимости от вставленной sim-карты.

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

Настроенное соединение можно активировать из web-конфигуратора или из консоли утилитой nmcli. Для того чтобы соединение автоматически активировалось при включении контроллера, надо установить галочку Подключаться автоматически.

Работа с sms

Для отправки sms-сообщения надо:

  1. Cоздать его с использованием параметра --messaging-create-sms. mmcli вернёт идентификационный номер sms.
  2. Использовать полученный идентификационный номер для отправки командой --send.

Отправка смс с использованием mmcli

SMS-уведомления

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

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

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

В контроллерах версии 6.7 модем устанавливается модулем расширения.

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

cat /proc/device-tree/wirenboard/gsm/model

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

Файл Описание
/proc/device-tree/wirenboard/gsm/model модель модема
/proc/device-tree/wirenboard/gsm/type поддерживаемые сети
/proc/device-tree/wirenboard/gsm/status статус модема в системе

ModemManager позволяет получить информацию о модеме. Сделать это можно с помощью утилиты mmcli.

Информация о модеме от ModemManager

Сервис wb-gsm

Сервис wb-gsm предназначен для управления питанием модема, он входит в пакет wb-utils.

Питание подаётся на модем при старте сервиса и отключается при остановке.

Сервис автоматически запускается при старте контроллера, если модем выбран в настройках модулей расширения.

Управлять работой сервиса можно через команды systemctl. Например, для остановки надо выполнить

systemctl stop wb-gsm

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

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

Для переключения sim-карты используется mmcli с параметром --set-primary-sim-slot. Например:

Выбор второго sim-слота

ModemManager выполнит переключение sim-карты и переинициализирует модем.

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

Любое взаимодействие с модемом так или иначе сводится к отправке AT-команд через последовательный порт модема.

Если необходимо отправлять команды модему, нужно остановить сервис ModemManager: systemctl stop ModemManager. После этого можно работать с портом как описано здесь.

Если необходимо отправлять команды при активном ModemManager, его надо перезапустить с параметром --debug и использовать mmcli для отправки команд:

Отправка команд через mmcli

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

Модель Режимы сети краткое описание hardware design AT-команды
SIM800 2G pdf pdf pdf
SIM5300E 2G/3G pdf pdf pdf
SIM7000E 2G/NB-IOT pdf pdf pdf
7600E 2G/3G/4G WBC-4G