Уголок СУ-11 на просторах вселенной

среда, 15 июля 2009 г.

Интернет через GPRS в Ubuntu

Взял от сюда!

Интернет через GPRS в Ubuntu 7.04
Жизнь заставила научиться выходить в интернет разными необычными способами.
Далее описаны способы использовать мобильный телефон в качестве GPRS-модема в ОС Ubuntu. Два варианта: подключая телефон по USB или используя bluetooth-модуль.
Начальные данные
Операционная система: Ubuntu 7.04 x86_64 GNU/Linux с ядром 2.6.20-15-generic.
Терминалы: Motorola C380 и Nokia 6680.
Шнурок USB-miniUSB.
BlueTooth-адаптер, встроенный в материнскую плату.

Internet via GPRS-modem + USB-cable
Подключаем телефон Motorola C380 в УСБ-разъем. Команда
$ lsusb
в числе прочих выдаёт такую строку:
Bus 001 Device 006: ID 22b8:4902 Motorola PCS E398 GSM Phone
Не будем обращать внимания, что модель определена неверно. Всё необходимое для работы с таким модемом в ядре есть, это главное. (По крайне мере, насколько я помню, специально я ничего дополнительно не ставил.)
При помощи dmesg убеждаемся, что нужное нам устройство подключено как /dev/ttyACM0: в логе ядра должна быть примерно такая строка:
$ dmesg | tail
...
[ 1005.588013] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
Теперь можно начинать дозваниваться до оператора. Для этого надо правильно сконфигурировать файл /etc/wvdial.conf. Если вам не интересно про блутус, преходите сразу к разделу wvdial.

Internet via GPRS-modem + BlueTooth
Предполагается, что БТ-модуль на вашем компьютере уже работает. И вам понадобится пакет bluez и всё, что ставится к нему в нагрузку.

Берем в правую руку телефон Nokia 6680. Включаем на нем БТ в режиме, когда аппарат доступен для обнаружения другими устройствами. Телефон можно положить неподалёку. Если у вас уже есть какие-то программы, которые осуществляют спаривание телефона, то этот шаг вы тоже можете пропустить. Да и вообще, говорят, что есть разлиные приложения, которые могут и дозваниваться сами, и делать всё, что угодно. Но мне про них мало что известно. Если вы любите KDE, то попробуйте kppp.

Итак. Спаривание. Сперва нам понадобится физический адрес БТ-модуля телефона. Его можно определить так:
$ hcitool scan
В моем случае выводится такой ответ:
00:15:A0:4B:40:3B Nokia 6680
десятиразрядное шестнадцатиричное число — это и есть искомый адрес. Далее.
$ sdptool browse 00:15:A0:4B:40:3B — эта команда выведет список служб, доступных на телефоне. Нас интересует служба «Dialup Networking». Смотрим номер канала (Channel number), к которому привязан этот сервис. Допустим, это n.
Спариваем компьютер с нужной нам службой:
$ rfcomm connect rfcomm0 00:15:A0:4B:40:3B n
Теперь /dev/rcomm0 — это адрес нашего спаренного устройства.
При этом на телефоне появится приглашение ввести PIN. затем его же надо будет ввести на компутере (у меня вылазит попап в трее, но, вроде, можно записать PIN в специальный файл и забыть о нем, надо выяснить).
Кому интересно поиграться, можно спарить устройства, объявив компьютер, скажем, блутус-гарнитурой. Для этого надо просто указать номер канала, соответствующего этой службе.
Итак, мы спарили устройства и знаем точку монтирования телефона к нашей системе.
теперь можно звонить.

wvdial
Утилита wvdial входит в вышеобозначенный дистрибутив линукса. Без шаманства работает только при наличии прав суперпользователя. Осталось только прописать нужные параметры в соответствующий конфигурационный файл.
Итак, файл /etc/wvdial.conf у меня выглядит так:

[Dialer Defaults]
Modem = /dev/rfcomm0
Baud = 57600
Init = ATZ
Init2 = AT+CGDCONT=1,"IP","internet.nw"
Dial Command = ATM1L3DT
Dial Attempts = 1
Phone = *99#
Phone1 = *99#
Username = ''
Password = ''
Auto DNS = on
New PPPD = yes


[Dialer mts_usb]
Modem = /dev/ttyACM0
Baud = 460800
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet.mts.ru"
ISDN = 0
Dial Attempts = 1
Modem Type = USB Modem
Phone = *99#
Phone1 = *99#
Username = mts
Password = mts
Auto DNS = on
New PPPD = yes

Пояснения. Первая часть (default) описывает подключение через bluetooth к оператору МегаФон (Северо-запад). Она выполняется, если вызвать wvdial без параметров:
$ sudo wvdial
Первая строка явно указывает адрес модема. Затем скорость, параметры инициализации, команды модему, число попыток дозвона. При этом соединении не требуется логин/пароль. Честно говоря, я не вдавался в значение всех буковок. Я попробовал несколько разумных вариантов из тех, что попались мне во всевозможных руководствах. У меня заработала такая конфигурация, и я успокоился.

Вторая часть файла (Dialer mts_usb) выполняется, если дать команду
$ sudo wvdial mts_usb
Тут используется подключение к оператору МТС. По сравнению со значениями по умолчанию изменились: адрес модема, его тип, добавились некоторые параметры инициализации. Не знаю, что означают вторая и третья инициализационные строки, просто эта мантра взята из другого руководства. Расскажите мне, если знаете.
Ну и логин/пароль поменялись, естественно.


Как видите, ничего сложного. Обобщение на любое число внешних БТ- или УСБ-устройств и оператров GPRS-услуг элементарно, и мы предоставляем его читателю в качестве упражнения.

Теперь всё у нас работает. Наслаждаемся жизнью.

четверг, 9 июля 2009 г.

воскресенье, 5 июля 2009 г.

Стрельбище "Динамо"

С друзьями на стрельбище "Динамо" в подмосковном Мытищи.