From: Anatoly Pugachev <mator/at/mail.ru>
Date: Mon, 27 Nov 2006 14:31:37 +0000 (UTC)
Subject: Настройка GPRS соединения в Linux используя инфракрасный порт.
Особое внимание стоит обратить на CONFIG_IRDA, CONFIG_IRCOMM,
CONFIG_IRTTY_SIR, CONFIG_IRPORT_SIR, CONFIG_DONGLE (желательно все модули
включить) и CONFIG_USB_IRDA (если у вас подключение IR через USB порт)
рекомендую все данные опции включить в ядро в качестве модулей, чтобы можно
было загрузить и при необходимости выгрузить модуль.
II. Настройка IR приемника для работы с linux:
Загрузка необходимых модулей для операционной системы:
file /etc/modules.conf
alias char-major-161 ircomm-tty
alias tty-ldisc-11 irtty
alias irda-dongle-0 tekram
Вот список модулей загруженных на рабочей машине с IrDA:
output from 'lsmod'
При необходимости данные 5 модулей можно загрузить руками.
В случае подключения через USB порт будет использоваться модуль irda-usb.
Настройка порта:
Был использован COM-вариант инфракрасного порта, подключенный на COM1 = /dev/ttyS0
Для работы IR приемника необходимо в linux необходимо установить пакет
irda-utils. В конфигурационном файле от этого пакета прописать следующее:
file /etc/sysconfig/irda
параметры:
IRDA = используется ли IrDA?
DEVICE = на каком порту подключен IR приемник, у нас на COM1
DONGLE = тип используемого оборудования, у нас Tekram
возможны варианты: esi|tekram|actisys|actisys+|girbil|litelink|
airport|old_belkin|ep7211|mcp2120|act200l|ma600
Все данные варианты описаны в 'man irattach'
DISCOVERY = начинать поиск удаленных IrDA устройств?
Добавление в загрузку:
- используя ntsysv отметить "irda" для загрузки
- используя chkconfig:
root# chkconfig --level 2345 irda on
- в debian через update-rc.d , см. 'man update-rc.d'
Если у вас irda не стартовал при запуске, то можете его запустить через:
root# service irda start
или так:
root# /etc/rc.d/init.d/irda start
После чего в /var/log/messages должно появится следующее сообщение:
tail /var/log/messages
Jan 11 20:19:58 mylinux irda: irattach startup succeeded
Jan 11 20:19:59 mylinux irattach: executing: 'echo mylinux > /proc/sys/net/irda/devname'
Jan 11 20:20:00 mylinux irattach: executing: 'echo 1 > /proc/sys/net/irda/discovery'
Jan 11 20:20:00 mylinux irattach: Starting device irda0
Все, IrDA готов к использованию.
III. Настройка телефона:
Настройка телефона проста, вы должны включить инфракрасный порт и gprs в меню
телефона.
После установки телефона напротив IrDA приемника, через 3-5 секунд в файле
/proc/net/irda/discovery должна появиться информация по вашему телефону:
IV. Настройка ppp (internet) соединения с оператором мобильной связи.
Соединение устанавливается по протоколу ppp и соответственно должен быть
установлен rpm-пакет ppp.
Конфигурационные файлы относящиеся к ppp находятся в каталоге /etc/ppp/ .
файл /etc/ppp/beeline-gprs.chat
строка инициализации модема: AT+CGDCONT=1,"IP","internet.beeline.ru"
номер дозвона: *99***1#
таймаут на соединение: 30 секунд
file /etc/ppp/beeline-gprs.chat
ABORT "BUSY"
ABORT "NO CARRIER"
"" "AT"
"OK" "AT+CGDCONT=1, 42IP 42, 42internet.beeline.ru 42"
OK ATD*99***1#
TIMEOUT 30
CONNECT
файл /etc/ppp/options
используемое устройство для подключения: /dev/ircomm0
имя пользователя/машины: beeline
file /etc/ppp/options
# IRDA device
/dev/ircomm0
# persistent internet connection
# re-try if connection lost
persist
# switch off all debug info
kdebug 0
# auth options, use hostname 'beeline'
name beeline
user beeline
noauth
refuse-chap
# other connection settings
connect '/usr/sbin/chat -v -f /etc/ppp/beeline-gprs.chat'
local
ipcp-accept-local
ipcp-accept-remote
noipdefault
defaultroute
#usepeerdns
# we don't use ipx and compress algorithms on grps connection
noipx
#nopcomp
#noaccomp
# bsdcomp 0,0
nobsdcomp
nodeflate
# set MTU to 1500
mtu 1500
для полного описания опций данного файла см. 'man pppd'
файл /etc/ppp/pap-secrets
используется pap аутентификация, имя пользователя/машины 'beeline' (первый столбец)
паполь 'beeline' (третий столбец)
file /etc/ppp/pap-secrets
# Secrets for authentication using PAP
# client server secret IP addresses
beeline * beeline
Запустив pppd из под от root'a мы получим соединение с internet:
root# pppd
При этом в логах будет записано приблизительно следующее:
tail /var/log/messages
Jan 12 03:42:24 mylinux pppd[11672]: pppd 2.4.1 started by root, uid 0
Jan 12 03:42:24 mylinux chat[11673]: abort on (BUSY)
Jan 12 03:42:24 mylinux chat[11673]: abort on (NO CARRIER)
Jan 12 03:42:24 mylinux chat[11673]: send (AT^M)
Jan 12 03:42:24 mylinux chat[11673]: expect (OK)
Jan 12 03:42:25 mylinux chat[11673]: AT^M^M
Jan 12 03:42:25 mylinux chat[11673]: OK
Jan 12 03:42:25 mylinux chat[11673]: -- got it
Jan 12 03:42:25 mylinux chat[11673]: send (AT+CGDCONT=1,"IP","internet.beeline.ru"^M)
Jan 12 03:42:25 mylinux chat[11673]: expect (OK)
Jan 12 03:42:25 mylinux chat[11673]: ^M
Jan 12 03:42:26 mylinux chat[11673]: AT+CGDCONT=1,"IP","internet.beeline.ru"^M^M
Jan 12 03:42:26 mylinux chat[11673]: OK
Jan 12 03:42:26 mylinux chat[11673]: -- got it
Jan 12 03:42:26 mylinux chat[11673]: send (ATD*99***1#^M)
Jan 12 03:42:26 mylinux chat[11673]: timeout set to 30 seconds
Jan 12 03:42:26 mylinux chat[11673]: expect (CONNECT)
Jan 12 03:42:26 mylinux chat[11673]: ^M
Jan 12 03:42:26 mylinux chat[11673]: ATD*99***1#^M^M
Jan 12 03:42:26 mylinux chat[11673]: CONNECT
Jan 12 03:42:26 mylinux chat[11673]: -- got it
Jan 12 03:42:26 mylinux pppd[11672]: Serial connection established.
Jan 12 03:42:26 mylinux pppd[11672]: Using interface ppp0
Jan 12 03:42:26 mylinux pppd[11672]: Connect: ppp0 <--> /dev/ircomm0
Jan 12 03:42:27 mylinux /etc/hotplug/net.agent: assuming ppp0 is already up
Jan 12 03:42:32 mylinux pppd[11672]: local IP address 172.19.1.209
Jan 12 03:42:32 mylinux pppd[11672]: remote IP address 192.168.254.254