Перейти к содержанию

Навигация

Modem-stretch: различия между версиями

Нет описания правки
Строка 8: Строка 8:
* подключаться к интернету по GPRS
* подключаться к интернету по GPRS


== Общее для всех модемов == <!--T:2-->
= Общее для всех модемов = <!--T:2-->
Модемы подключены к процессору по:
Модемы подключены к процессору по:
*uart - все;
*uart - все;
Строка 16: Строка 16:
Управление питанием и переключением активных sim-карт (если их две) производится с помощью gpio. Включение/отключение модема рекомендуется производить с помощью утилиты [[#Утилита wb-gsm|wb-gsm]].
Управление питанием и переключением активных sim-карт (если их две) производится с помощью gpio. Включение/отключение модема рекомендуется производить с помощью утилиты [[#Утилита wb-gsm|wb-gsm]].


=== Получение информации о модеме === <!--T:2-->
== Получение информации о модеме == <!--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:2-->


<!--T:3-->
<!--T:3-->
Строка 30: Строка 30:
После каждой смены sim-карты необходимо перезапускать модем (см. п.3)!
После каждой смены sim-карты необходимо перезапускать модем (см. п.3)!


=== Утилита wb-gsm === <!--T:4-->
== Утилита 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-->
== Низкоуровневая работа по 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-->
=== Подключение в 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-->
=== Отправка 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 == <!--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-->
=== Настройка ===<!--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-->
=== Примеры команд gammu ===<!--T:18-->
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ gammu networkinfo # посмотреть сеть и базовую станцию, к которой вы подключены
$ gammu networkinfo # посмотреть сеть и базовую станцию, к которой вы подключены
Строка 108: Строка 108:
</syntaxhighlight>
</syntaxhighlight>


==== SMS и USSD на русском ==== <!--T:19-->
=== SMS и USSD на русском === <!--T:19-->
SMS и USSD на русском пока работают в ''gammu'' не всегда хорошо, поэтому могут пригодиться команды для переключения языка USSD и перекодирования входящих и исходящих SMS в транслит:
SMS и USSD на русском пока работают в ''gammu'' не всегда хорошо, поэтому могут пригодиться команды для переключения языка USSD и перекодирования входящих и исходящих SMS в транслит:
{| class="wikitable"
{| class="wikitable"
Строка 124: Строка 124:
|}
|}


=== Интернет через ppp === <!--T:21-->
== Интернет через ppp == <!--T:21-->
Перед выходом в интернет необходимо, чтобы модем был включен. Для этого вручную или в файле настройке сетевых интерфейсов (см. далее) выполните команду <pre>wb-gsm restart_if_broken</pre>
Перед выходом в интернет необходимо, чтобы модем был включен. Для этого вручную или в файле настройке сетевых интерфейсов (см. далее) выполните команду <pre>wb-gsm restart_if_broken</pre>


==== Быстрая настройка автоматического выхода в интернет для МТС/Билайн/Мегафон ==== <!--T:23-->
=== Быстрая настройка автоматического выхода в интернет для МТС/Билайн/Мегафон === <!--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-->
=== Маршрутизация и настройка <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:61-->


<!--T:62-->
<!--T:62-->
Строка 187: Строка 187:
Подробнее смотрите [[Special:MyLanguage/CMUX|CMUX]]. Этот режим не поддерживается для 2G-модемов.
Подробнее смотрите [[Special:MyLanguage/CMUX|CMUX]]. Этот режим не поддерживается для 2G-модемов.


== GPRS на модемах SIM7000E 2G/NB-IoT == <!--T:9-->
= GPRS на модемах SIM7000E 2G/NB-IoT = <!--T:9-->


<!--T:10-->
<!--T:10-->
wb_editors
556

правок