Подключение 3G модема (USB) Novacom Wireless GNS-3.5G к Linux

Подключение 3G модема (USB) Novacom Wireless GNS-3.5G к Linux


3G модем GNS-3,5G выполнен на основе чипсета Qualcomm MSM6290 и обеспечивает скорость работы до 7.2 Мбит в секунду при скачивании из Интернета.

Подключим модем не к одному Linux, а сразу к двум:

  1. Ubuntu 10.04
  2. CentOS 5.3

Это позволит продемонстрировать возможность использования 3G модема на двух больших семействах Linux, основывающихся на (1) deb-пакетах и (2) rpm-пакетах.

Для того чтобы подключаться к Интернет, будем использовать wvdial. Научившись на её примере, потом Вы сможете использовать и другие средства для установления ppp, например, Network Manager. .

Запустить консоль с правами root’a. Это традиционная задача для CentOS. Для Ubuntu можно сделать следующее: запустить обычную консоль, а в ней запустить консоль с правами root’а

$sudo sh

Или же запустить Midnight Commander и отключить панели Ctrl-O

$sudo mc

В дальнейшем не потребуется писать sudo перед важными командами. Впрочем, если Вы опасаетесь за безопасность, то используйте обычную консоль и не забывайте про sudo.

Укомплектуйте 3G модем SIM-картой с отключенным PIN-кодом. До этого убедитесь, что услуга Интернета заказана и активирована, а на счету достаточно денег. Также следует запомнить точку доступа в Интернет (APN) и логин с паролем, которые пригодятся для авторизации.

Если Вы уже подключали этот 3G модем к Windows или MAC’у, то знаете, что сначала модем появляется в системе в качестве флешки или CD-диска. В упомянутых ОС модем превращается собственно в модем при помощи записанных на нём программ (драйверов и коммуникационной программы). Для Linux потребуется usb_modemswitch. Установите её.

  1. Ubuntu. Установите программу из репозитория

#apt-get install usb-modeswitch

 1. CentOS. Здесь следует поставить установочный пакет.

#yum install usb_modeswitch-0.9.7-1.el5.test.i386.rpm

 Сайт автора этой программы

 Аналогично, поставьте wvdial.

  1. Ubuntu

#apt-get install wvdial

  1. CentOS

#yum install wvdial

В CentOS wvdial уже стоял.

Подсоединяем модем к USB – порт, а затем проверьте, появилось ли устройство «Модем как носитель информации». После присоединения могут появиться сообщения от присоединение USbModem’a, он же CD-ROM, а в «Иксах» может даже подмонироваться  диск.

#lsusb

В списке должно появиться устройство “ID 1c9e:f000”. Это 3G модем на первом этапе. Нужно превратить его в настоящий модем, чей VID:PID должны выглядеть как 1c9e:9605.

Ввести текст usb_modeswitch.conf     в /etc/

# Configuration for the usb-modeswitch package, a mode switching tool for

# USB devices providing multiple states or modes

#

# This file is evaluated by the wrapper script “usb_modeswitch” in /lib/udev

# To enable an option, set it to “1”, “yes” or “true” (case doesn’t matter)

# Everything else counts as “disable”

  

# Disable automatic mode switching globally (e.g. to access the original

# install storage)

 DisableSwitching=0

# Enable logging (results in a extensive report file in /var/log, named

# “usb_modeswitch_<interface-name>”

 EnableLogging=0

########################################################

# ST Mobile Connect HSUPA USB Modem

#

# Use /dev/ttyUSB2 for connecting

#

# Contributor: Vincent Teoh

DefaultVendor=  0x1c9e

DefaultProduct= 0xf000

 TargetVendor=   0x1c9e

TargetProduct=  0x9605

ResponseEndpoint=0x01

 MessageContent=”55534243123456788000000080000606f50402527000000000000000000000″

Текст его одинаков, как для Ubuntu, так и для CentOS. 

#usb_modeswitch -I -W -c /etc/usb_modeswitch.conf

# usb_modeswitch  -c /etc/usb_modeswitch.conf

Обе команды равноправны, только в первом случае мы выводим больше отладочной информации. Она Вам пригодится, если что-то пойдёт не так.

 

#lsusb

Если всё прошло как надо, получаем нужное устройство “ID 1c9e:9605”

Сначала загрузите модуль ядра, который создаст на данном USB некоторое количество последовательных интерфейсов (обычно для этого модема их 4 штуки).

Проверьте, что у нас нет таких интерфейсов в системе (иначе будет другая нумерация, что следует учесть на последнем шаге). Итак,

#ls /dev/ttyUSB*

Если таких не нашлось, загружаем модуль.

# modprobe usbserial vendor=0x1c9e product=0x9605

Vid и pid – уже хорошо знакомы. Проверим, что у нас с устройствами

#ls /dev/ttyUSB*

Вот здесь их и должно появиться 4 штуки с номерами от 0 до 3. Вопреки рекомендации «переключателя модема» будем использовать ttyUSB3. Впрочем, можно попробовать и ttyUSB2. Системы разные, возможны варианты.

Осталось сделать конфигурацию для wvdial и пробовать подключаться. Изменим файл /etc/wvdial.conf

[Dialer defaults]

Init = AT+CGDCONT=1,”IP”,”internet“

Init1 = ATZ

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

Stupid Mode = 1

Modem Type = Analog Modem

ISDN = 0

Phone = *99#

Modem = /dev/ttyUSB3

Username = mts

Password = mts

Baud = 921600 

Здесь “internet” – это наша точка доступа (APN), которую Вы приготовили, ttyUSB3 – то самое устройство. Кстати, если есть желание пообщаться с модемом, можете сейчас это сделать. Например, при помощи minicom’a cпросить у модема, кем он себя чувствует, позвонить другу или запросить баланс. mts:mts – это логин и пароль для доступа в интернет. 

Осталось попробовать нашу звонилку.

#wvdial

Отключить её можно стандартным Ctrl-C.

Для тех, кто противник root-овых консолей, напишем вариант, чтобы «звонилка» вернула управление в консоль

$sudo wvdial &

Интернет должен прийти…

Процесс переключения модема и запуска «звонилки» можно автоматизировать. Для чего существует простой скрипт, который запускается под рутом. Вот этот скрипт:

#!/bin/sh

usb_modeswitch -I -W -c /etc/usb_modeswitch.conf

sleep 5

modprobe usbserial vendor=0x1c9e product=0x9605

sleep 2

wvdial

Теги: Linux | модемы