В наличие есть 3G USB модем Novatel MC935D, карточка оператора Life, персоналка с операционной системой Debian 8.xx.
Задача: линукс сам должен поднять модем и подключиться к мобильному оператору.
Настройка 3G модема
Далее VID:PID устройства можно посмотреть командой lsusb
Когда 3G USB модем всовывают в компьютер он виден как CD-диск и не виден как модем. В Windows с этого диска запускается программа, которая переводит его в режим модема. В Линуксе для этого используется пакет usb-modeswitch. Эта программа должна посылать на устройство строку, которая меняет режим устройства.
Например для нашего модема в режиме CDROMa VID:PID равен 1410:5020 Надо настроить usb-modeswitch так, чтобы он был в режиме модема и имел VID:PID 1410:6000 или 1410:7001
Вставить модем. Он в режиме CDROMa.
С помощью команды lsusb выяснить текущий VID:PID устройства. Для нашего модема в режиме CDROMa 1410:5020.
Например для нашего модема в режиме CDROMa VID:PID равен 1410:5020 Надо настроить usb-modeswitch так, чтобы он был в режиме модема и имел VID:PID 1410:6000 или 1410:7001
Вставить модем. Он в режиме CDROMa.
С помощью команды lsusb выяснить текущий VID:PID устройства. Для нашего модема в режиме CDROMa 1410:5020.
Переходим в папку /etc/usb_modeswitch.d В этой папке должен лежать файл с именем 1410:5020 содержащий настройки для перевода устройства в режим модема. Иногда такой файл уже лежит там. В нашем случае это оказалось не так. Тогда в Google искать что-то типа “usb modeswitch 1410:5120”. В нашем случае содержимое файла такое:
# Novatel MC990D
DefaultVendor=0x1410
DefaultProduct=0x5020
TargetVendor=0x1410
TargetProductList="6000,7001"
StandardEject=1
Для проверки запустить команду “/usr/sbin/usb_modeswitch -c /etc/usb_modeswitch.d/1410:5020”. После чего командой lsusb проверить, что VID:PID изменился на 1410:7001. Если не изменился, гуглим дальше.
Теперь мы нашли как менять режим модема. Но не будем же мы при каждом включении вручную вводить эту команду. Нам поможет UDEV. Как я понял эта штука ловит в ядре определенные события и при их наступлении запускает нужные команды. Для настройки UDEV в папке /etc/udev/rules.d/ создать файл 41-usb.rules здесь число 41 как-то связано с приоритетом события, поэтому его может понадобиться изменить. Содержимое файла одна строка:
Теперь мы нашли как менять режим модема. Но не будем же мы при каждом включении вручную вводить эту команду. Нам поможет UDEV. Как я понял эта штука ловит в ядре определенные события и при их наступлении запускает нужные команды. Для настройки UDEV в папке /etc/udev/rules.d/ создать файл 41-usb.rules здесь число 41 как-то связано с приоритетом события, поэтому его может понадобиться изменить. Содержимое файла одна строка:
ACTION=="add",SUBSYSTEM=="usb",ATTRS{idVendor}=="1410",ATTRS{idProduct}=="5020",RUN+="/usr/sbin/usb_modeswitch -c /etc/usb_modeswitch.d/1410:5020"
Теперь при перезагрузке системы или всовывании - высовывании модема его режим будет автоматически переключаться.
Настройка ppp соединения с провайдером интернета
Настройка wvdial
Здесь нужен пакет wvdial. После его установки запускаем wvdialconf Это полностью автоматическая программа ищет модем и настройки для него кидает в /etc/wvdial.conf в секцию [Dialer Default]. Потом в /etc/wvdial.conf я вручную создал секцию [Dialer Life] и записал в него настройки для нашего соединения с мобильным оператором Life. Файл /etc/wvdial.conf получился таким:
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
ISDN = 0
Modem = /dev/ttyUSB0
Baud = 9600
[Dialer Life]
Init3 = AT+CGDCONT=1,"IP","internet"
Username = 1
Password = 2
Phone = *99#
Здесь в строке Init3 слово “internet” это APN мобильного оператора, для других мобильных операторов эта строка может отличаться. Например для Vodafone это "internet", а для абонентов до 2006г это "www.umc.ua". Киевстар имеет точку "www.kyivstar.net"
У мобильного оператора написано, что параметры Username и Password должны быть пустыми, но wvdial отказывался работать, поэтому я взял с потолка.
Для проверки запускаем “wvdial Life” и смотрим вывод. Должно установиться соединение.
Настройка pppd
Для следующего шага нам понадобится пакет pppd.
В папке /etc/ppp/peers создаем файл life с содержимым:
В папке /etc/ppp/peers создаем файл life с содержимым:
connect '/usr/bin/wvdial Life'
noauth
persist
usepeerdns
Здесь параметр “/usr/bin/wvdial Life“ указывает запустить секцию "[Dialer Life]" файла wvdial.conf.
Для проверки запустить pppd life. После командой ifconfig смотрим появился ли у нас интерфейс ppp. Если появился, то связь с мобильным оператором работает.
Для того, чтобы ppp соединение запускалось автоматически в файл /etc/network/interfaces добавить строки
Для того, чтобы ppp соединение запускалось автоматически в файл /etc/network/interfaces добавить строки
auto ppp0
iface ppp0 inet wvdial
provider life
Здесь “life” это имя файла из /etc/ppp/peers. Теперь при включении - выключении системы интерфейс ppp0 будет запускаться автоматически. Вручную это делается командами “ifup ppp0” - поднять интерфейс, “ifdown ppp0” - опустить интерфейс, “/etc/init.d/networking restart” - перегрузить все сетевые интерфейсы.
Комментариев нет:
Отправить комментарий