Статьи

Linux и 3G модем. Определение, настройка для подключения к сети.

Linux и 3G модем. Определение, настройка для подключения к сети.

В последние время мобильный интернет становиться всё более популярным и распространенным. Конечно его качество оставляет желать лучшего, но иногда альтернативы нет.Как правило провайдеры предоставляют usb модемы уже с установленным программным обеспечением и в операционных системах семейства Windows проблем с подключением не возникает. А как обычно о пользователях unix подобных систем никто не позаботился. Но мир Linux богат на разнообразные решения, вот и настройка подключения оказались весьма простой процедурой.

Определение модема.
Большинство пользователей сталкиваются с проблемой правильного определения модема. У многих он определяется, как CD-ROM. Для упрощения настройки подключений в операционных системах семейства Windows используется технология ZeroCD, т.е. модем определяется как CD-ROM, запускает автозапуск, который проверяет наличие драйверов в системе и либо запускает специальную программу связи, либо ставит ее вместе с дровами. Само собой эта радость нифига не работает в Linux, а наоборот создаёт лишнию проблему.
Данную проблему нам помогает решить программа usb_modeswitch.

При подключение модема к usb порту, мы должны увидеть в /var/log/messages нечто подобное
Цитата:
May 20 03:39:51 laptop kernel: usb 2-1: new high speed USB device using ehci_hcd and address 4
May 20 03:39:51 laptop kernel: usb 2-1: New USB device found, idVendor=19d2, idProduct=2000
May 20 03:39:51 laptop kernel: usb 2-1: New USB device strings: Mfr=3, Product=2, SerialNumber=4
May 20 03:39:51 laptop kernel: usb 2-1: Product: ZTE WCDMA Technologies MSM
May 20 03:39:51 laptop kernel: usb 2-1: Manufacturer: ZTE,Incorporated
May 20 03:39:51 laptop kernel: usb 2-1: SerialNumber: MF1800MTSD010000
May 20 03:39:51 laptop kernel: scsi7 : usb-storage 2-1:1.0
May 20 03:39:52 laptop usb_modeswitch: switching 19d2:2000 (ZTE,Incorporated: ZTE WCDMA Technologies MSM)
May 20 03:39:58 laptop kernel: usb 2-1: USB disconnect, address 4
May 20 03:40:03 laptop kernel: usb 2-1: new high speed USB device using ehci_hcd and address 5
May 20 03:40:03 laptop kernel: usb 2-1: New USB device found, idVendor=19d2, idProduct=2003
May 20 03:40:03 laptop kernel: usb 2-1: New USB device strings: Mfr=3, Product=2, SerialNumber=0
May 20 03:40:03 laptop kernel: usb 2-1: Product: ZTE WCDMA Technologies MSM
May 20 03:40:03 laptop kernel: usb 2-1: Manufacturer: ZTE,Incorporated
May 20 03:40:03 laptop kernel: option 2-1:1.0: GSM modem (1-port) converter detected
May 20 03:40:03 laptop kernel: usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
May 20 03:40:03 laptop kernel: option 2-1:1.1: GSM modem (1-port) converter detected
May 20 03:40:03 laptop kernel: usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1
May 20 03:40:03 laptop kernel: option 2-1:1.2: GSM modem (1-port) converter detected
May 20 03:40:03 laptop kernel: usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2
May 20 03:40:03 laptop kernel: option 2-1:1.3: GSM modem (1-port) converter detected
May 20 03:40:03 laptop kernel: usb 2-1: GSM modem (1-port) converter now attached to ttyUSB3
Как мы видим из лога определилось два устройства New USB device found, idVendor=19d2, idProduct=2000 и New USB device found, idVendor=19d2, idProduct=2003.
Нам нужно второе устройство, так как это и есть сам модем.

WvDial
Для подключения к интернету мы будем использовать простенькую консольную звонилку — WvDial.

Прежде всего сформируем предварительный конфинг /etc/wvdial.conf
Цитата:
ozs@laptop:~$ sudo wvdialconf
Editing `/etc/wvdial.conf'.

Scanning your serial ports for a modem.

Modem Port Scan<*1>: S0 S1 S2 S3
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyUSB1<*1>: ATQ0 V1 E1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB1<*1>: Modem Identifier: ATI -- Manufacturer: ZTE CORPORATION
ttyUSB1<*1>: Speed 9600: AT -- OK
ttyUSB1<*1>: Max speed is 9600; that should be safe.
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB2<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB2<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyUSB3<*1>: ATQ0 V1 E1 -- OK
ttyUSB3<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB3<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB3<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB3<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB3<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB3<*1>: Modem Identifier: ATI -- Manufacturer: ZTE CORPORATION
ttyUSB3<*1>: Speed 9600: AT -- OK
ttyUSB3<*1>: Max speed is 9600; that should be safe.
ttyUSB3<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

Found a modem on /dev/ttyUSB1.
Modem configuration written to /etc/wvdial.conf.
ttyUSB1<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
ttyUSB3<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
wvdialconf опросил все четыре консоли ttyUSB0 — ttyUSB3 и постарался определить, на какой из них висит модем. В моём случае(ZTE MF112) рабочей оказалась ttyUSB3.
После того, как предварительный конфиг софрмирован, нам нужно немножко его подправить(вписать номер телефона, точку доступа и т.д.)
В итоге /etc/wvdial.conf должен выглядеть приблизительно так
Цитата:
[Dialer Defaults]
Init = ATZ
Init1 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init2 = AT+CGDCONT=1, "IP", "internet.mts.ru"
New PPPD = 1
Modem = /dev/ttyUSB1
Phone = *99#
Idle Seconds = 300
Modem Type = USB Modem
Stupid Mode = 1
Compuserve = 0
Baud = 9600
Auto DNS = 1
Dial Command = ATDT
Ask Password = 0
ISDN = 0
Username = mts
Password = mts
Конфиг универсален и походит для большинства модемов, ну кроме ZTE MF112.
Поскольку мы формировали конфиг с помощью wvdialconf я не буду описывать каждый параметр. Остановлюсь лишь на основных.
  • Init — параметры AT передоверяемые модему
  • Phone — номер телефона, куда будет звонить модем
  • Auto DNS — запрашивать DNS у провайдера, но DNS лучше жестко прописать в /etc/resolv.conf
  • Dial Command — способ набора номера импульсный или тоновый
  • Username — логин, зависит от провайдера
  • Password — пароль, зависит от провайдера
  • Modem — консоль на которой висит модем
  • Auto Reconnect — перезванивать при разрыве
/etc/wvdial.conf для zte mf 112
Цитата:
[Dialer Defaults]
Init = ATX3
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+ZSNT=0,0,2
Init4 = AT+CGDCONT=1, "IP", "internet.mts.ru"
Password = mts
New PPPD = 1
Phone = *99#
#Idle Seconds = 300
Modem Type = Analog Modem
Stupid Mode = 1
Compuserve = 0
Baud = 9600
Auto DNS = 1
Dial Command = ATM1L3DT
Ask Password = 0
ISDN = 0
Username = mts
Modem = /dev/ttyUSB3
Подключаемся к интернету
ozs@laptop:~$ wvdial

6.4

голосов: 22
2011.09.30 13:57 // ozs теги: 3g modemlinuxusb_modeswitchwvdial

Новый контент

Hostname lookup своими руками! читать

Хэш нам не преграда, потому что нам его не надо! читать

Startup Delayer 3.0.319: управление автозагрузкой приложений читать

Чертовски хороший LAMP: Пошаговое руководство по установке стека (L)AMP на FreeBSD читать

Tweak-7 1.0.1125: твикер для Windows 7 или как оптимизировать работу Windows 7 читать

Linux и 3G модем. Определение, настройка для подключения к сети. читать

Cистема шифрования TrueCrypt читать

Многопользовательский чат на BAT читать

Исследование: администраторы баз данных мало заботятся о безопасности читать

Оффлайновый способ хранить пароль читать

Спам — как средство передачи шифровок? читать

Мониторинг жёстких дисков при помощи SMART читать

Повышение производительности netfilter, использование ipset читать

Дело об отказавшей системе читать

Атаки на домен: завладеваем корпоративной сетью читать

Теги

adobe android anonymous apache apple assembler brutforce bsd c++ cgi chrome ddos delphi djvu dns facebook fingerprinting firefox freebsd ftp google html http ibm icq inattack intel internet internet explorer ip it java javascript linux livejournal mail microsoft mysql network pdf perl php python scanner security shell skype sms softice twitter unix visual c++ web wi-fi wikileaks windows xml xss администрирование алгоритм анонимность арест архив атака базы данных безопасность браузер брутфорс взлом вирус вирусы вконтакте домен защита игры интернет исследования кибертерроризм крис касперски мыщъх обратная разработка операционная система пароль первая полоса перехват данных подбор поиск поисковик поисковые системы пользователь программирование программы процессор разработка разработки реверсинг россия Руссинович руткит самоучитель сети социальная сеть спам спецслужбы справочник статистика суд сша телефон теория технологии троян учебник уязвимости уязвимость форум хакер хакеры яндекс
© INATTACK 2003 — 2012

Взлом

— искусство,

Хакер

— его творец.