GPRS и linux

mlclm

2007-12-26

Достало уже читать посты на linuxforum.ru о том, что люди не могут настроить элементарно GPRS…(а чаще просто не могут воспользоваться googl’ом ) Итак, рассмотрю 2 частых варианта: Bluetooth и USB-вариант. Причём буду рассматривать “технологию” настройки, а не конкретные варианты.

  1. USB - здесь проще некуда. Последнее время я ни разу (Arch, Kubuntu, debian) не пересобирал ядро, чтобы телефон стал виден в linux. Итак, подсоединяем телефон к USB и смотрим вывод команды tail /var/log/messages. Вот! Здесь уважаемых любителей Mandriva/Fedora или начинающих пользователей поджидает первый подвох. Где смотреть вывод этой команды? Угадайте:) В Терминале:) Так что запускаем gnome-terminal или Konsole и ОТ РУТА (!!!) запускаем команду (если и это не знаете как сделать, то вперёд в гугл по ключу “как запустить программу от рута”)
    tail /var/log/messages
    Далее смотрим, что же там есть… Не могу сейчас сказать точно, что там появится, но “Модем” должен появиться, т.е. устройство, типа “/dev/ttyACM0?. В общем случае может появиться какое-либо устройство в каталоге /dev/. Это примерно. Т.е. в строках, которые появятся, должно быть указание на устройство. —— Нашёл то, что должно примерно появиться
    usb 2-1: new full speed USB device using uhci_hcd and address 4
    usb 2-1: configuration #1 chosen from 1 choice
    cdc_acm 2-1:1.10: ttyACM0: USB ACM device
    Можно посмотреть из-под обычного юзера командой:
    dmesg | tail
    Далее можно настраивать любимую звонилку, как то kppp или wvdial. Kppp вроде не представляет в настройке ничего сложного. Возможно, потребуется указать в “Параметрах pppd” опцию noauth (Есть там такая вещь, лучше ищите!). Не забудьте также прописать строку инициализации в свойствах модема в kppp. Ну и всё, номер телефона, логин/пароль и больше, вроде, ничего не надо.
  2. Bluetooth. Допустим, что ваш bluetooth-адаптер нормально определился и не требует дополнительных телодвижений. Включаем bluetooth на телефоне, запускаем
    hcitool inq
    и смотрим на вывод. Примерно он будет такой:
    Inquiring …
    00:1B:59:74:D6:9C clock offset: 0?306a class: 0?5a0204
    Странные цифры 00:1B:59:74:D6:9C это есть Mac-адрес нашего телефона, запоминаем/записываем его, далее делаем
    sdptool browse 00:1B:59:74:D6:9C
    В выводе этой команды ищем Service Name: Dial-up Networking, и запоминаем какой у неё “Channel”, например у меня это 2 канал:
    Service Name: Dial-up Networking
    Service RecHandle: 0?10002
    Service Class ID List:
    “Dialup Networking” (0?1103)
    “Generic Networking” (0?1201)
    Protocol Descriptor List:
    “L2CAP” (0?0100)
    “RFCOMM” (0?0003)
    Channel: 2
    Profile Descriptor List:
    “Dialup Networking” (0?1103)
    Version: 0?0100
    Идём в /etc/bluetooth и редактируем файл rfcomm.conf, приводим его примерно к след. виду:
    rfcomm1 {
    bind yes;
    device 00:1B:59:74:D6:9C;
    channel 2;
    comment “File”;
    }
    rfcomm1 - порт, на который будет “вешаться” наше устройство. (/dev/rfcomm1) bind yes - Автоматически “цеплять” устройство при старте. device - собственно мак-адрес телефона. channel - канал, на котором висит “Сервис”, отвечающий за Инет. Comment - просто комментарий, можно оставить тот, или любой другой. Теперь перезапускаем bluetooth-service,
    SysV -
    /etc/init.d/bluetooth restart
    BSD -
    /etc/rc.d/bluetooth restart

    Настраиваем kppp (”порт модема” будет /dev/rfcomm{x}, где {x} соотв-но то, что мы писали в /etc/bluetoot/rfcomm.conf) Для wvdial конфиг выглядит примерно так:

     malc@ibm:~$  cat /etc/wvdial.conf
    [Dialer Defaults]
    Phone = *99#
    Username = 1
    Password = 1
    New PPPD = yes
    Modem = /dev/rfcomm0
    Init1 = ATZ
    Init2 = AT+CGDCONT=1,”IP”,”internet” 
    P.S. по умолчанию pin - 1234.
Вроде всё. Теперь буду всех посылать сюда, читать:)