Modem-bullseye: различия между версиями
Matveevrj (обсуждение | вклад) |
Vdromanov (обсуждение | вклад) (Поменял номер модема на wbc) |
||
Строка 39: | Строка 39: | ||
== Работа с SMS == | == Работа с SMS == | ||
{{note|info| В командах используется номер модема, который меняется при каждой инициализации. Узнать фактический номер модема можно запросив информацию командой <code>mmcli -m any</code>}} | {{note|info| В командах используется номер модема, который меняется при каждой инициализации. Узнать фактический номер модема можно запросив информацию командой <code>mmcli -m any</code>. Начиная с релиза wb-2304, модему присваивается тег wbc, и взаимодействовать с ним можно с помощью <code>mmcli -m wbc</code>}} | ||
После настройки модема нужно проверить его работу. Для этого можно отправить тестовое SMS-сообщение. Удобнее это делать из консоли. | После настройки модема нужно проверить его работу. Для этого можно отправить тестовое SMS-сообщение. Удобнее это делать из консоли. | ||
Строка 46: | Строка 46: | ||
# Использовать полученный идентификационный номер для отправки командой <code>--send</code>. | # Использовать полученный идентификационный номер для отправки командой <code>--send</code>. | ||
#:<syntaxhighlight lang="console"> | #:<syntaxhighlight lang="console"> | ||
# mmcli -m | # mmcli -m wbc --messaging-create-sms="text='Test',number='+79999999999'" | ||
Successfully created new SMS: /org/freedesktop/ModemManager1/SMS/10 | Successfully created new SMS: /org/freedesktop/ModemManager1/SMS/10 | ||
# mmcli -m | # mmcli -m wbc -s 10 --send | ||
successfully sent the SMS | successfully sent the SMS | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 84: | Строка 84: | ||
[[Image:mmcli-info.png|500px|Информация о модеме от ModemManager]] | [[Image:mmcli-info.png|500px|Информация о модеме от ModemManager]] | ||
Начиная с релиза wb-2304, модему присваивается тег "wbc", и обращаться к нему можно с помощью | |||
<syntaxhighlight lang="bash"> | |||
mmcli -m wbc | |||
</syntaxhighlight> | |||
== Сервис wb-gsm == | == Сервис wb-gsm == | ||
Строка 101: | Строка 106: | ||
Для переключения sim-карты используется <code>mmcli</code> с параметром <code>--set-primary-sim-slot</code>. Например: | Для переключения sim-карты используется <code>mmcli</code> с параметром <code>--set-primary-sim-slot</code>. Например: | ||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
# mmcli -m | # mmcli -m wbc --set-primary-sim-slot=2 | ||
successfully requested primary SIM switch in modem | successfully requested primary SIM switch in modem | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 115: | Строка 120: | ||
Если необходимо отправлять команды при активном ModemManager, его надо перезапустить с параметром <code>--debug</code> и использовать mmcli для отправки команд: | Если необходимо отправлять команды при активном ModemManager, его надо перезапустить с параметром <code>--debug</code> и использовать mmcli для отправки команд: | ||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
# mmcli -m | # mmcli -m wbc --command=AT+CGMM | ||
response: ''A7600E-HNVW' | response: ''A7600E-HNVW' | ||
</syntaxhighlight> | </syntaxhighlight> |
Версия 13:32, 18 мая 2023
Общая информация
Статья описывает настройку 4G-модемов в контроллерах Wiren Board 6...7, на которых установлен релиз wb-2304 и новее. Для настройки модема в релизе wb-2207 и старее, а также модемов 2G/3G/NB-IoT — используйте эту инструкцию.
Опционально в контроллер Wiren Board 7 можно установить двухсимочный 4G(LTE) модем, с помощью которого организуется доступ в интернет через PPP, а также отправка и приём SMS. Модемы управляются серсисами ModemManager и NetworkManager.
Питание модема управляется автоматически сервисом wb-gsm, а переключение активных SIM-карт вручную через утилиту mmcli. Подробнее читайте ниже.
Включение и начало работы
Чтобы начать работу с модемом, нужно:
- Подключить антенну.
- Вставить sim-карту.
- Добавить модем в конфигурацию контроллера:
- В веб-интерфейсе перейдите в раздел Настройки → Конфигурационные файлы → Модули расширения и порты, выберите Слот модема.
- В раскрывающемся списке Тип модуля выберите тип установленного модуля.
- Нажмите кнопку Сохранить. Контроллер включит нужные для работы модема порты.
Для удаления модуля выберите тип Не установлен.
После конфигурирования модем включится автоматически и можно переходить к настройке подключения к оператору связи.
Интернет через PPP
ModemManager и NetworkManager позволяют организовать выход в Интернет через PPP.
После настройки модема в контроллере создаются два соединения NetworkManager'а:
wb-gsm-sim1
— параметры соединения при использовании sim-карты в первом слоте;wb-gsm-sim2
— во втором слоте.
Контроллер имеет базу APN сотовых операторов. NetworkManager сам определит нужный APN в зависимости от вставленной sim-карты.
Настройки соединений можно изменить либо в веб-интерфейсе конфигурирования контроллера, либо в консоли утилитой nmcli.
Настроенное соединение можно активировать из веб-конфигуратора или из консоли утилитой nmcli. Для того чтобы соединение автоматически активировалось при включении контроллера, надо установить галочку Подключаться автоматически
.
Работа с SMS
В командах используется номер модема, который меняется при каждой инициализации. Узнать фактический номер модема можно запросив информацию командой mmcli -m any
. Начиная с релиза wb-2304, модему присваивается тег wbc, и взаимодействовать с ним можно с помощью mmcli -m wbc
После настройки модема нужно проверить его работу. Для этого можно отправить тестовое SMS-сообщение. Удобнее это делать из консоли.
Для отправки sms-сообщения надо:
- Cоздать его с использованием параметра
--messaging-create-sms
. mmcli вернёт идентификационный номер sms. - Использовать полученный идентификационный номер для отправки командой
--send
.# mmcli -m wbc --messaging-create-sms="text='Test',number='+79999999999'" Successfully created new SMS: /org/freedesktop/ModemManager1/SMS/10 # mmcli -m wbc -s 10 --send successfully sent the SMS
Для отправки SMS-уведомлений в веб-интерфейсе контроллера Wiren Board реализован сервис уведомлений. Его можно настроить на отправку SMS, когда какой-либо параметр выходит из нормы.
То же самое можно сделать с помощью правил wb-rules. Для этого существует специальная функция, которая описана в документации на GitHub.
Получение информации о модеме
В контроллерах, начиная с 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, выполнив команду:
mmcli -m any
Начиная с релиза wb-2304, модему присваивается тег "wbc", и обращаться к нему можно с помощью
mmcli -m wbc
Сервис wb-gsm
Сервис wb-gsm
предназначен для управления питанием модема, он входит в пакет wb-utils.
Питание подаётся на модем при старте сервиса и отключается при остановке.
Сервис автоматически запускается при старте контроллера, если модем выбран в настройках модулей расширения.
Управлять работой сервиса можно через команды systemctl
. Например, для остановки надо выполнить
systemctl stop wb-gsm
Переключение активной sim-карты
По умолчанию активна Sim1 — в каждый момент времени только одна sim-карта может быть активной.
Для переключения sim-карты используется mmcli
с параметром --set-primary-sim-slot
. Например:
# mmcli -m wbc --set-primary-sim-slot=2
successfully requested primary SIM switch in modem
ModemManager выполнит переключение sim-карты и переинициализирует модем.
Низкоуровневая работа по uart
Любое взаимодействие с модемом так или иначе сводится к отправке AT-команд через последовательный порт модема.
Если необходимо отправлять команды модему, нужно остановить сервис ModemManager: systemctl stop ModemManager
. После этого можно работать с портом как описано здесь.
Если необходимо отправлять команды при активном ModemManager, его надо перезапустить с параметром --debug
и использовать mmcli для отправки команд:
# mmcli -m wbc --command=AT+CGMM
response: ''A7600E-HNVW'
Документация на модемы
Модель | Режимы сети | краткое описание | hardware design | AT-команды |
---|---|---|---|---|
SIM800 | 2G | Файл:SIM800 SPEC.pdf | Файл:SIM800 HW Design.pdf | Файл:SIM800 AT commands.pdf |
SIM5300E | 2G/3G | Файл:SIM5300E SPEC.pdf | Файл:SIM5300E HW Design.pdf | Файл:SIM5300E AT commands.pdf |
SIM7000E | 2G/NB-IOT | Файл:SIM7000E SPEC.pdf | Файл:SIM7000E HW Design.pdf | Файл:SIM7000E AT commands.pdf |
7600E | 2G/3G/4G | WBC-4G |