В начало → Gentoo и GPRS
Gentoo-doc HOME В началоСлед.: GPRS через USB

Gentoo и GPRS


1. Настройка GPRS в Linux
2. GPRS через USB
3. GPRS через KPPP
4. Экономим трафик, с помощью Toonel. (Linux)
5. GPRS  через Bluetooth

1. Настройка GPRS в Linux

Ссылка на оригинал: http://ru.gentoo-wiki.com

С версии: 1.3

1.1. Введение

Это руководство поможет настроить мобильный телефон для связи с провайдером через GPRS (на примере beeline). Для того, чтобы настроить мобильный телефон для связи через GPRS, вам понадобится подключить на вашем телефоне услугу GPRS. Обзавестись Mini-USB кабелем. Поправить ручками кое-что в ядре и собрать дополнительные пакеты из набора portage.

1.2. Подготовка

Для наших задач нам понадобится изменить несколько файлов настроек.

Я использовал

  • ядро 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

Листинг 1. Файл: /etc/make.conf

USE="mppe-mppc" 


1.3. Сборка пакетов

Собираем pppd:

emerge /usr/portage/net-dialup/ppp/ppp-2.4.3-r1.ebuild

собираем wvdial:

emerge wvdial

редактируем ядро

cd /usr/src/linux && make menuconfig 

(подразумевается что linux это символичесская ссылка на исходники ядра)

изменяем:

Листинг 2. Конфигурация ядра Linux: PPP point-to-point support

Device  Drivers --->
  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, то выше названные модули я просто включил в ядро, и не возился в дальнейшем с их загрузкой. Пока проблем не было.

Листинг 3. Конфигурация ядра Linux: ISDN Subsystem

Device Drivers --->
  [*]  ISDN Support --->
    --- ISDN support
    <*>  Old ISDN4Linux (deprecated)  --->
      [*]  Support asynchronus PPP
      [*]  PPP filtering for ISDN
      [*]  Use VJ-compression with asynchronus PPP


Листинг 4. Конфигурация ядра Linux: USB support

Device Drivers --->
  [*]  USB support --->
    --- USB support
         *** USB Host Controller Driver ***
    <*>  ECHI HCD (USB2.0) support
    (так как у меня чип материнской платы Intel то)
    <*>  UHCI HCD (most Intel and VIA) support
         *** USB Device Class drivers ***
    <M>  USB Modem (CDC ACM) support


Примечание

Для ядра 2.6.12-gentoo-r6 нужно установить:

Листинг 5. Конфигурация ядра Linux: ISDN Subsystem

Device Drivers --->
  [*]  ISDN Support --->
    --- ISDN support
    <*>  CAPI 2.0 subsystem  --->
      --- CAPI 2.0 subsystem
        [*]  CAPI2.0 Middleware support (EXPERIMENTAL) (Может и не нужно, но с ним работает)


Для C380 в данном разделе остальное у меня отключено.

И по меньшей мере для C380 дополнительно требуется установить:

Листинг 6. Конфигурация ядра Linux: USB Serial Converter support

Device Drivers --->
  [*]  USB support --->
    --- USB support
    <*>  USB Serial Converter support --->
      --- USB Serial Converter support
      [*]  USB Serial Console device support


Сохраняем конфигурацию ядра и выполняем сборку. После сборки устанавливаем новое ядро (Процесс установки ядра описан во многих источниках так что не буду повторяться) и перезагружаем машину.

1.4. Настройка

После перезагрузки пытаемся загрузить модули

перед всеми манипуляциями проверить есть ли в /dev устройство ttyACM0, иначе скрипт и терминалка не увидят модема (телефона) по крайней мере в Fedore Core 2.0 если с ttyUSB0(1,2,3,4,5) ничего не вышло наберите находясь в /dev "mknod ttyACM0 c 160 0" (спасибо Pooh) и все должно заработать, естественно что модемом после этого будет устройство ttyACM0 (Yuri г. Barnaul)

  1. стандартный модуль PPP

    modprobe ppp_generic 
  2. Модуль для асинхронной передачи

    modprobe ppp_async 
  3. Модуль для нашего телефона

    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

и изменяем сделующие строки

Листинг 7. Файл: /etc/wvdial.conf

Init2 = AT+CGDCONT=1,"IP","internet.beeline.ru"
Phone = *99***1#
Username = beeline
Password = beeline


сохраняем полученный файл. Если значение Init2 уже занато (для C380 в нем дополнительные комманды инициализации), то используйте значение Init3 (Init3 = AT+CGDCONT=1,"IP","internet.beeline.ru").

На некоторых тарифах имя пользователя и пароль пустые, тогда файл для C380 и ядра 2.6.12-r6 будет выглядеть примерно так:

Листинг 8. Файл: /etc/wvdial.con

Modem = /dev/ttyACM0
Baud = 460800
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet.usi.ru"
ISDN = 0
Modem Type = Analog Modem
Phone = *99***1#
Username = ""
Password = ""


1.5. Установка соединения

запускаем wvdial

wvdial 

Потираем ручки и юзаем GPRS на Linux

1.6. Автоматическая установка соединения

Если вы используете udev, можно настроить автоматическое подключение GPRS при подключении телефона к USB.

Для этого создайте такой вот файл:

Листинг 9. Файл: /etc/udev/rules.d/90-gprs-autodial.rules

KERNEL=="ttyACM0",      RUN="/usr/bin/wvdial"


(немного некрасиво, но работает на ура)

..а при отключении телефона соединение оборвётся и без наших скриптов..

Примечание

А вообще, на домашних компьютерах можно использовать и графическую звонилку kppp, там и в командной строке набирать ничего не надо, да и удобнее она чем wvdial.

1.7. Заключение

Данная статья ни в коем случае не претендует на то что это является правильным и единственным способом подключения GPRS. Вся ответсвенность за действия ложится на ваши плечи. Я описал то что у меня работает. Допускаю что мог в чем то ошибиться так как писал это все на память так что милости прошу ваши коментарии и исправления можно отправлять по email darkman@rusgate.org

В началоСлед.: GPRS через USB
В начало → Gentoo и GPRS