3G модем GNS-3,5G выполнен на основе чипсета Qualcomm MSM6290 и обеспечивает скорость работы до 7.2 Мбит в секунду при скачивании из Интернета.
Подключим модем не к одному Linux, а сразу к двум:
- Ubuntu 10.04
- 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. Установите её.
- Ubuntu. Установите программу из репозитория
#apt-get install usb-modeswitch
1. CentOS. Здесь следует поставить установочный пакет.
#yum install usb_modeswitch-0.9.7-1.el5.test.i386.rpm
Аналогично, поставьте wvdial.
- Ubuntu
#apt-get install wvdial
- 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