Modem-bullseye: различия между версиями
Brainroot (обсуждение | вклад) |
PeteK (обсуждение | вклад) |
||
(не показаны 52 промежуточные версии 6 участников) | |||
Строка 1: | Строка 1: | ||
== Общая информация == | == Общая информация == | ||
В контроллеры Wiren Board могут быть установлены 2G/3G/4G(LTE)/NB-IOT модемы — зависит от комплектации. | |||
В Debian Bullseye для управления 4G-модемами используются сервисы [https://www.freedesktop.org/software/ModemManager/api/latest ModemManager] и [https://www.networkmanager.dev/docs/ NetworkManager]. Остальные модемы управляются аналогично тому, как это [[GSM/GPRS | делалось в Debian Stretch]]. | |||
'''Описанное ниже относится к работе с использованием ModemManager.''' | |||
С помощью модемов можно: | |||
[[ | * [[#Работа с sms и ussd | отправлять и принимать SMS]], | ||
* подключаться к интернету по [[#Интернет через PPP|протоколу PPP]]. | |||
Модемы подключаются к процессору по uart и usb, исключение — модемы 2G. | |||
Подробнее о подключении модемов и низкоуровневом взаимодействии с ними можно почитать в разделе [[#Низкоуровневая работа по uart|Низкоуровневая работа по uart]]. | |||
Управление питанием и переключением активных sim-карт (если их две) производится с помощью gpio, процесс описан в разделе [[#Переключение активной sim-карты | Переключение активной sim-карты]]. | |||
Включение и отключение модема рекомендуем делать с помощью сервиса [[#Сервис wb-gsm|wb-gsm]]. | |||
== | == Получение информации о модеме == | ||
В контроллерах, начиная с 2019 года, некоторая информация о модеме заносится в память. Получить её можно с помощью чтения файлов в директории <code>/proc/device-tree/wirenboard/gsm/</code>. | |||
В контроллерах версии 6.7 модем устанавливается модулем расширения. | |||
После | После физического подключения модема его нужно добавить в конфигурацию контроллера: | ||
Контроллер | #В веб-интерфейсе перейдите в раздел '''Настройки''' → '''Конфигурационные файлы''' → '''Модули расширения и порты''', выберите '''Слот модема'''. | ||
#В раскрывающемся списке '''Тип модуля''' выберите тип установленного модуля. | |||
#Нажмите кнопку '''Сохранить'''. Контроллер включит нужные для работы модема порты. | |||
Для удаления модуля выберите тип '''Не установлен'''. | |||
После конфигурирования модем включится автоматически и можно переходить к настройке подключения к оператору связи. | |||
Например, чтобы узнать модель модема, нужно выполнить команду | Например, чтобы узнать модель модема, нужно выполнить команду | ||
Строка 85: | Строка 49: | ||
|} | |} | ||
ModemManager позволяет получить информацию о модеме. Сделать это можно с помощью утилиты [https://dyn.manpages.debian.org/bullseye/modemmanager/mmcli.1.en.html mmcli] | ModemManager позволяет получить информацию о модеме. Сделать это можно с помощью утилиты [https://dyn.manpages.debian.org/bullseye/modemmanager/mmcli.1.en.html mmcli]. | ||
[[Image: | [[Image:mmcli-info.png|500px|Информация о модеме от ModemManager]] | ||
== Включение и начало работы == | |||
Чтобы начать работу с модемом, нужно: | |||
#Подключить антенну. | |||
#[[SIM_card_installation | Вставить sim-карту]]. | |||
== Сервис wb-gsm == | == Сервис wb-gsm == | ||
Строка 112: | Строка 73: | ||
Для переключения sim-карты используется <code>mmcli</code> с параметром <code>--set-primary-sim-slot</code>. Например: | Для переключения sim-карты используется <code>mmcli</code> с параметром <code>--set-primary-sim-slot</code>. Например: | ||
[[Image:mmcli-sim-select.png|500px|Выбор второго sim-слота]] | |||
ModemManager выполнит переключение sim-карты и переинициализирует модем. | ModemManager выполнит переключение sim-карты и переинициализирует модем. | ||
Строка 123: | Строка 82: | ||
Любое взаимодействие с модемом так или иначе сводится к отправке AT-команд через последовательный порт модема. | Любое взаимодействие с модемом так или иначе сводится к отправке AT-команд через последовательный порт модема. | ||
Если необходимо отправлять команды модему | Если необходимо отправлять команды модему нужно остановить сервис ModemManager | ||
<code>systemctl stop ModemManager</code> | |||
После этого можно работать с портом как описано [[GSM/GPRS#Низкоуровневая_работа_по_uart | здесь]], либо запустить ModemManager с параметром <code>--debug</code> и использовать mmcli для отправки команд | |||
[[Image:mmcli-send-command.png|400px|Отправка команд через mmcli]] | |||
== Работа с sms и ussd == | |||
ModemManager реализует работу с sms и ussd. | |||
[[Image:mmcli-send-sms.png|700px|Отправка смс с использованием mmcli]] | |||
=== SMS-уведомления === | |||
Отправка sms-уведомлений об изменении состояния какого-либо устройства реализована в ПО Wiren Board с помощью сервиса уведомлений. Также можно отправлять SMS из движка правил wb-rules, вызывая соответствующую функцию. Подробнее в статье «[[Notification_module#Настройка модуля уведомлений| Модуль уведомлений]]». | |||
== Интернет через PPP == | |||
{{YouTube | |||
| link= https://youtu.be/ZbJUwoifbzE | |||
| text= Настройка интернета через PPP с помощью 2G-модема | |||
}} | |||
=== Быстрый выход в интернет === | |||
Настройки быстрого подключения сбрасываются после перезагрузки контроллера. Если вам нужен постоянный доступ к интернету — настройте автоматический запуск подключения. | |||
Если | В стандартное ПО контроллера входят настройки подключения для операторов МТС, Мегафон и Билайн по протоколу ppp. Если вы пользуетесь одним из них, то для быстрого подключения к интернету нужно перезапустить модем и подключится с использованием одной из настроек: | ||
<syntaxhighlight lang=" | #Перезапустите модем: | ||
# | #:<syntaxhighlight lang="bash"> | ||
wb-gsm restart_if_broken | |||
</syntaxhighlight> | |||
#Установите соединение, например, для оператора МТС: | |||
#:<syntaxhighlight lang="bash"> | |||
pon mts | |||
</syntaxhighlight> | |||
#:<code>mts</code> можно заменить на <code>megafon</code> или <code>beeline</code> — зависит от вашего оператора связи. | |||
# Если соединение больше не нужно — вы можете его завершить командой: | |||
#:<syntaxhighlight lang="bash"> | |||
poff mts | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Если на контроллере установлен модуль 3G- или 4G-модем, то для увеличения пропускной способности соединения, демону pppd нужно указать другой порт. Для этого в файле <code>/etc/ppp/peers/<ваш_провайдер_связи></code> замените устройство <code>/dev/ttyGSM</code> на (в зависимости от модема) <code>/dev/ttyUSB0</code> или <code>/dev/ttyACM0</code>. | |||
Например, изменим порт для провайдера МТС: | |||
<syntaxhighlight lang=" | # Откройте файл <code>/etc/ppp/peers/mts</code> | ||
#:<syntaxhighlight lang="bash"> | |||
nano /etc/ppp/peers/mts | |||
</syntaxhighlight> | </syntaxhighlight> | ||
# Закомментируйте старый порт и добавьте новый: | |||
#:<syntaxhighlight lang="bash"> | |||
#/dev/ttyGSM | |||
/dev/ttyUSB0 | |||
</syntaxhighlight> | |||
#:порт можно использовать /dev/ttyUSB[0..2] в зависимости от количества и настроек сервисов работающих с модемом. | |||
# {{Wbincludes:Save nano}} | |||
Порты <code>/dev/ttyUSB0</code>,<code>/dev/ttyUSB1</code>,<code>/dev/ttyUSB2</code> появляются автоматически после включения модема командой <code>wb-gsm on</code>. | |||
< | |||
=== Автоматический запуск подключения === | |||
[[Image:Etc-network-interfaces.png|300px|thumb|right|Файл ''/etc/network/interfaces'', автоматически запускающий подключение к МТС]] | |||
Чтобы подключение запускалось автоматически: | |||
#Откройте файл <code>/etc/network/interfaces</code> для редактирования: | |||
#:<syntaxhighlight lang="bash"> | |||
nano /etc/network/interfaces | |||
</syntaxhighlight> | </syntaxhighlight> | ||
#Раскомментируйте или отредактируйте следующие строки: | |||
#:<syntaxhighlight lang="bash"> | |||
<syntaxhighlight lang=" | auto ppp0 | ||
iface ppp0 inet ppp | |||
provider mts # можно заменить mts на megafon или beeline | |||
#перезапускаем модем, если он завис | |||
pre-up wb-gsm restart_if_broken | |||
#Ждем, пока он загрузится и найдет сеть. | |||
pre-up sleep 10 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
# Сохраните изменения и закройте файл. | |||
< | # Теперь запустите интерфейс <code>ppp0</code> командой: | ||
#:<syntaxhighlight lang="bash"> | |||
ifup ppp0 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
#:через 10-15 секунд интерфейс <code>ppp0</code> будет доступен. | |||
# Настройка завершена, теперь при перезагрузке контроллера подключение к интернету восстановится автоматически. | |||
Параметры протокола пакетной передачи данных и номера для соединения для каждого провайдера хранятся в директории <code>/etc/chatscripts</code>. В большинстве случаев ничего менять в этих файлах не придется. | |||
Для ppp-интерфейсов существуют директории, исполняемые файлы из которых также запускаются на разных фазах установления соединения. Но, если, например, для ethernet-интерфейсов эти скрипты должны находиться в директориях <code>/etc/network/if-down.d</code>, <code>if-post-down.d</code>, <code>if-pre-up.d</code>, <code>if-up.d</code>, то соответствующие директории для ppp-интерфейсов находятся в <code>/etc/ppp/ip-down.d</code>, <code>ip-up.d</code> и т.п. Подробнее об их назначении и функционировании можно узнать в документе [http://citforum.ru/operating_systems/linux/HOWTO/PPP-HOWTO.shtml PPP HOWTO]. | |||
==Документация на модемы== | ==Документация на модемы== | ||
Строка 189: | Строка 175: | ||
!Модель||Режимы сети||краткое описание||hardware design||AT-команды | !Модель||Режимы сети||краткое описание||hardware design||AT-команды | ||
|- | |- | ||
|SIM800||2G||[ | |SIM800||2G||[http://www.mt-system.ru/sites/default/files/documents/sim800_spec_20140423.pdf pdf]||[http://www.mt-system.ru/sites/default/files/documents/sim800_hardware_design_v1.10.pdf pdf]||[http://www.mt-system.ru/sites/default/files/documents/sim800_series_at_command_manual_v1.12.pdf pdf] | ||
|- | |- | ||
|SIM5300E||2G/3G||[ | |SIM5300E||2G/3G||[http://www.mt-system.ru/sites/default/files/documents/sim5300e_spec_v1611_rus_0.pdf pdf]||[http://www.mt-system.ru/sites/default/files/documents/sim5300e_hardware_design_v1.09.pdf pdf]||[http://www.mt-system.ru/sites/default/files/documents/sim5300e_at_command_manual_v1.01.pdf pdf] | ||
|- | |- | ||
|SIM7000E||2G/NB-IOT||[ | |SIM7000E||2G/NB-IOT||[http://www.mt-system.ru/sites/default/files/documents/sim7000e_spec_v1706_rus.pdf pdf]||[http://www.mt-system.ru/sites/default/files/documents/sim7000_hardware_design_v1.07.pdf pdf]||[http://www.mt-system.ru/sites/default/files/documents/sim7000_series_at_command_manual_v1.06.pdf pdf] | ||
|- | |- | ||
|7600E||2G/3G/4G | |7600E||2G/3G/4G | ||
|colspan="3"| [[WBC-4G#Документация|WBC-4G]] | |colspan="3"| [[WBC-4G#Документация|WBC-4G]] | ||
|} | |} | ||
Версия 08:12, 31 марта 2023
Общая информация
В контроллеры Wiren Board могут быть установлены 2G/3G/4G(LTE)/NB-IOT модемы — зависит от комплектации.
В Debian Bullseye для управления 4G-модемами используются сервисы ModemManager и NetworkManager. Остальные модемы управляются аналогично тому, как это делалось в Debian Stretch.
Описанное ниже относится к работе с использованием ModemManager.
С помощью модемов можно:
- отправлять и принимать SMS,
- подключаться к интернету по протоколу PPP.
Модемы подключаются к процессору по uart и usb, исключение — модемы 2G. Подробнее о подключении модемов и низкоуровневом взаимодействии с ними можно почитать в разделе Низкоуровневая работа по uart.
Управление питанием и переключением активных sim-карт (если их две) производится с помощью gpio, процесс описан в разделе Переключение активной sim-карты.
Включение и отключение модема рекомендуем делать с помощью сервиса wb-gsm.
Получение информации о модеме
В контроллерах, начиная с 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.
Включение и начало работы
Чтобы начать работу с модемом, нужно:
- Подключить антенну.
- Вставить sim-карту.
Сервис wb-gsm
Сервис wb-gsm
предназначен для управления питанием модема, он входит в пакет wb-utils.
Питание подаётся на модем при старте сервиса и отключается при остановке.
Сервис автоматически запускается при старте контроллера, если модем выбран в настройках модулей расширения.
Управлять работой сервиса можно через команды systemctl
. Например, для остановки надо выполнить
systemctl stop wb-gsm
Переключение активной sim-карты
По умолчанию активна Sim1 — в каждый момент времени только одна sim-карта может быть активной.
Для переключения sim-карты используется mmcli
с параметром --set-primary-sim-slot
. Например:
ModemManager выполнит переключение sim-карты и переинициализирует модем.
Низкоуровневая работа по uart
Любое взаимодействие с модемом так или иначе сводится к отправке AT-команд через последовательный порт модема.
Если необходимо отправлять команды модему нужно остановить сервис ModemManager
systemctl stop ModemManager
После этого можно работать с портом как описано здесь, либо запустить ModemManager с параметром --debug
и использовать mmcli для отправки команд
Работа с sms и ussd
ModemManager реализует работу с sms и ussd.
SMS-уведомления
Отправка sms-уведомлений об изменении состояния какого-либо устройства реализована в ПО Wiren Board с помощью сервиса уведомлений. Также можно отправлять SMS из движка правил wb-rules, вызывая соответствующую функцию. Подробнее в статье « Модуль уведомлений».
Интернет через PPP
Быстрый выход в интернет
Настройки быстрого подключения сбрасываются после перезагрузки контроллера. Если вам нужен постоянный доступ к интернету — настройте автоматический запуск подключения.
В стандартное ПО контроллера входят настройки подключения для операторов МТС, Мегафон и Билайн по протоколу ppp. Если вы пользуетесь одним из них, то для быстрого подключения к интернету нужно перезапустить модем и подключится с использованием одной из настроек:
- Перезапустите модем:
wb-gsm restart_if_broken
- Установите соединение, например, для оператора МТС:
pon mts
mts
можно заменить наmegafon
илиbeeline
— зависит от вашего оператора связи.
- Если соединение больше не нужно — вы можете его завершить командой:
poff mts
Если на контроллере установлен модуль 3G- или 4G-модем, то для увеличения пропускной способности соединения, демону pppd нужно указать другой порт. Для этого в файле /etc/ppp/peers/<ваш_провайдер_связи>
замените устройство /dev/ttyGSM
на (в зависимости от модема) /dev/ttyUSB0
или /dev/ttyACM0
.
Например, изменим порт для провайдера МТС:
- Откройте файл
/etc/ppp/peers/mts
nano /etc/ppp/peers/mts
- Закомментируйте старый порт и добавьте новый:
#/dev/ttyGSM /dev/ttyUSB0
- порт можно использовать /dev/ttyUSB[0..2] в зависимости от количества и настроек сервисов работающих с модемом.
- Нажмите Ctrl+S для сохранения изменений, Ctrl+X — для выхода из редактора.
Порты /dev/ttyUSB0
,/dev/ttyUSB1
,/dev/ttyUSB2
появляются автоматически после включения модема командой wb-gsm on
.
Автоматический запуск подключения
Чтобы подключение запускалось автоматически:
- Откройте файл
/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 10
- Сохраните изменения и закройте файл.
- Теперь запустите интерфейс
ppp0
командой:ifup 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.
Документация на модемы
Модель | Режимы сети | краткое описание | hardware design | AT-команды |
---|---|---|---|---|
SIM800 | 2G | |||
SIM5300E | 2G/3G | |||
SIM7000E | 2G/NB-IOT | |||
7600E | 2G/3G/4G | WBC-4G |