GPRS через Bluetooth

GPRS via Bluetooth

 

Используемое оборудование:

  • Sony VAIO C1F picturebook with RH80 and 2.4.20 kernel (handbuilt) 
  • 3Com Bluetooth card 3CRWB6096 
  • Nokia 6310i GSM

1) Приручаем Ядро

Скачиваем и устанавливаем следующие пакеты:

Bluez-libs-2.3-1
Bluez-utils-2.2-1
Bluez-sdp-1.0rc2-1
Bluez-bluefw-0.9-1

Дописываем к /etc/modules.conf

# bluetooth stuff
alias net-pf-31 bluez
alias bt-proto-0 l2cap
alias bt-proto-2 sco
alias bt-proto-3 rfcomm


2) Работаем с Bluetooth

# /etc/rc.d/init.d/bluetooth start

Вставляем 3Com card. И видим:

cardmgr[602]: socket 0: 3Com Bluetooth PC Card
cardmgr[602]: executing: ‘modprobe bt3c_cs’
bluefw[3859]: Loading firmware to pccard device 0101:0040
hcid[3784]: HCI dev 0 registered
cardmgr[602]: executing: ‘./bluetooth start hci0’
/sbin/hotplug: no runnable /etc/hotplug/bluetooth.agent is installed
hcid[3784]: HCI dev 0 up


Далее проверяем работу карты:

# hciconfig
hci0: Type: PCCARD
BD Address: 00:04:76:C8:D3:E3 ACL MTU: 128:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN 
RX bytes:112 acl:0 sco:0 events:12 errors:0
TX bytes:308 acl:0 sco:0 commands:12 errors:0

Активируем Bluetooth на телефоне. 
Потом пишем # hcitool scan.
И видим:

Scanning …
00:02:EE:60:97:6E


Всё телефон определён.

3) Теперь надо убедиться в том, что телефон поддерживает dial-up networking, что должно быть сделано с помощью команды:

# sdptool search DUN
Inquiring …
Searching for DUN on 00:02:EE:60:97:6E …
Service Name: Dial-up networking
Service RecHandle: 0x10031
Service Class ID List:
«Dialup Networking» (0x1103)
«Generic Networking» (0x1201)
Protocol Descriptor List:
«L2CAP» (0x0100)
«RFCOMM» (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
«Dialup Networking» (0x1103)
Version: 0x0100


4) Протестируем подключение к телефону с помощью l2ping.

# l2ping 00:02:EE:60:97:6E
Ping: 00:02:EE:60:97:6E from 00:04:76:C8:D3:E3 (data size 20) …
0 bytes from 00:02:EE:60:97:6E id 200 time 39.76ms
0 bytes from 00:02:EE:60:97:6E id 201 time 35.67ms
0 bytes from 00:02:EE:60:97:6E id 202 time 32.21ms
3 sent, 3 received, 0% loss


Чтобы всё работало без проблем скачиваем  заплатку 2.4.20-mh4 и применяем её:

# cd /usr/src
# patch -p0 < /tmp/patch-2.4.20-mh4


далее пишем

# make dep
# make bzImage && make modules && make modules_install

# rfcomm bind 0 00:02:EE:60:97:6E 1


И получаем

kernel: BlueZ RFCOMM ver 0.4
kernel: Copyright (C) 2002 Maxim Krasnyansky 
kernel: Copyright (C) 2002 Marcel Holtmann

5) Теперь приступаем к настройке pppd

Создаем файл /etc/ppp/peers/gprs следующего содержания:

/dev/rfcomm0 57600
connect ‘/usr/sbin/chat -v -f /etc/ppp/chat/gprs’
noauth
defaultroute
lock
debug
novjccomp
nopcomp
noaccomp
nodeflate
novj
nobsdcomp
default-asyncmap
ipcp-accept-local
ipcp-accept-remote
usepeerdns
user beeline
nodetach


При этом отключается всякое сжатие, как указано в рекомендациях сервисной службы beeline, и не происходит отключение от управляющего терминала, так что pppd можно остановить с помощью Ctrl-C. В файл /etc/ppp/chat/gprs записываем команды /usr/sbin/chat:

# TIMEOUT 5
ECHO ON
ABORT ‘ BUSY ‘
ABORT ‘ ERROR ‘
ABORT ‘ NO ANSWER ‘
ABORT ‘ NO CARRIER ‘
ABORT ‘ NO DIALTONE ‘
ABORT ‘ RINGING RINGING ‘
» AT
TIMEOUT 12
OK ATH
OK ATE1
OK AT+CGDCONT=1,»IP»,»internet.beeline.ru» # 
в последних кавычках надо ввести APN своего оператора
OK ATD*99***1#
CONNECT

Author: admin

Добавить комментарий