Modem-stretch: различия между версиями
Vdromanov (обсуждение | вклад) |
Vdromanov (обсуждение | вклад) |
||
Строка 8: | Строка 8: | ||
* подключаться к интернету по GPRS | * подключаться к интернету по GPRS | ||
= Общее для всех модемов = <!--T:2--> | |||
Модемы подключены к процессору по: | Модемы подключены к процессору по: | ||
*uart - все; | *uart - все; | ||
Строка 16: | Строка 16: | ||
Управление питанием и переключением активных sim-карт (если их две) производится с помощью gpio. Включение/отключение модема рекомендуется производить с помощью утилиты [[#Утилита wb-gsm|wb-gsm]]. | Управление питанием и переключением активных sim-карт (если их две) производится с помощью gpio. Включение/отключение модема рекомендуется производить с помощью утилиты [[#Утилита wb-gsm|wb-gsm]]. | ||
== Получение информации о модеме == <!--T:2--> | |||
В контроллерах, приобретённых после 2018 года, некоторая информация о модеме заносится в память. Получить её можно с помощью чтения файлов в директории ''/proc/device-tree/wirenboard/gsm/'' | В контроллерах, приобретённых после 2018 года, некоторая информация о модеме заносится в память. Получить её можно с помощью чтения файлов в директории ''/proc/device-tree/wirenboard/gsm/'' | ||
Например, чтобы узнать модель модема, нужно запустить команду <syntaxhighlight lang="bash">cat /proc/device-tree/wirenboard/gsm/model</syntaxhighlight> | Например, чтобы узнать модель модема, нужно запустить команду <syntaxhighlight lang="bash">cat /proc/device-tree/wirenboard/gsm/model</syntaxhighlight> | ||
== Включение и начало работы == <!--T:2--> | |||
<!--T:3--> | <!--T:3--> | ||
Строка 30: | Строка 30: | ||
После каждой смены sim-карты необходимо перезапускать модем (см. п.3)! | После каждой смены sim-карты необходимо перезапускать модем (см. п.3)! | ||
== Утилита wb-gsm == <!--T:4--> | |||
Для упрощения работы с модемами была написана утилита wb-gsm (исходный код доступен на [https://github.com/wirenboard/wb-utils/tree/master/gsm нашем github]). Утилита позволяет: | Для упрощения работы с модемами была написана утилита wb-gsm (исходный код доступен на [https://github.com/wirenboard/wb-utils/tree/master/gsm нашем github]). Утилита позволяет: | ||
*Управлять питанием модемов (команды on, off, restart_if_broken); | *Управлять питанием модемов (команды on, off, restart_if_broken); | ||
Строка 43: | Строка 43: | ||
Утилита wb-gsm входит в состав пакета ''wb-utils'' и присутствует в стандартном образе ПО контроллера. | Утилита wb-gsm входит в состав пакета ''wb-utils'' и присутствует в стандартном образе ПО контроллера. | ||
== Низкоуровневая работа по uart == <!--T:4--> | |||
Любое взаимодействие с модемом так или иначе сводится к отправке AT-команд через последовательный порт модема. Все модемы подключаются к порту ''/dev/ttyGSM''. 3G модемы, помимо этого, подключаются к портам ''/dev/ttyACM'''X''''' (порты создаются usb-драйвером ''cdc_acm''). | Любое взаимодействие с модемом так или иначе сводится к отправке AT-команд через последовательный порт модема. Все модемы подключаются к порту ''/dev/ttyGSM''. 3G модемы, помимо этого, подключаются к портам ''/dev/ttyACM'''X''''' (порты создаются usb-драйвером ''cdc_acm''). | ||
=== Подключение в linux === <!--T:4--> | |||
*uart: Порт ''/dev/ttyGSM'' является ссылкой на ''/dev/ttymxc'''X''''' (uart процессора) и делается с помощью правил udev. Конечный порт может быть разным для разных версий контроллера (подробнее можно посмотреть на [https://github.com/wirenboard/wb-configs/tree/master/configs/usr/share/wb-configs/udev нашем github]). | *uart: Порт ''/dev/ttyGSM'' является ссылкой на ''/dev/ttymxc'''X''''' (uart процессора) и делается с помощью правил udev. Конечный порт может быть разным для разных версий контроллера (подробнее можно посмотреть на [https://github.com/wirenboard/wb-configs/tree/master/configs/usr/share/wb-configs/udev нашем github]). | ||
Строка 67: | Строка 67: | ||
Соответственно, в данном случае 3G модем подключен к портам /dev/ttyACM0 - /dev/ttyACM6. | Соответственно, в данном случае 3G модем подключен к портам /dev/ttyACM0 - /dev/ttyACM6. | ||
=== Отправка AT-команд === <!--T:4--> | |||
Для всех модемов рабочими настройками связи являются: 115200-8-N-1, '''no hardware flow control''' (аппаратный контроль потока должен быть обязательно выключен). Некоторые модели модемов (например, sim5300e, sim7000e) могут сами определять baudrate, установленный в данный момент. Для этого нужно послать в последовательный порт несколько символов (например, "AAAAAAAAAAT"). | Для всех модемов рабочими настройками связи являются: 115200-8-N-1, '''no hardware flow control''' (аппаратный контроль потока должен быть обязательно выключен). Некоторые модели модемов (например, sim5300e, sim7000e) могут сами определять baudrate, установленный в данный момент. Для этого нужно послать в последовательный порт несколько символов (например, "AAAAAAAAAAT"). | ||
Строка 85: | Строка 85: | ||
* Второй командой выполните просто ''AT''. Вам должен прийти ответ '''OK'''. | * Второй командой выполните просто ''AT''. Вам должен прийти ответ '''OK'''. | ||
== Работа с sms и ussd == <!--T:15--> | |||
Работать с sms и ussd проще всего при помощи программы [http://wammu.eu/gammu/ ''Gammu''] (это форк утилиты '''gnokii''', которую перестали развивать). | Работать с sms и ussd проще всего при помощи программы [http://wammu.eu/gammu/ ''Gammu''] (это форк утилиты '''gnokii''', которую перестали развивать). | ||
Краткая инструкция по работе gammu; полную документацию смотрите на [http://wammu.eu/gammu/ сайте проекта gammu]: | Краткая инструкция по работе gammu; полную документацию смотрите на [http://wammu.eu/gammu/ сайте проекта gammu]: | ||
=== Настройка ===<!--T:18--> | |||
Все контроллеры WB6, начиная с 2018 года, поставляются с уже настроенной утилитой gammu. Если gammu не настроена, то можно выбрать один из 2-х способов настройки: | Все контроллеры WB6, начиная с 2018 года, поставляются с уже настроенной утилитой gammu. Если gammu не настроена, то можно выбрать один из 2-х способов настройки: | ||
*Обновить пакет wb-configs. Для этого, нужно выполнить команду <syntaxhighlight lang="bash">apt update; apt install wb-configs</syntaxhighlight> | *Обновить пакет wb-configs. Для этого, нужно выполнить команду <syntaxhighlight lang="bash">apt update; apt install wb-configs</syntaxhighlight> | ||
Строка 100: | Строка 100: | ||
#В параметре ''Connection'' укажите ''at115200'' | #В параметре ''Connection'' укажите ''at115200'' | ||
=== Примеры команд gammu ===<!--T:18--> | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ gammu networkinfo # посмотреть сеть и базовую станцию, к которой вы подключены | $ gammu networkinfo # посмотреть сеть и базовую станцию, к которой вы подключены | ||
Строка 108: | Строка 108: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== SMS и USSD на русском === <!--T:19--> | |||
SMS и USSD на русском пока работают в ''gammu'' не всегда хорошо, поэтому могут пригодиться команды для переключения языка USSD и перекодирования входящих и исходящих SMS в транслит: | SMS и USSD на русском пока работают в ''gammu'' не всегда хорошо, поэтому могут пригодиться команды для переключения языка USSD и перекодирования входящих и исходящих SMS в транслит: | ||
{| class="wikitable" | {| class="wikitable" | ||
Строка 124: | Строка 124: | ||
|} | |} | ||
== Интернет через ppp == <!--T:21--> | |||
Перед выходом в интернет необходимо, чтобы модем был включен. Для этого вручную или в файле настройке сетевых интерфейсов (см. далее) выполните команду <pre>wb-gsm restart_if_broken</pre> | Перед выходом в интернет необходимо, чтобы модем был включен. Для этого вручную или в файле настройке сетевых интерфейсов (см. далее) выполните команду <pre>wb-gsm restart_if_broken</pre> | ||
=== Быстрая настройка автоматического выхода в интернет для МТС/Билайн/Мегафон === <!--T:23--> | |||
<!--T:24--> | <!--T:24--> | ||
Строка 160: | Строка 160: | ||
Для 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 и т.п (подробнее об их назначении и функционировании можно узнать в документе [http://citforum.ru/operating_systems/linux/HOWTO/PPP-HOWTO.shtml PPP HOWTO]). | Для 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 и т.п (подробнее об их назначении и функционировании можно узнать в документе [http://citforum.ru/operating_systems/linux/HOWTO/PPP-HOWTO.shtml PPP HOWTO]). | ||
=== Маршрутизация и настройка <u>''резервного''</u> подключения через ppp === <!--T:38--> | |||
<!--T:39--> | <!--T:39--> | ||
Строка 180: | Строка 180: | ||
# https://serverfault.com/questions/360131/ubuntu-failover-from-ethernet-to-adsl-modem-to-usb-3g-dongle?rq=1 | # https://serverfault.com/questions/360131/ubuntu-failover-from-ethernet-to-adsl-modem-to-usb-3g-dongle?rq=1 | ||
==Мультиплексирование== <!--T:61--> | |||
<!--T:62--> | <!--T:62--> | ||
Строка 187: | Строка 187: | ||
Подробнее смотрите [[Special:MyLanguage/CMUX|CMUX]]. Этот режим не поддерживается для 2G-модемов. | Подробнее смотрите [[Special:MyLanguage/CMUX|CMUX]]. Этот режим не поддерживается для 2G-модемов. | ||
= GPRS на модемах SIM7000E 2G/NB-IoT = <!--T:9--> | |||
<!--T:10--> | <!--T:10--> |