Доработка и использование 3G USB-модема в *nix-системах

restart lightsquid

В данной статье описываются детали подключения и особенности настройки 3G USB модема в *nix системах. Множество современных USB-модемов для удобства пользования имеют на себе драйвера и сопутствующие программы от производителя, а сам модем при подключении определяется как CD-ROM.

Проблема заключается в том, что *nix-система тоже определяет наш модем как CD-ROM, в следствии чего соединение с интернетом становится невозможным.

 

Доработка модема.

Мы будем использовать модем из комплекта МТС-Коннект, модель Huawei E1550

Далее рассмотрим довольно простой способ, как доработать модем, посредством программы putty, передав модему AT-команды для того, чтобы он мог определиться только как модем.

PuTTY — свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin. Также имеется возможность работы через последовательный порт (COM). 

Качаем, помещаем в любую удобную папку и запускаем. Для разнообразия провожу опыт на Windows7.

К сожалению, сам модем выбрать мы не можем, но можем указать номер порта, на котором он сидит. Для того, чтобы узнать, на каком порте сидит наш модем, идём в диспетчер устройств, группа «Порты (COM и LPT)». В моём случае модем Huawei Е1550 сидит на порте COM3.

 

В Putty выбираем тип подключения Serial, номер порта и скорость передачи

На всякий случай можно пробежаться по закладке Connection – Serial, чтобы убедиться, что параметры подключения выставлены верно.

 

Далее идем в Terminal и в группе Local echo выставляем Force On.

 

Теперь можно нажимать Open, чтобы подключиться к модему и вводить команды.

Включаем CAPS LOCK и печатаем команду АТ. Жмем ENTER. Появляется ответ: ОК. Значит связь с модемом установлена. Вводим одну из следующих команд:

AT^U2DIAG=0 (устройство в режиме только модем) 

AT^U2DIAG=1 (устройство в режиме модем + CD-ROM) 

AT^U2DIAG=255 (устройство в режиме модем + CD-ROM + Card Reader) 

AT^U2DIAG=256 (устройство в режиме модем + Card Reader).

 

Я советую воспользоваться командой AT^U2DIAG=0 и в дальнейшем отказаться от возможности использовать устройство как флешку. Это облегчит Вам жизнь при настройке модемного соединения под linux

Введя команду, смело жмем ENTER, и в ответ видим ОК. Модем доработан. Закрываем окно клавишами Alt+F4.

 

Задача решена. Можно переходить к настройке модемного соединения на Linux системе. Кстати и под Windows после этой процедуры модем станет работать стабильнее и быстрее. А если возникнет необходимость вернуть прибор в первобытное состояние, то никто не запрещает повторить всю процедуру, но уже с командой AT^U2DIAG=255 (устройство в режиме модем + CD-ROM + Card Reader).

Настройка модемного соединения на Vyatta OS (Debian)

Настраивать модемное соединение можно двумя основными способами: писать скрипты ррр (Point-to-Point-Protocol), либо использовать программы-посредники. Писать скрипты - целая наука, поэтому остановимся на втором способе.

Среди программ дозвона выделяется wvdial - старая и добрая "звонилка" подходящая для всех дистрибутивов. Для опыта мы выбрали дистрибутив VyattaOS, но данный способ совместим практически с любой unix/linux-like системой.

 

Во многих дистрибутивах wvdial установлен по-умолчнаию, однако если это не так, то установим wvidal командой:

sudo apt-get install wvdial

 

После установки идем редактировать файл по пути /etc/wvdial.conf. Вот пример конфигурации при использовании модема от МТС:

[Dialer Defaults] 
Init1 = ATZ 
Init2 = AT+CGDCONT=1,"IP","internet.mts.ru
Modem Type = USB Modem 
Baud = 57600 
New PPPD = yes 
Modem = /dev/ttyUSB0 
Phone = *99# 
Password = mts 
Username = mts 
Stupid Mode = yes 

Эта же конфигурация справедлива и для других операторов (Теле2, Мегафон, Билайн), нужно лишь изменить номер телефона, логин/пароль и хост (internet.mts.ru например на tele2.internet.ru)

Настройка закончена, для соединения набираем команду wvdial:

# wvdial

--> WvDial: Internet dialer version 1.60

--> Initializing modem.

--> Sending: ATZ

ATZ

OK

--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0

ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0

OK

--> Modem initialized

...  

--> Connected... Press Ctrl-C to disconnect

 

Всё! Соединение установлено.

Чтобы прервать соединение, нужно обязательно нажать комбинацию клавиш CTRL+C. Если просто закрыть окно терминала, то соединение будет продолжать работать, и чтобы его разорвать придется убивать процесс командой kill.

Единственный недостаток программы wvdial - невозможность следить за скоростью и объемом трафика.

 

Итого:

Сегодня мы научились передавать AT команды модему, тем самым меняя его конфигурацию. Так же, мы узали как настроить модемное соединение через программу wvdial. Благодаря данной статье, в дальнейшем можно организовать 3G-маршрутизатор или точку доступа используя данный модем в *nix-системе развернутой на плате ALIX! 

Обсудить статью можно в соответствующем РАЗДЕЛЕ нашего ФОРУМА.

 (c)shop.nativepc.ru

При цитировании любой части данной статьи ссылка на shop.nativepc.ru обязательна!