Использование IrDA и GPRS

К сожалению, ещё не во всех домах сетевая розетка является столь же обыденной деталью интерьера, как розетка электрическая. Кроме того, многим нужен не только стационарный, но и мобильный выход в сеть. Решением является "вторая жизнь dial-up" (практически вытесненного с компьютера домашнего пользователя более удобными средствами доступа) -- связь, с использованием модема, встроенного в большинство мобильных телефонов.

В данном разделе опишу свои действия для выхода в Сеть через beeline-gprs с помощью мобильного телефона Siemens ME45.

Первым делом надо наладить связь между мобильником и компьютером. Для этого я предпочёл использовать инфракрасный порт телефона. Пришлось приобрести аналогичный USB-порт, а именно -- Tekram 410U.

Работоспособность IrDA легко проверить, запустив команду irdadump (конечно же при включённом инфракрасном порту мобильника, направленном в приёмное устройство) из пакета irdatools. Если не видно обмена информацией между компьютером и телефоном, то первым делом проверьте, что загружены все необходимые для работы USB и IrDA модули. Так, у меня вывод команды lsmod содержит следующие строки:

ircomm-tty             34656   1 (autoclean)
ircomm                 15916   0 (autoclean) [ircomm-tty]
irda-usb               14512   1
irda                  161312   0 [ircomm-tty ircomm irda-usb]
usb-uhci               23280   0 (unused)
usbcore                62604   0 [irda-usb usb-uhci]
Загрузив всё необходимое, перезапустите скрипт /etc/init.d/irda. Мне также пришлось немного поправить файл /etc/irda.conf, приведя его к следующему виду:
IRDADEV=irda0
DISCOVERY='-s 1'
ENABLE=yes
На этом настройку IrDA можно считать законченной.

Переходим к настройке ppp. Оная производится ровно так же, как и для любого иного модема. Первым делом пропишите аутентификационную информацию вашего провайдера в файл /etc/ppp/pap-secrets. Оный файл у меня имеет (помимо прочих) строки:

mts     *       mts
beeline *       beeline

Далее -- можете прописать первичный и вторичный домены DNS в файл /etc/resolv.conf, либо его аналог в каталоге /etc/ppp. В случае beeline данный файл будет содержать строки:

nameserver 217.118.66.243
nameserver 217.118.66.244

Единственное, что остаётся -- произвести запуск pppd с указанием соответствующего скрипта соединения. Например, так:

/usr/sbin/pppd /dev/ircomm1 57600 local name beeline debug 255 defaultroute connect 
\'/usr/sbin/chat -v ABORT ERROR \"\" \"AT\&F0\" OK \"AT\&D2\&C1V1W1S95=47\&K3\" OK 
\"AT+CGDCONT=1,\\\"IP\\\",\\\"internet.beeline.ru\\\"\" OK \"ATD\*99\*\*\*1\#\" \'
Но более удобным способом является создание специального файла для данного конкретного вида соединения в каталоге /etc/ppp/peers. Так, например, мой файл /etc/ppp/peers/gprs-siemens имеет следующий вид:
name beeline
/dev/ircomm0

# Serial port line speed
57600

# Generic GPRS options
file /etc/ppp/gprs-options

# Chat scripts
connect "/usr/sbin/chat -f /etc/ppp/chatscripts/gprs-siemens-connect-chat"
disconnect "/usr/sbin/chat -f /etc/ppp/chatscripts/gprs-disconnect-chat"
Файл /etc/ppp/gprs-options соответственно представляет собой:
# Change this line to 'defaultroute' if you want to use the GPRS link 
# as your gateway.
defaultroute

# Comment this line out to let pppd background itself.
nodetach
noauth

# Turn this on to see all the PPP negotiations
debug

# *** Below this line you probably won't need to change.

# Limit the MTU (workaround for an oddity in the VPN)
#mtu 1400

# Use hardware flow conrtrol
crtscts

# Let the phone figure out all the IP addresses
noipdefault
ipcp-accept-local
ipcp-accept-remote

# No ppp compression
novj
novjccomp

# For sanity, keep a lock on the serial line
lock
А скрипт соединения, соответственно:
ECHO ON
ABORT		'BUSY'
ABORT		'NO ANSWER'
ABORT		'NO CARRIER'
ABORT		'NO DIALTONE'
ABORT		'\nRINGING\r\n\r\nRINGING\r'
SAY			"GPRS modem init: press <ctrl>-C to disconnect"

"" "AT&F0" 
"OK" "ATH" 
"OK" "ATE1" 
"OK" "AT+CGDCONT=1,\"IP\",\"internet.beeline.ru\"" 
"OK" "ATD*99***1#"
TIMEOUT 20
CONNECT

Составив аналогичные по смыслу файлы для вашего провайдера и телефона, вы сможете запускать ppp соединение простой командой, вроде pon gprs-siemens. Отключение ppp соединения, соответственно выполняется командой poff.



Copyleft © 2002-2007 г.   Nikolay A. Panov, "Intro To Linux" (orig),  author@niksite.ru