Настройка GPRS в Linux
Материал из Gentoo Linux Wiki
- Вернуться в раздел руководства
Содержание |
[править] Введение
Это руководство поможет настроить мобильный телефон для связи с провайдером через GPRS (на примере beeline). Для того, чтобы настроить мобильный телефон для связи через GPRS, вам понадобится подключить на вашем телефоне услугу GPRS. Обзавестись Mini-USB кабелем. Поправить ручками кое-что в ядре и собрать дополнительные пакеты из набора portage.
[править] Поддерживаемые телефоны
| Производитель | Модели | Статус GPRS | Примечание |
| Motorola | C350,C360,C380,C390,V220,V620,V3r,V3i,V3x,V3xx, | Работает | Работает на всех p2k телефонах motorola |
[править] Подготовка
Для наших задач нам понадобится изменить несколько файлов настроек.
Я использовал ядро gentoo-sources-2.4.28-gentoo-r5 из portage,
дозвонщик wvdial оттуда же
и ppp-2.4.3-r1 тоже соответсвенно из portage.
Изменяем файлы:
Открываем /etc/make.conf для редактирования nano -w /etc/make.conf
Добавляем mppe-mppc (Нужно для подключения с шифрованием Microsoft MS-CHAPv2)к вашим USE
| Файл: /etc/make.conf |
|
USE="mppe-mppc" |
[править] Сборка пакетов
Собираем pppd
emerge /usr/portage/net-dialup/ppp/ppp-2.4.3-r1.ebuild
собираем wvdial
emerge wvdial
редактируем ядро
cd /usr/src/linux && make menuconfig
(подразумевается что linux это символичесская ссылка на исходники ядра)
изменяем
Network Device Support --->
<M> (PPP point-to-point protocol) support [ ] PPP multilink support (EXPEREMRNTAL) (Вы же не хотите объеденять несколько телефонов в один канал) [M] PPP filtering <M> PPP support for async serial ports <M> PPP support for sync tty ports <M> PPP Deflate compression <M> PPP BSD-Compress compression <M> PPP over Ethernet (EXPEREMENTAL)
Примечание - т.к. у меня ядро 2.6.12-gentoo-r6, то выше названные модули я просто включил в ядро, и не возился в дальнейшем с их загрузкой. Пока проблем не было.
ISDN Subsystem --->
<*> ISDN Support [*] Support asynchronus PPP [*] PPP filtering for ISDN [*] Use VJ-compression with asynchronus PPP
USB supprot --->
[*] Support for USB --- USB Host Controller Driver <*> ECHI HCD (USB2.0) support (EXPEREMENTAL)
(так как у меня чип материнской платы Intel то)
<*> UHCI (Intel PIIX4, VIA, ...) support --- USB Device Class drivers <M> USB Modem (CDC ACM) support
Примечание - для ядра 2.6.12-gentoo-r6 нужно установить:
Device Drivers ---> ISDN subsystem --->
ISDN subsystem ---> [*] CAPI2.0 Middleware support (Может и не нужно, но с ним работет)
Для C380 в данном разделе остальное у меня отключено.
И по меньшей мере для C380 дополнительно требуется установить:
Device Drivers ---> USB support ---> USB Serial Converter support --->
<*> USB Serial Converter support [*] USB Serial Console device support
Конец примечания
Сохраняем конфигурацию ядра и выполняем сборку. После сборки устанавливаем новое ядро
(Процес установки ядра описан во многих источниках так что не буду повторяться)
и перезагружаем машину.
[править] Настройка
После перезагрузки пытаемся загрузить модули
перед всеми манипуляциями проверить есть ли в /dev устройство ttyACM0, иначе скрипт и терминалка не увидят модема (телефона) по крайней мере в Fedore Core 2.0 если с ttyUSB0(1,2,3,4,5) ничего не вышло наберите находясь в /dev "mknod ttyACM0 c 160 0" (спасибо Pooh) и все должно заработать, естественно что модемом после этого будет устройство ttyACM0 (Yuri г. Barnaul)
стандартный модуль PPP modprobe ppp_generic
Модуль для асинхронной передачи modprobe ppp_async
Модуль для нашего телефона modprobe acm
Проверяем загрузились модули lsmod
Вывод должен выглядеть примерно так --->
ppp_async 6848 0 (unused) ppp_generic 22628 0 [ppp_async] slhc 4624 0 [ppp_generic] acm 45353 0 [xxxxxxxxxxx] (не помню точно что должно быть)
Производим первичную конфигурацию wvdial
cd /etc && wvdialconf wvdial.conf
открываем для редактирования /etc/wvdial.conf
nano -w wvdial.conf
| Файл: /etc/wvdial.conf |
|
и изменяем сделующие строки Init2 = AT+CGDCONT=1,"IP","internet.beeline.ru" |
сохраняем полученный файл. Если значение Init2 уже занато (для C380 в нем дополнительные комманды инициализации), то используйте значение Init3 (Init3 = AT+CGDCONT=1,"IP","internet.beeline.ru").
На некоторых тарифах имя пользователя и пароль пустые, тогда файл для C380 и ядра 2.6.12-r6 будет выглядеть примерно так:
| Файл: /etc/wvdial.conf |
|
Modem = /dev/ttyACM0 |
[править] Установка соединения
запускаем wvdial
wvdial
Потираем ручки и юзаем GPRS на Linux
[править] Автоматическая установка соединения
Если вы используете udev, можно настроить автоматическое подключение GPRS при подключении телефона к USB.
Для этого создайте такой вот файл:
| Файл: /etc/udev/rules.d/90-gprs-autodial.rules |
|
KERNEL=="ttyACM0", RUN="/usr/bin/wvdial" |
(немного некрасиво, но работает на ура)
..а при отключении телефона соединение оборвётся и без наших скриптов..
Примечание: А вообще, на домашних компьтерах можно использовать и графическую звонилку kppp, там и в командной строке набирать ничего не надо, да и удобнее она чем wvdial.
[править] Заключение
Данная статья ни в коем случае не претендует на то что это является правильным и единственным способом подключения GPRS. Вся ответсвенность за действия ложится на ваши плечи. Я описал то что у меня работает. Допускаю что мог в чем то ошибиться так как писал это все на память так что милости прошу ваши коментарии и исправления можно отправлять по email darkman@rusgate.org
- Вернуться в раздел руководства
