Ключевые слова:gprs, linux, ppp, mobile, usb, serial, (найти похожие документы)
From: Davidenko Vitaly <dvtl@pisem.net>
Newsgroups: email
Date: Mon, 9 Dec 2003 14:31:37 +0000 (UTC)
Subject: Настройка интернет-соединения через GPRS
Оригинал: http://dvtl.pisem.net/gprs_moto.html
//version 2
Настройка интернет-соединения через GPRS
Настроить GPRS мне помогли скрипты,
(http://www.cl.cam.ac.uk/Research/SRG/netos/coms/unix.html) выложенные
на сайте компьютерной (http://www.cl.cam.ac.uk/) лаборатории Кембриджского
университета.
Исходные данные:
Оператор: BeeLine GSM, Москва
Система: Linux RedHat 7.2, Linux RedHat 8.0 ppp v2.4.1
телефоны: Motorola Timeport 260, Motorola Timeport 280, Motorola V66i
Примечание: Настройки для Timeport 280 и V66i должны работать и с
моделями v66, v60, v60i, T280i, T720, T720i, T722i, а также,
возможно, и с С33x и C350.
Ни одной из этих моделей я ещё не пользовался для выхода
в сеть через GPRS. Также я не знаю, будет ли работать
T260 через USB-кабель и существует ли такой кабель для этой модели.
Кабели: Оригинальный кабель Motorola для COM - порта для T260
Оригинальный кабель Motorola для COM - порта для T280
USB - кабель MobileAction MA-8820C
Настройка GPRS соединения
Внимание!
Для версий ядра 2.4.x необходимо обновить (http://dvtl.pisem.net/usb_cable.html)
модуль ядра acm.o, если для подключения телефона используется USB - кабель.
1)Загрузить файл (http://www.cl.cam.ac.uk/Research/SRG/netos/coms/gprs-ppp-scripts.tgz) со скриптами
2)Заглянуть в README.gprs :)
3)Распаковать архив в /etc/ppp
# cd /etc/; tar xzf /path/to/gprs-ppp-scripts.tgz
4) Отредактировать /etc/ppp/pap-secrets
# Secrets for authentication using PAP
# client server secret IP addresses
beeline * beeline
5) Изменить в /etc/ppp/chatscripts/gprs-moto-connect-chat APN
mob.cl.cam.ac.uk на internet.beeline.ru, осторожно с кавычками!
6) Проверить, что в файле /etc/ppp/peers/gprs-moto (или /etc/ppp/peers/gprs-moto-usb)
указан именно тот девайс, к которому подключен телефон:
/dev/ttyS0 - COM1 порт
/dev/ttyS1 - COM2 порт
/dev/ttyACM0 - USB порт
/dev/usb/acm/0 - USB порт при использовании devfs
Примечание:
Для соединения через COM-порт я использую файл
/etc/ppp/peers/gprs-moto, для USB-соединения - /etc/ppp/peers/gprs-moto-usb.
gprs-moto-usb оличается от gprs-moto только именем устройства:
$ diff /etc/ppp/peers/gprs-moto /etc/ppp/peers/gprs-moto-usb
8c8,9
< /dev/ttyS0
---
> /dev/ttyACM0
> #/dev/usb/acm/0
7) В /etc/ppp/gprs-options изменить "nodefaultroute" на "defaultroute".
8)Настроить DNS
Для T280 и v66i, и, вероятно, всех телефонов из новой линейки
Добавить в /etc/ppp/gprs-options параметр usepeerdns (на сайте БиЛайн
написано, что нужно выбирать опцию "получить DNS автоматически",
раньше адреса DNS задавались явно, теперь эти настройки не работают),
в результате значения DNS в момент установки соединения будут
записываться в файл /etc/ppp/resolv.conf. Соотвественно, в /etc нужно
создать символический линк на этот файл:
# cd /etc
# mv resolv.conf resolv.conf_
# ln -s /etc/ppp/resolv.conf resolv.conf
Для T260
Часто возникает проблема с автоматическим получением DNS, поэтому
адреса DNS нужно узнать у своего оператора и явно прописать их в файле
/etc/resolv.conf, например, для моего оператора в момент обновления
этой страницы содержимое файла было таким:
$ cat /etc/resolv.conf
nameserver 217.118.66.243
nameserver 217.118.66.244
9) Если чего забыл, то вот (http://dvtl.pisem.net/files/gprs-ppp-scripts-beeline.tgz) мой /etc/ppp
10) Установить соединение:
10.1)Если используется USB-кабель, загрузить модуль acm
# /sbin/insmod acm
Using /lib/modules/2.4.18-14/kernel/drivers/usb/acm.o
В /var/log/messages должны появиться сообщения:
May 4 21:28:53 localhost kernel: usb.c: registered new driver acm
May 4 21:28:53 localhost kernel: acm.c: v0.21:USB Abstract Control
Model driver for USB modems and ISDN adapters(supports Motorola Phones)
10.2)Подключить телефон
Если используется USB-кабель, в /var/log/messages должны появиться
сообщения:
May 4 21:33:44 localhost kernel: hub.c: USB new device connect on bus3/1,
assigned device number 2
May 4 21:33:44 localhost kernel: ttyACM0: USB ACM device
May 4 21:33:47 localhost /etc/hotplug/usb.agent: Setup acm for USB product 22b8/1005/1
(Обратите внимание на имя устройства "ttyACM0", оно должно совпадать с
именем в п. 6)
10.3)Запустить pppd
Для COM
# /usr/sbin/pppd call gprs-moto
GPRS modem init: press <ctrl>-C to disconnect
+ defining PDP context
+ defining QoS requirements
+ attaching to GPRS
+ requesting data connection
Serial connection established.
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS0
local IP address 172.19.93.212
remote IP address 192.168.100.101
primary DNS address 217.118.66.243
secondary DNS address 217.118.66.244
или
для USB:
# /usr/sbin/pppd call gprs-moto-usb
GPRS modem init: press <ctrl>-C to disconnect
+ defining PDP context
+ defining QoS requirements
+ attaching to GPRS
+ requesting data connection
Serial connection established.
Using interface ppp0
Connect: ppp0 <--> /dev/ttyACM0
local IP address 172.19.93.212
remote IP address 192.168.100.101
primary DNS address 217.118.66.243
secondary DNS address 217.118.66.244
______________________________________________________________________
Last updated on 05-05-2003 by Davidenko Vitaly
Please send any comments to dvtl@pisem.net (mailto:dvtl@pisem.net)
http://dvtl.pisem.net/usb_cable.html
//version 1 !!!DRAFT!!!
Пересборка модуля acm.o
На этой странице приведена последовательность действий для сборки
модуля ядра acm.o. Возможно, она неоптимальна, или, даже неправильна.
Но в результате модуль был собран и успешно работает.
1) Установить пакет с исходниками ядра
#rpm -ivh kernel-source-2.4.18-14.i386.rpm
2)Перейти в каталог с исходниками (далее все действия в нем)
#cd /usr/src/linux-2.4.18-14
3)открыть файл drivers/usb/acm.c и добавить в массив usb_device_id
acm_ids элемент USB_DEVICE_INFO(USB_CLASS_COMM, 2, 0)
#vim drivers/usb/acm.c
До редактирования
/*
* USB driver structure.
*/
static struct usb_device_id acm_ids[] = {
{ USB_DEVICE_INFO(USB_CLASS_COMM, 0, 0) },
{ }
};
После редактирования:
/*
* USB driver structure.
*/
static struct usb_device_id acm_ids[] = {
{ USB_DEVICE_INFO(USB_CLASS_COMM, 0, 0) },
{ USB_DEVICE_INFO(USB_CLASS_COMM, 2, 0) },
{ }
};
3)Собрать ядро
Note:
Не нужно устанавливать полученное ядро - оно собирается только для
того, чтобы обновить модуль acm.o. Может быть, пересобрать один
единственный модуль можно проще, но я не знаю как:)
3.1) Скопировать конфигурацию своего ядра
#cp configs/kernel-2.4.18-i686.config .config
3.2) #make clean; make mrproper
3.3) Задать значение EXTRAVERSION для версии ядра - оно должно совпадать с
соответсвующим значением ядра системы(ядро не предназначено для
установки!):
#uname -r
2.4.18-14
т.е. EXTRAVERSION для моего ядра - "-14"
#vim Makefile
До редактирования
EXTRAVERSION = -14custom
После редактирования:
EXTRAVERSION = -14
Note: шаг 3.3) можно пропустить, но в этом случае, скорее всего,
версия установленного в системе ядра не будет совпадать с версией,
прописанной в модуле В этом случае модуль можно будет загрузить только
с опцией -f : /sbin/insmod -f acm
3.4)
#make oldconfig
#make dep
#make bzImage
#make modules
Note: можно не дожидаться, пока соберутся все модули и остановить
процесс сборки модулей как только появится файл drivers/usb/acm.o
4) Заменить модуль
#cp /lib/modules/2.4.18-14/kernel/drivers/usb/acm.o
/lib/modules/2.4.18-14/kernel/drivers/usb/acm.old
#cp drivers/usb/acm.o /lib/modules/2.4.18-14/kernel/drivers/usb/acm.o
5)Проверить модуль
вывести системный лог в другом терминале
#tail -f /var/log/messages
Загрузить драйвер
#/sbin/modprobe acm
В логе должно появиться сообщение от драйвера:
Apr 12 19:11:53 localhost kernel: usb.c: registered new driver acm
Apr 12 19:11:53 localhost kernel: acm.c: v0.21:USB Abstract Control
Model driver for USB modems and ISDN adapters(supports Motorola Phones)
Note: Строчка "(supports Motorola Phones)" была добавлена на шаге 3 в
файл drivers/usb/acm.c:
#define DRIVER_DESC "USB Abstract Control Model driver for USB modems
and ISDN adapters(supports Motorola Phones)"
6) Если не используется devfs, создать файл устройства:
#mknod /dev/ttyACM0 c 166 0
Thanks:
http://www.tldp.org/HOWTO/Kernel-HOWTO.htmlhttp://www.tldp.org/HOWTO/Kernel-HOWTO-2.htmlhttp://www.eridani.co.uk/docs/linux-timeport/T280.shtmlhttp://dur.ch/konfiguriert/c333/http://www.nother.net/120c/
______________________________________________________________________
Last updated on 04-05-2003 by Davidenko Vitaly
Please send any comments to dvtl@pisem.net