16 808
правок
м |
м (Поправил текст и оформление) |
||
Строка 1: | Строка 1: | ||
В контроллеры Wiren Board могут быть установлены 2G/3G/4G/NB-IOT модемы — зависит от комплектации. С помощью модемов можно: | В контроллеры Wiren Board могут быть установлены 2G/3G/4G/NB-IOT модемы — зависит от комплектации. С помощью модемов можно: | ||
* отправлять | * отправлять и принимать SMS, | ||
* подключаться к интернету | * подключаться к интернету. | ||
= Общее для всех модемов = | = Общее для всех модемов = | ||
Модемы подключаются к процессору по uart и usb, исключение — модемы 2G. | |||
Модемы подключаются к процессору по uart и usb | Подробнее о подключении модемов и низкоуровневом взаимодействии с ними можно почитать в разделе «[[#Низкоуровневая работа по uart|Низкоуровневая работа по uart]]». | ||
Подробнее о подключении модемов и низкоуровневом взаимодействии с ними можно почитать в разделе [[#Низкоуровневая работа по uart| | |||
Управление питанием и переключением активных sim-карт (если их две) производится с помощью gpio. Включение и отключение модема рекомендуется производить с помощью утилиты [[#Утилита wb-gsm|wb-gsm]]. | |||
Управление питанием и переключением активных sim-карт (если их две) производится с помощью gpio. Включение | |||
== Получение информации о модеме == | == Получение информации о модеме == | ||
В контроллерах, начиная с 2019 года, некоторая информация о модеме заносится в память. Получить её можно с помощью чтения файлов в директории <code>/proc/device-tree/wirenboard/gsm/</code>. | |||
В контроллерах, начиная с 2019 года, некоторая информация о модеме заносится в память. Получить её можно с помощью чтения файлов в директории | |||
В контроллерах версии 6.7 модем устанавливается модулем расширения и для начала работы с ним требует конфигурирования: | В контроллерах версии 6.7 модем устанавливается модулем расширения и для начала работы с ним требует конфигурирования: | ||
{{Wbincludes:Configuration WBC}} | {{Wbincludes:Configuration WBC}} | ||
Например, чтобы узнать модель модема, нужно | Например, чтобы узнать модель модема, нужно выполнить команду | ||
<syntaxhighlight lang="bash"> | |||
cat /proc/device-tree/wirenboard/gsm/model | |||
</syntaxhighlight> | |||
Подробнее о файлах внутри директории можно узнать из таблицы: | Подробнее о файлах внутри директории можно узнать из таблицы: | ||
{| class="wikitable" | {| class="wikitable" | ||
Строка 32: | Строка 31: | ||
||/proc/device-tree/wirenboard/gsm/type||поддерживаемые сети | ||/proc/device-tree/wirenboard/gsm/type||поддерживаемые сети | ||
|- | |- | ||
||/proc/device-tree/wirenboard/gsm/status|| | ||/proc/device-tree/wirenboard/gsm/status||статус модема в системе | ||
|} | |} | ||
== Включение и начало работы == | == Включение и начало работы == | ||
Чтобы начать работу с модемом, нужно: | |||
#Вставить sim-карту. | #Вставить sim-карту. | ||
#Подключить антенну. | #Подключить антенну. | ||
#Перезапустить модем, выполнив команды < | #Перезапустить модем, выполнив команды | ||
#:<syntaxhighlight lang="bash"> | |||
wb-gsm off && wb-gsm on | |||
</syntaxhighlight> | |||
После каждой смены sim-карты необходимо перезапускать модем — смотрите третий пункт! | |||
== Утилита wb-gsm == | |||
Для упрощения работы с модемами была написана утилита <code>wb-gsm</code> (исходный код доступен в нашем [https://github.com/wirenboard/wb-utils/tree/master/gsm репозитории на Github]). Утилита позволяет: | |||
*управлять питанием модемов, команды <code>on, off, restart_if_broken</code>; | |||
*настраивать baudrate связи по uart, команды <code>init_baud, set_speed</code>; | |||
*получать imei, команда <code>imei</code>. | |||
Все команды wb-gsm можно посмотреть [https://github.com/wirenboard/wb-utils/blob/b3d3d50d29578472dfebc97bde77714e097d61d6/gsm/wb-gsm в репозитории на Github]. | |||
Все | |||
Пример использования утилиты <code>wb-gsm</code> для получения imei модема: | |||
Пример использования утилиты wb-gsm для получения imei модема: | <code>DEBUG=true wb-gsm imei DEBUG=true</code> перед командой выводит дополнительную отладочную информацию. | ||
<code>DEBUG=true wb-gsm imei</code> | |||
< | Утилита <code>wb-gsm</code> входит в состав пакета <code>wb-utils</code> и есть в стандартном образе ПО контроллера. | ||
== Переключение активной sim-карты == | == Переключение активной sim-карты == | ||
По умолчанию активна Sim1 — в каждый момент времени '''только одна sim-карта может быть активной'''. | |||
Переключить модем на другую sim-карту можно с помощью gpio процессора. Узнать его номер можно двумя способами: | Переключить модем на другую sim-карту можно с помощью gpio процессора. Узнать его номер можно двумя способами: | ||
*выполнить команду <syntaxhighlight lang="bash">echo $WB_GPIO_GSM_SIMSELECT</syntaxhighlight> | *выполнить команду <syntaxhighlight lang="bash">echo $WB_GPIO_GSM_SIMSELECT</syntaxhighlight> | ||
*найти ''SIM Slot Select gpio'' в [[Wiren_Board_6.1:Список_GPIO#Ножки для внутреннего использования|таблице gpio]] контроллера. | *найти ''SIM Slot Select gpio'' в [[Wiren_Board_6.1:Список_GPIO#Ножки для внутреннего использования|таблице gpio]] контроллера. | ||
По умолчанию, этот gpio уже экспортирован в sysfs, поэтому, для переключения активной sim-карты с 1 на 2, нужно выполнить команду (в примере, номер gpio для переключения sim-карт - 88): <syntaxhighlight lang="bash">echo 1 > /sys/class/gpio/gpio88/value</syntaxhighlight> Соответственно, для переключения обратно на sim1, нужно записать 0. | По умолчанию, этот gpio уже экспортирован в sysfs, поэтому, для переключения активной sim-карты с 1 на 2, нужно выполнить команду (в примере, номер gpio для переключения sim-карт - 88): <syntaxhighlight lang="bash">echo 1 > /sys/class/gpio/gpio88/value</syntaxhighlight> Соответственно, для переключения обратно на sim1, нужно записать 0. | ||
Подробнее о работе с gpio можно узнать из [[Работа_с_GPIO#Интерфейс sysfs в Linux| | Подробнее о работе с gpio можно узнать из статьи «[[Работа_с_GPIO#Интерфейс sysfs в Linux|Работа_с_GPIO]]». | ||
Для того, чтобы новая sim-карта стала активной, нужно '''выполнить следующие AT-команды''' (см. [[#Отправка AT-команд|раздел о работе с AT-командами]]): | Для того, чтобы новая sim-карта стала активной, нужно '''выполнить следующие AT-команды''' (см. [[#Отправка AT-команд|раздел о работе с AT-командами]]): | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Строка 82: | Строка 76: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Низкоуровневая работа по uart == | == Низкоуровневая работа по uart == | ||
Любое взаимодействие с модемом так или иначе сводится к отправке AT-команд через последовательный порт модема. Все модемы подключаются к порту <code>/dev/ttyGSM</code>. 3G модемы, помимо этого, подключаются к портам ''/dev/ttyACM'''X''''' (порты создаются usb-драйвером <code>cdc_acm</code>). | |||
Любое взаимодействие с модемом так или иначе сводится к отправке AT-команд через последовательный порт модема. Все модемы подключаются к порту | |||
=== Подключение в linux === | === Подключение в linux === | ||
*uart: Порт <code>/dev/ttyGSM</code> является ссылкой на ''/dev/ttymxc'''X''''' (uart процессора) и создается с помощью правил udev. Конечный порт может быть разным для разных версий контроллера (подробнее можно посмотреть на [https://github.com/wirenboard/wb-configs/tree/master/configs/usr/share/wb-configs/udev нашем github]). | |||
*uart: Порт | |||
*usb: Порты ''/dev/ttyACM'''X''''' (в случае 3G-модема) появляются автоматически после подачи питания на модем. Обычно, порты 3G-модема — это <code>/dev/ttyACM0-6</code>, однако '''точно''' определить, к каким портам модем подключен по USB можно, выполнив команды: <syntaxhighlight lang="bash">wb-gsm off; wb-gsm on; dmesg | tail</syntaxhighlight>. | |||
Примерный вывод команды: | Примерный вывод команды: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Строка 109: | Строка 101: | ||
[ 6103.182338] cdc_acm 2-1.2:1.12: ttyACM6: USB ACM device | [ 6103.182338] cdc_acm 2-1.2:1.12: ttyACM6: USB ACM device | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Соответственно, в данном случае 3G модем подключен к портам /dev/ttyACM0 - /dev/ttyACM6. | Соответственно, в данном случае 3G модем подключен к портам <code>/dev/ttyACM0 - /dev/ttyACM6</code>. | ||
=== Отправка AT-команд === | === Отправка AT-команд === | ||
Для всех модемов рабочими настройками связи являются: 115200-8-N-1, '''no hardware flow control''' (аппаратный контроль потока должен быть обязательно выключен). Некоторые модели модемов (например, sim5300e, sim7000e) могут сами определять baudrate, установленный в данный момент. Для этого нужно послать в последовательный порт несколько символов (например, "AAAAAAAAAAT"). | Для всех модемов рабочими настройками связи являются: 115200-8-N-1, '''no hardware flow control''' (аппаратный контроль потока должен быть обязательно выключен). Некоторые модели модемов (например, sim5300e, sim7000e) могут сами определять baudrate, установленный в данный момент. Для этого нужно послать в последовательный порт несколько символов (например, "AAAAAAAAAAT"). | ||
Подробнее в статье «[[Работа с последовательным портом из Linux]]». | |||
Подробнее в статье [[Работа с последовательным портом из Linux]]. | |||
Для работы в интерактивном режиме рекомендуем использовать утилиту minicom: | Для работы в интерактивном режиме рекомендуем использовать утилиту <code>minicom</code>: | ||
* запускаем '''minicom''' с ключём, создающим профиль работы с портом (скорость передачи данных, чётность, и т.д.): | * запускаем '''minicom''' с ключём, создающим профиль работы с портом (скорость передачи данных, чётность, и т.д.): | ||
< | <syntaxhighlight lang="bash"> | ||
minicom -s /dev/ttyGSM | minicom -s /dev/ttyGSM | ||
</ | </syntaxhighlight> | ||
[[Файл:Minicom settings.png |500px|thumb|right| Настройки Minicom]] | [[Файл:Minicom settings.png |500px|thumb|right| Настройки Minicom]] | ||
== Работа с sms и ussd == | * Зайти в настройки minicom (нажать ''Ctrl+A'', затем ''O''), выбрать пункт '''Serial port setup''', там установить нужный порт <code>/dev/ttyGSM</code> (в нашем случае), скорость и чётность - <code>115200-8-N-1</code>, <code>Hardware flow control: No</code>, <code>Software flow control: No</code> | ||
* Сохранить настройки: <code>Save setup as _dev_ttyGSM</code>. | |||
* Далее запускать как <code>minicom /dev/ttyGSM</code> (все параметры будут сразу браться из профиля с названием ''/dev/ttyGSM'', который мы ранее создали). | |||
* Первой вашей командой должна стать <code>AAAAAAAAAT</code> — с её помощью модуль распознает скорость, с которой мы к нему обращаемся. | |||
* Второй командой выполните просто <code>AT</code>. Вам должен прийти ответ <code>OK</code>. | |||
== Работа с sms и ussd == | |||
Работать с sms и ussd проще всего при помощи программы [http://wammu.eu/gammu/ ''Gammu''] (это форк утилиты <code>gnokii</code>, которую перестали развивать). | |||
Работать с sms и ussd проще всего при помощи программы [http://wammu.eu/gammu/ ''Gammu''] (это форк утилиты | |||
Полную документацию смотрите на сайте проекта, ниже дана краткая инструкция. | Полную документацию смотрите на сайте проекта, ниже дана краткая инструкция. | ||
=== Настройка === | === Настройка === | ||
Все контроллеры WB6, начиная с 2018 года, поставляются с уже настроенной утилитой gammu. Если gammu не настроена, то можно выбрать один из 2-х способов настройки: | Все контроллеры WB6, начиная с 2018 года, поставляются с уже настроенной утилитой gammu. Если gammu не настроена, то можно выбрать один из 2-х способов настройки: | ||
*Обновить пакет wb-configs. Для этого, нужно выполнить | *Обновить пакет <code>wb-configs</code>. Для этого, нужно выполнить команды <syntaxhighlight lang="bash">apt update && apt install wb-configs</syntaxhighlight> | ||
[[File:Gammu-config.png|300px|thumb|right|Настройка gammu вручную (''gammu-config'')]] | [[File:Gammu-config.png|300px|thumb|right|Настройка gammu вручную (''gammu-config'')]] | ||
*Настроить gammu вручную | *Настроить gammu вручную: | ||
# | #Выполнить команду <syntaxhighlight lang="bash">gammu-config</syntaxhighlight> | ||
#В параметре | #В параметре <code>Port</code> укажите <code>/dev/ttyXXX</code> — файл модема, соответствующий вашей модели контроллера. | ||
#В параметре | #В параметре <code>Connection</code> укажите <code>at115200</code> | ||
=== Примеры команд gammu === | === Примеры команд gammu === | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ gammu networkinfo # посмотреть сеть и базовую станцию, к которой вы подключены | $ gammu networkinfo # посмотреть сеть и базовую станцию, к которой вы подключены | ||
Строка 162: | Строка 148: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== SMS и USSD на русском === | === SMS и USSD на русском === | ||
SMS и USSD на русском в ''gammu'' пока работают не всегда хорошо, поэтому могут пригодиться команды для переключения языка USSD и перекодирования входящих и исходящих SMS в транслит: | |||
SMS и USSD на русском | |||
{| class="wikitable" | {| class="wikitable" | ||
!rowspan="2"|Оператор||colspan="2"|USSD||colspan="2"|SMS | !rowspan="2"|Оператор||colspan="2"|USSD||colspan="2"|SMS | ||
Строка 180: | Строка 165: | ||
|} | |} | ||
=== SMS-уведомления === | === SMS-уведомления === | ||
Отправка sms-уведомлений об изменении состояния какого-либо устройства реализована в ПО Wiren Board с помощью сервиса уведомлений. Также можно отправлять SMS из движка правил wb-rules, вызывая соответствующую функцию. Подробнее в статье «[[Notification_module#Настройка модуля уведомлений| Модуль уведомлений]]». | |||
Отправка sms-уведомлений об изменении состояния какого-либо устройства реализована в ПО Wiren Board с помощью сервиса уведомлений. Также можно отправлять SMS из движка правил wb-rules, вызывая соответствующую функцию. Подробнее в статье [[Notification_module#Настройка модуля уведомлений| Модуль уведомлений]]. | |||
== Интернет через ppp == | == Интернет через ppp == | ||
Перед выходом в интернет необходимо, чтобы модем был включен. Для этого вручную или в файле настройки сетевых интерфейсов (см. далее) выполните команду <syntaxhighlight lang="bash">wb-gsm restart_if_broken</syntaxhighlight> | |||
Перед выходом в интернет необходимо, чтобы модем был включен. Для этого вручную или в файле настройки сетевых интерфейсов (см. далее) выполните команду < | |||
=== Быстрая настройка автоматического выхода в интернет для МТС/Билайн/Мегафон === | === Быстрая настройка автоматического выхода в интернет для МТС/Билайн/Мегафон === | ||
В стандартное ПО Wiren Board входят настройки подключения для операторов МТС, Мегафон и Билайн по протоколу ppp. Если вы пользуетесь одним из них, для запуска подключения выполните команду | В стандартное ПО Wiren Board входят настройки подключения для операторов МТС, Мегафон и Билайн по протоколу ppp. Если вы пользуетесь одним из них, для запуска подключения выполните команду | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Строка 202: | Строка 184: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Если на контроллере установлен 3G-модем, то для увеличения пропускной способности соединения, демону pppd нужно указать другой порт: в файле <code>/etc/ppp/peers/ваш_провайдер_сотовой_связи</code> (в примере — МТС) замените устройство <code>/dev/ttyGSM</code> на <code>/dev/ttyACM0</code> | |||
Если на контроллере установлен 3G-модем, то для увеличения пропускной способности соединения, демону pppd нужно указать другой порт: в файле /etc/ppp/peers/ваш_провайдер_сотовой_связи (в примере — МТС) замените устройство <code>/dev/ttyGSM</code> на <code>/dev/ttyACM0</code> | |||
[[Файл:GSM-ACM.png|thumb|right|Файл /etc/ppp/peers/<ваш_провайдер_связи>]] | [[Файл:GSM-ACM.png|thumb|right|Файл /etc/ppp/peers/<ваш_провайдер_связи>]] | ||
[[File:Etc-network-interfaces.png|300px|thumb|right|Файл ''/etc/network/interfaces'', автоматически запускающий подключение к МТС]] | [[File:Etc-network-interfaces.png|300px|thumb|right|Файл ''/etc/network/interfaces'', автоматически запускающий подключение к МТС]] | ||
Чтобы подключение запускалось автоматически и перезапускалось при обрыве, откройте файл | Чтобы подключение запускалось автоматически и перезапускалось при обрыве, откройте файл <code>/etc/network/interfaces</code> и раскомментируйте или отредактируйте следующие строки: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
auto ppp0 | auto ppp0 | ||
Строка 219: | Строка 199: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Выполните команду <code>ifup ppp0</code> — через 10-15 секунд интерфейс <code>ppp0</code> будет доступен. | |||
Выполните команду <code>ifup ppp0</code> — через 10-15 секунд интерфейс ppp0 будет доступен. | |||
После перезагрузки интерфейс будет автоматически включаться и восстанавливать соединение после обрыва сотовой связи | После перезагрузки интерфейс будет автоматически включаться и восстанавливать соединение после обрыва сотовой связи | ||
Для 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]). | |||
Для 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 === | === Маршрутизация и настройка <u>''резервного''</u> подключения через ppp === | ||
'''Важно!''' По умолчанию интерфейс <code>ppp0</code> при инициализации '''не добавляет нового маршрута по умолчанию''' через ppp, в случае, если такой маршрут существует и настроен, например, через eth0. Если это требуется, то изменение таблицы маршрутизации можно выполнять через скрипты в директориях <code>ip-down.d</code>, <code>ip-up.d</code>. | |||
'''Важно!''' По умолчанию интерфейс ppp0 при инициализации '''не добавляет нового маршрута по умолчанию''' через ppp, в случае, если такой маршрут существует и настроен, например, через eth0. Если это требуется, то изменение таблицы маршрутизации можно выполнять через скрипты в директориях ip-down.d, ip-up.d. | |||
Подробнее в статье [[Wirenboard6:InstallingOnTheRemoteSite#PPP — основной и резервный выход в интернет|Сетевые настройки контроллера]]. | Подробнее в статье [[Wirenboard6:InstallingOnTheRemoteSite#PPP — основной и резервный выход в интернет|Сетевые настройки контроллера]]. | ||
Для более сложных случаев, когда физическое соединение на интерфейсе <code>eth0</code> не пропадает, рекомендуется применять скрипты, которые на основе доступности какого-либо сетевого узла в интернете через один из интерфейсов переключают маршрут по умолчанию. В интернете предлагается множество решений решений такого рода задачи, можно выбрать одно из них. | |||
Для более сложных случаев, когда физическое соединение на интерфейсе eth0 не пропадает, рекомендуется применять скрипты, которые на основе доступности какого-либо сетевого узла в интернете через один из интерфейсов переключают маршрут по умолчанию. В интернете предлагается множество решений решений такого рода задачи, можно выбрать одно из них. | |||
Если контроллер обычно подключён к Интернету через Ethernet или Wi-Fi, а GPRS должен использоваться только при неполадках основного канала, такой режим работы называется ''failover''. Обычно он работает так: | Если контроллер обычно подключён к Интернету через Ethernet или Wi-Fi, а GPRS должен использоваться только при неполадках основного канала, такой режим работы называется ''failover''. Обычно он работает так: | ||
# Организуется работа через основной канал. | # Организуется работа через основной канал. | ||
Строка 243: | Строка 218: | ||
# Основное соединение постоянно проверяется, и если доступ в Интернет через него восстанавливается, система возвращается к работе через него, изменяя ''default gateway''. | # Основное соединение постоянно проверяется, и если доступ в Интернет через него восстанавливается, система возвращается к работе через него, изменяя ''default gateway''. | ||
В качестве примера укажем две инструкции по организации такого режима работы: | В качестве примера укажем две инструкции по организации такого режима работы: | ||
*[http://lstein.github.io/Net-ISP-Balance/ Net-ISP-Balance] | |||
*[https://serverfault.com/questions/360131/ubuntu-failover-from-ethernet-to-adsl-modem-to-usb-3g-dongle?rq=1 Ubuntu failover from Ethernet-to-ADSL-modem to USB 3G dongle] | |||
==Мультиплексирование== | ==Мультиплексирование== | ||
Модем поддерживает режим мультиплексирования — создания виртуальных портов, через которые можно одновременно работать с модемом. | |||
Модем поддерживает режим мультиплексирования | Например, через один порт можно открыть сессию PPP для GPRS, а через другой — получать и отправлять SMS, проверять баланс и т.д. | ||
Например, через один порт можно открыть сессию PPP для GPRS, а через другой | |||
Подробнее смотрите [[Special:MyLanguage/CMUX|CMUX]]. Этот режим не поддерживается для 2G-модемов. | Подробнее смотрите [[Special:MyLanguage/CMUX|CMUX]]. Этот режим не поддерживается для 2G-модемов. | ||
==Документация на модемы== | ==Документация на модемы== | ||
{| class="wikitable" | {| class="wikitable" | ||
Строка 270: | Строка 243: | ||
|} | |} | ||
= GPRS на модемах SIM7000E 2G/NB-IoT = | = GPRS на модемах SIM7000E 2G/NB-IoT = | ||
Модем SIM7000E 2G/NB-IoT по умолчанию настроен на автоматический выбор GSM- и LTE-сетей. Однако, в сети или с SIM-картой без поддержки NB-IoT модем не регистрируется в сети GSM (GPRS). | Модем SIM7000E 2G/NB-IoT по умолчанию настроен на автоматический выбор GSM- и LTE-сетей. Однако, в сети или с SIM-картой без поддержки NB-IoT модем не регистрируется в сети GSM (GPRS). | ||
Для того, чтобы модем смог зарегистрироваться в сети GSM, необходимо принудительно перевести его в режим GSM only. | Для того, чтобы модем смог зарегистрироваться в сети GSM, необходимо принудительно перевести его в режим GSM only. | ||
В терминальном режиме работы с модемом, например, в программе minicom (смотрите раздел [[GSM/GPRS#Отправка AT-команд|Отправка AT-команд]]), введите команду выбора режима: | |||
В терминальном режиме работы с модемом, например, в программе minicom (смотрите раздел [[GSM/GPRS#Отправка AT-команд| | <syntaxhighlight lang="bash"> | ||
< | |||
AT+CNMP=13 | AT+CNMP=13 | ||
</ | </syntaxhighlight> | ||
Возможные варианты значений (команда <code>AT+CNMP=?</code>): | Возможные варианты значений (команда <code>AT+CNMP=?</code>): | ||
2 | *<code>2</code> — Automatic, | ||
*<code>13</code> — GSM Only, | |||
*<code>38</code> — LTE Only, | |||
*<code>51</code> — GSM And LTE Only. | |||
Установить режим нужно один раз — он запоминается и активен даже после отключения питания. | |||
Чтобы вернуться в режим IoT, выполните команду: | Чтобы вернуться в режим IoT, выполните команду: | ||
< | <syntaxhighlight lang="bash"> | ||
AT+CNMP=51 | AT+CNMP=51 | ||
</ | </syntaxhighlight> | ||