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

Нет описания правки
(→‎Подключение в linux: Исправил порт на актуальный)
 
(не показаны 22 промежуточные версии 5 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE: Настройка 2G/3G/NB-IOT модемов в контроллере Wiren Board, а также 4G-модемов на Debian Stretch }}
== Общая информация ==
== Общая информация ==
{{note|info|Эта статья описывает настройку 2G/3G/NB-IOT модемов в контроллерах Wiren Board 5...7, а также 4G(LTE)-модема в релизе [[wb-2207]] и старее. Для настройки 4G(LTE)-модема в релизе [[wb-2304]] и новее, используйте эту [[Modem-bullseye|инструкцию]].}}
В контроллеры Wiren Board могут быть установлены 2G/3G/4G(LTE)/NB-IOT модемы — зависит от комплектации.  
В контроллеры Wiren Board могут быть установлены 2G/3G/4G(LTE)/NB-IOT модемы — зависит от комплектации.  


Строка 164: Строка 166:
|}
|}


Для надежной отправики SMS на русском надо проверить локаль и установить LC_ALL=ru_RU.utf8
Для надежной отправки SMS на русском надо проверить локаль и установить LC_ALL=ru_RU.utf8


=== SMS-уведомления ===
=== SMS-уведомления ===
Строка 198: Строка 200:
# Откройте файл <code>/etc/ppp/peers/mts</code>
# Откройте файл <code>/etc/ppp/peers/mts</code>
#:<syntaxhighlight lang="bash">
#:<syntaxhighlight lang="bash">
mcedit /etc/ppp/peers/mts
nano /etc/ppp/peers/mts
</syntaxhighlight>
</syntaxhighlight>
# Закомментируйте старый порт и добавьте новый:
# Закомментируйте старый порт и добавьте новый:
Строка 205: Строка 207:
/dev/ttyUSB0
/dev/ttyUSB0
</syntaxhighlight>
</syntaxhighlight>
# Сохраните изменения и закройте файл.
#:порт можно использовать /dev/ttyUSB[0..2] в зависимости от количества и настроек сервисов работающих с модемом.
# {{Wbincludes:Save nano}}


Порт <code>/dev/ttyUSB0</code> появляется автоматически после включения модема командой <code>wb-gsm on</code>.
Порты <code>/dev/ttyUSB0</code>,<code>/dev/ttyUSB1</code>,<code>/dev/ttyUSB2</code> появляются автоматически после включения модема командой <code>wb-gsm on</code>.


=== Автоматический запуск подключения ===
=== Автоматический запуск подключения ===
Строка 215: Строка 218:
#Откройте файл <code>/etc/network/interfaces</code> для редактирования:
#Откройте файл <code>/etc/network/interfaces</code> для редактирования:
#:<syntaxhighlight lang="bash">
#:<syntaxhighlight lang="bash">
mcedit /etc/network/interfaces
nano /etc/network/interfaces
</syntaxhighlight>
</syntaxhighlight>
#Раскомментируйте или отредактируйте следующие строки:
#Раскомментируйте или отредактируйте следующие строки:
Строка 238: Строка 241:


Для 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-интерфейсов эти скрипты должны находиться в директориях <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].
=== Автоматическое восстановление подключения ===
Скрипт позволяет восстановить интернет-соединение после сбоя. Пример автоматического запуска скрипта можете посмотреть в [[Wi-Fi#Автоматическое переподключение при проблемах с соединением |статье про WiFi]]
<syntaxhighlight lang="bash">
#!/bin/sh
echo --------------- --------------- --------------- --
echo WAN CONTROLL RESTART
echo --------------- --------------- --------------- --
PINGRESORCE1="ya.ru"
PINGRESORCE2="google.com"
if (! ping -q -c3 ${PINGRESORCE1} > /dev/null 2>&1)
then
if (! ping -q -c3 ${PINGRESORCE2} > /dev/null 2>&1)
then
wb-gsm restart_if_broken
else
echo 'internet ok'
fi
else
echo 'internet ok'
fi
</syntaxhighlight>


=== Резервирование канала связи ===
=== Резервирование канала связи ===
Строка 303: Строка 283:


=== Настройка виртуальной сетевой карты ===
=== Настройка виртуальной сетевой карты ===
==== Включение ====
После того как мы настроили модем, нужно настроить виртуальную сетевую карту:
После того как мы настроили модем, нужно настроить виртуальную сетевую карту:
# Откройте файл <code>/etc/network/interfaces</code>:
# Откройте файл <code>/etc/network/interfaces</code>:
Строка 313: Строка 294:
allow-hotplug usb0
allow-hotplug usb0
iface usb0 inet dhcp
iface usb0 inet dhcp
  pre-up sleep 8
   pre-up wb-gsm restart_if_broken   
   pre-up wb-gsm restart_if_broken   
   pre-up sleep 10
   pre-up sleep 10
</syntaxhighlight>
</syntaxhighlight>
#: автоматически запускать модем, интерфейс и получать IP-адрес.
#: автоматически запустить модем, интерфейс и получать IP-адрес. Задержки ''pre-up sleep'' перед и после включения модема нужны для надёжного старта.
# Сохраните и закройте файл <code>interfaces</code>, для этого нажмите клавиши <kbd>Ctrl</kbd>+<kbd>O</kbd>, затем <kbd>Enter</kbd> и <kbd>Ctrl</kbd>+<kbd>X</kbd>.
# Сохраните и закройте файл <code>interfaces</code>. {{Wbincludes:Save nano}}
# Запустите интерфейс командой:
# Запустите интерфейс командой:
#:<syntaxhighlight lang="bash">
#:<syntaxhighlight lang="bash">
Строка 324: Строка 306:


Настройка завершена, теперь модем по DHCP назначит контроллеру IP-адрес в подсети <code>192.168.0.1</code>, а после перезагрузки контроллера соединение с интернетом восстановится автоматически.
Настройка завершена, теперь модем по DHCP назначит контроллеру IP-адрес в подсети <code>192.168.0.1</code>, а после перезагрузки контроллера соединение с интернетом восстановится автоматически.
При необходимости можно сменить подсеть модема, чтобы он выдавал контроллеру адрес не из подсети <code>192.168.0.ххх</code>, а, например, <code>192.168.100.ххх</code>. Для этого нужно выполнить AT-команду:
<syntaxhighlight lang="bash">
AT+USBNETIP=0,100,111
</syntaxhighlight>
Команда имеет следующий синтаксис:
<syntaxhighlight lang="bash">
AT+USBNETIP=<mode>,<tpos>,<dhcps>,<dhcpe>
</syntaxhighlight>
{| border="1" class="wikitable" style="text-align:left"
|-
|<mode> ||
0 – частный IP-адрес (по умолчанию, 192.168.0.xxx и т. д.) </br>
1 – Публичный IP (ip из сети). Вступает в силу после перезагрузки модема.
|-
|<tpos> || Третья позиция IP-адреса
|-
|<dhcps> || Начальное значение DHCP
|-
|<dhcpe> || Конечное значение DHCP
|}
'''Предупреждение!''' Данная функция может не работать на модемах со старыми прошивками. Узнать, что модем поддерживает эту функцию можно командой
<syntaxhighlight lang="bash">
AT+USBNETIP?
</syntaxhighlight>
Функция поддерживается, если получен ответ
<syntaxhighlight lang="bash">
+USBNETIP: mode
OK
</syntaxhighlight>
==== Отключение ====
# Остановите интерфейс командой:
#:<syntaxhighlight lang="bash">
ifdown usb0
</syntaxhighlight>
# Откройте файл <code>/etc/network/interfaces</code>:
#:<syntaxhighlight lang="bash">
nano /etc/network/interfaces
</syntaxhighlight>
# Закомментируйте или удалите строки:
#:<syntaxhighlight lang="bash">
#auto usb0
#allow-hotplug usb0
#iface usb0 inet dhcp
#  pre-up sleep 8
#  pre-up wb-gsm restart_if_broken 
#  pre-up sleep 10
</syntaxhighlight>
# Сохраните и закройте файл <code>interfaces</code>. {{Wbincludes:Save nano}}


==Мультиплексирование==  
==Мультиплексирование==