Настройка GPRS-соединения в FreeBSD (Philips 530 + Tekram IrMATE 210)

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Holy Joly Sergik
Сообщения: 88
Контактная информация:

Настройка GPRS-соединения в FreeBSD

Сообщение Holy Joly Sergik »

После очередной посиделки в аське получил километровый счет за телефон, что самое обидное ничего толком не скачал. Оплата за время проведенное в сети - самое гнусное из придуманного провайдерами. Ну уж нет, подумал я и полез искать провайдеров которые берут плату только за траффик. Оказалось фиг, максимум что удалось найти - траффик + время. Ну это уж совсем наглось, подумал я и пошел посмотреть технологии отличные от dial-up. Тут меня ждал еще больший облом, оказывается ADSL и выделенная линия стоят столько, что моему студенческому карману их ни в жизнь не потянуть. Исключение составляли домашние сети, но таковых в моем районе к сожалению не наблюдалось.
Тут я напомнил о себе сотовый, и я, вспомнив о недавнем запуске GPRS, решил попытать счастья, тем более по отзывам очевидцев в винде выход в интернет через GPRS - вполне возможен. Но винда виндой, а я на сегодняшний момент работаю на FreeBSD 5.4-RELEASE, и драйверы от производителя телефона тут мне вряд ли помогут. Значит надо искать.

И так дано:
1. Операционная система FreeBSD 5.4-RELEASE
2. Сотовый телефон стандарта GSM900/1800 Philips 530 с инфракрасным интерфейсом
3. Инфракрасный порт Tekram IRMate 210
Задача - выйти с помощью всего этого хозяйства в интернет.

Первым делом отправляемся в каталог с коллекцией портов:

Код: Выделить всё

# cd /usr/ports

И ищем все порты, по ключу irda:

Код: Выделить всё

# make search key=irda

Ответом на эту команду будет один единственный результат поиска:

Код: Выделить всё

Port:   birda-1.00_2
Path:   /usr/ports/comms/birda
Info:   Bohlin's IrDA utilities, ported from NetBSD's pkgsrc
Maint:  allbery@ece.cmu.edu
B-deps:
R-deps:
WWW:

Что ж это лучше чем ничего, попробуем применить его к своим нуждам, для начала прочитав краткое описание в файле /usr/ports/comms/birda/pkg-descr, из которого становится ясно, что это набор утилит для работы с устройствами через IrDA на COM-порту. Нам подходит, устанавливаем:

Код: Выделить всё

# cd ./comms/birda
# make install clean

Исходник пакета весит всего 56 Кб, зависимостей у пакета, как можно видеть выше нет. При установке пакета в каталог /usr/local/bin будут положены исполняемые файлы: ircomm, irobex, irs, mkobexcard, mkobexdate, mkobexmemo, mkobexpdb, mkobextel и mkobextodo, из них нам понадобится только первый, поэтому стоит изучить его man-страницу:

Код: Выделить всё

# man ircomm

Исходя из man делаем вывод, что подключение телефона к компьютеру возможно с помощью следующей команды:

Код: Выделить всё

# ircomm -t -d /dev/cuaa0 -y /dev/ptyqf -n "Philips 530" -Y

Для удобства я добавил в файл /etc/devfs.conf строчку

Код: Выделить всё

link cuaa0 irda

В результате чего при загрузке системы в каталоге /dev создается симлинк на /dev/cuaa0, к которому подключен инфракрасный порт.
Для проверки работоспособности полученной связки выполним команду, не забыв при этом активировать инфракрасный порт в телефоне.

Код: Выделить всё

# ircomm -t -d /dev/irda -y /dev/ptyqf -n "Philips 530" -v3

В результате должны увидеть примерно следующее:

Код: Выделить всё

in: fe bf 01 be 66 36 19 bb c7 f8 60 01 04 00 b0 25
00 50 68 69 6c 69 70 73 20 35 33 30 00
discovered Philips 530, address=be663619, hints=Modem, Fax, Telephony, IrCOMM, IrOBEX
query completed
in: 66 73 be 66 36 19 bb c7 f8 60 01 01 3f 82 01 01
83 01 04 84 01 01 85 01 80 86 01 03 08 01 1f
115200 baud
LAP connected
in: 66 11
in: 66 31
in: 66 30 81 00 81 00
in: 66 52 01 00 84 00 00 01 00 01 01 00 00 00 03
in: 66 74 01 00 84 00 00 01 00 01 02 00 03 00 01 07
in: 66 91
in: 66 b1
in: 66 b6 81 03 81 00 02
comm connected
in: 66 d8 01 03 00 0a 12 01 03 13 02 11 13 20 01 0c
in: 66 f1
in: 66 f1
in: 66 f1
in: 66 f1
in: 66 f1
in: 66 f1
.........

Если это так, значит все в порядке, можно переходить к настройке интернет-соединения. Если нет, значит Вы являетесь владельцем инфракрасного порта другой марки, в этом случае Вам нужно ознакомиться со списком поддерживаемых устройств (man ircomm).

Настраиваем интернет-соединение, использовать будем ppp. Открываем файл /etc/ppp/ppp.conf в любимом редакторе, в моем случае это ee:

Код: Выделить всё

# ee /etc/ppp/ppp.conf

Если Вы используете ppp для соединения с интернет в первый раз, то этого файла скорее всего нет по указанному пути. В этом случае нужно его туда поместить скомандовав:

Код: Выделить всё

# cp /usr/share/examples/ppp/ppp.conf.sample /etc/ppp.conf

Для того, чтобы установить интернет-соединение, его нужно сначала описать в файле /etc/ppp.conf, сделаем это прямо сейчас (я пользуюсь услугами компании БайкалВестКом, поэтому настройки приведены именно для этого оператора, но могут быть с легкостью подправлены для любого другого:

Код: Выделить всё

bwc:    # это название соединения
 set device /dev/ttyqf # это устроиство-модем
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT  5 \"\" AT \
           OK-AT-OK ATE1Q0 OK \
           AT+CGDCONT=1,\\\"IP\\\",\\\"inet.bwc.ru\\\" OK\ # здесь нужно вписать APN (узнать на сайте оператора)
           AT+CGATT=1 OK \\dATDT\\T TIMEOUT 40 CONNECT"
 set logout "ABORT BUSY ABORT ERROR TIMEOUT 30 \
             \"\" +++ATH OK-ATH-OK AT+CGATT=0 OK"
 set authname "bwc" # имя пользователя (узнать на сайте оператора)
 set authkey "" # пароль (узнать на сайте оператора)
 set phone "*99***1#" # номер телефона (на некоторых телефонах *99#)
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 set reconnect 5 100
 add default HISADDR
 enable dns

Сохраняем файл и пробуем соединиться (ACHTUNG! У Вас должна быть активирована услуга GPRS), предварительно активировав irda в телефоне:

Код: Выделить всё

# ircomm -t -d /dev/irda -y /dev/ptyqf -n "Philips 530" -Y
# ppp
ppp ON localhost> dial bwc

Если все в порядке, приглашение командной строки поменяется три раза ppp -> Ppp -> PPp -> PPP. Если все буквы большие, значит соединение установлено, открываем соседнюю консоль и проверяем это:

Код: Выделить всё

# ping mail.ru

Если пинг пошел, можно поробовать открыть какой-нибудь сайт

Код: Выделить всё

# elinks http://linuxforum.ru

Если соединение не установлено, ищем ошибки в логах.

Однако давать столько команд для установки соединения немного утомительно, поэтому попытаемся облегчить себе жизнь, добавим в начало конфигурации соединения строчку:

Код: Выделить всё

 bg /usr/local/bin/ircomm -t -d /dev/irda -y /dev/ptyqf -n "Philips 530" -Y

С учетом этого конфигурация будет выглядеть так:

Код: Выделить всё

bwc:
 bg /usr/local/bin/ircomm -t -d /dev/irda -y /dev/ptyqf -n "Philips 530" -Y
 set device /dev/ttyqf
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT  5 \"\" AT \
           OK-AT-OK ATE1Q0 OK \
           AT+CGDCONT=1,\\\"IP\\\",\\\"inet.bwc.ru\\\" OK\
           AT+CGATT=1 OK \\dATDT\\T TIMEOUT 40 CONNECT"
 set logout "ABORT BUSY ABORT ERROR TIMEOUT 30 \
             \"\" +++ATH OK-ATH-OK AT+CGATT=0 OK"
 set authname "bwc"
 set authkey ""
 set phone "*99***1#"
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 set reconnect 5 100
 add default HISADDR
 enable dns

Теперь для активизации GPRS-соединения достаточно включить инфракрасный порт телефона, положить его напротив IrDA и дать команду:

Код: Выделить всё

# ppp -auto bwc

Вот собственно и все. Замечания, предложения и поправки принимаются в этом топике или по e-mail klimov.sergey@gmail.com.
FreeBSD 6.0 - RELEASE + Windows XP + Mandrake 10.1 on Cel 2400
Windows 2000 on Cel 633
Спасибо сказали:
Ответить