Ключевые слова:gprs, mobile, linux, ppp, irda, (найти похожие документы)
From: Anatoly Pugachev <mator/at/mail.ru>
Date: Mon, 27 Nov 2006 14:31:37 +0000 (UTC)
Subject: Настройка GPRS соединения в Linux используя инфракрасный порт.
Оригинал: http://rootshell.ru/~mator/GPRS_linux_setup.txt
Комментарии и дополнения к статье просьба присылать на
mailto: 'Anatoly Pugachev <mator@mail.ru.>'
document version: 0.1
Настройка GPRS соединения в Linux используя инфракрасный порт и GPRS телефон.
Используемое оборудование:
1) Tekram IR-210 (COM порт)
2) Siemens ME-45 (подключенный к beeline gsm)
3) компьютер
Используемое программное обеспечение:
0) redhat linux 8
1) linux kernel => 2.4.18
2) pppd => 2.4.1
3) irda-utils => 0.9.15
I. Настройка ядра linux для работы с IrDA
Основные параметры ядра linux для работы IrDA:
file linux/.config
#
# IrDA (infrared) support
#
CONFIG_IRDA=m
#
# IrDA protocols
#
CONFIG_IRCOMM=m
#
# SIR device drivers
#
CONFIG_IRTTY_SIR=m
CONFIG_IRPORT_SIR=m
#
# Dongle support
#
CONFIG_DONGLE=y
CONFIG_ESI_DONGLE=m
CONFIG_ACTISYS_DONGLE=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_GIRBIL_DONGLE=m
CONFIG_LITELINK_DONGLE=m
CONFIG_MCP2120_DONGLE=m
CONFIG_OLD_BELKIN_DONGLE=m
CONFIG_ACT200L_DONGLE=m
CONFIG_MA600_DONGLE=m
#
# FIR device drivers
#
CONFIG_USB_IRDA=m
CONFIG_NSC_FIR=m
CONFIG_WINBOND_FIR=m
CONFIG_TOSHIBA_OLD=m
CONFIG_TOSHIBA_FIR=m
CONFIG_SMC_IRCC_FIR=m
CONFIG_ALI_FIR=m
CONFIG_VLSI_FIR=m
Особое внимание стоит обратить на 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'
ircomm-tty 24320 1 (autoclean)
ircomm 9896 0 (autoclean) [ircomm-tty]
tekram 2208 1 (autoclean)
irtty 7488 2 (autoclean)
irda 113104 0 (autoclean) [ircomm-tty ircomm tekram irtty]
При необходимости данные 5 модулей можно загрузить руками.
В случае подключения через USB порт будет использоваться модуль irda-usb.
Настройка порта:
Был использован COM-вариант инфракрасного порта, подключенный на COM1 = /dev/ttyS0
Для работы IR приемника необходимо в linux необходимо установить пакет
irda-utils. В конфигурационном файле от этого пакета прописать следующее:
file /etc/sysconfig/irda
IRDA=yes
DEVICE=/dev/ttyS0
DONGLE=tekram
DISCOVERY=yes
параметры:
IRDA = используется ли IrDA?
DEVICE = на каком порту подключен IR приемник, у нас на COM1
DONGLE = тип используемого оборудования, у нас Tekram
возможны варианты: esi|tekram|actisys|actisys+|girbil|litelink|
airport|old_belkin|ep7211|mcp2120|act200l|ma600
Все данные варианты описаны в 'man irattach'
DISCOVERY = начинать поиск удаленных IrDA устройств?
Проверка на запуск IrDA при загрузке OS:
$ chkconfig --list irda
irda 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Добавление в загрузку:
- используя 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 должна появиться информация по вашему телефону:
cat /proc/net/irda/discovery
IrLMP: Discovery log:
nickname: SIEMENS ME45, hint: 0xb124, saddr: 0x584614e6, daddr: 0x02865981
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,\042IP\042,\042internet.beeline.ru\042"
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
В Саратовском beeline используются dns сервера:
file /etc/resolv.conf
nameserver 217.118.66.243
nameserver 217.118.66.244
поэтому вам необходимо прописать их в ваш /etc/resolv.conf
Ваши dns сервера вы должны узнать у вашего оператора мобильной связи или на
его web-сайте.
Запускайте MozillaFirebird или Konqueror и работайте в сети!
Удачи.
ChangeLog:
0.1 Initial release.