на главную 
карта сайта 
контакты 
   




навигация Linux & Bluetooth    









Support / Bluetooth / Linux & Bluetooth


Пример настройки выхода через Bluetooth - GPRS в Интернет под Linux






Сначала нужно кое-что скачать. Идем на bluez.sourceforge.net и скачиваем патч, соответствующий версии ядра, и вот этот софт:
bluez-hcidump
bluez-sdp
bluez-utils
bluez-lib

На машине должны быть уже установлены исходники ядра и набор development для компиляции.

После этого запускаем патч и идем в настройки ядра:

в разделе Bluetooth Support включаем:
Bluetooth subsystem support
L2CAP protocol support
SCO links support
RFCOMM protocol
RFCOMM tty support
BNEP protocol support

Bluetooth device drivers:
HCI USB driver
HCI VHCI (Virtual HCI device) driver

В разделе USB support ничего не трогаем. Собираем ядро и инсталлируем 4 скаченных софта. После перезагрузки система готова к работе.

Далее настраиваем адаптер.
#hciconfig hci0 up
#hciconfig
hci0: Type: USB
BD Address: 00:08:F4:00:15:63 ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:575364 acl:25941 sco:0 events:2068 errors:0
TX bytes:124500 acl:1742 sco:0 commands:336 errors:0
Это значит, что адаптер виден и работает.

Поиск работающих Bluetooth устройств выглядит так:
# hcitool scan
Scanning ...
00:0A:D9:3E:2D:20 T610
00:02:C7:11:44:1E iPAQ PocketPC

Перед именем устройства показан его адрес.

Можно еще проверить связь с каждым устройством -
# l2ping 00:0A:D9:3E:2D:20
Ping: 00:0A:D9:3E:2D:20 from 00:08:F4:00:15:63 (data size 20) ...
0 bytes from 00:0A:D9:3E:2D:20 id 200 time 58.86ms
0 bytes from 00:0A:D9:3E:2D:20 id 201 time 48.36ms
0 bytes from 00:0A:D9:3E:2D:20 id 202 time 42.20ms
0 bytes from 00:0A:D9:3E:2D:20 id 203 time 39.05ms
0 bytes from 00:0A:D9:3E:2D:20 id 204 time 35.90ms
0 bytes from 00:0A:D9:3E:2D:20 id 205 time 40.75ms
6 sent, 6 received, 0% loss

Далее настраиваем работу с телефоном.
Имя устройства (компьютера, в котором стоит Bluetooth-адаптер) находится в файле /etc/bluetooth/hcid.conf в разделе device.
Код для pairing записываем в /etc/bluetooth/pin, при этом инициализируется сопряжение устройств со стороны телефона.

После редактирования этих двух файлов выполняем:
#hcid restart

Далее выполняем:
#mknod /dev/rfcomm0 c 216 0

Теперь можно работать с GPRS!

# rfcomm connect /dev/rfcom0 00:0A:D9:3E:2D:20 1
Connected /dev/rfcomm0 to 00:0A:D9:3E:2D:20 on channel 1
Press CTRL-C for hangup

00:0A:D9:3E:2D:20 - это в данном случае адрес телефона, он получается после выполнения сканирования устройств.

А в другой консоли запускаем стандартную программу работы с модемом - в моем случае это был wvdial.
# wvdial
--> WvDial: Internet dialer version 1.42
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Modem initialized.
--> Idle Seconds = 3000, disabling automatic reconnect.
--> Sending: ATDT*99***2#
--> Waiting for carrier.
ATDT*99***2#
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Thu Aug 28 11:55:57 2003
--> pid of pppd: 12634
--> pppd: Using interface ppp0
--> pppd: local IP address 213.87.11.165
--> pppd: remote IP address 213.87.11.164
--> pppd: primary DNS address 213.87.0.1
--> pppd: secondary DNS address 213.87.1.1
--> pppd: Script /etc/ppp/ip-up run successful
--> Default route Ok.
--> Connected... Press Ctrl-C to disconnect

В конфигурации файла работы с модемом в качестве порта указываем /dev/rfcomm0, все остальное - стандартные настройки.

У меня конфиг примерно такой:
[Dialer Defaults]
Modem = /dev/rfcomm0
Baud = 57600
Area Code =
Phone = *99***2#
Username =mts
Password =mts
Ask Password = 0
Dial Command = ATDT
Stupid Mode = 1
Compuserve = 0
Force Address =
Idle Seconds = 3000
DialMessage1 =
DialMessage2 =
ISDN = 0
Auto DNS = 1


Автор: dEaTh KnIgHt



© 2008–2009 BKL Limited