Спасибо, Леонид! Как всегда прав.
Итак, bluez 4.91 готов. Для работы понадобятся:
- архив модулей, прикрепленных к этому посту,
- пакет dbus и bluez4, которые теперь входят в состав энтузиасткого репозитория.
Для взлёта необходимо:
1. Подгрузить модули bluez из архива, подгрузить модуль для вашего USB-BT донгла. В экспериментах участвовал...
Code:
$ lsusb -d 2001:f111
Bus 002 Device 005: ID 2001:f111 D-Link Corp. [hex] DBT-122 Bluetooth adapter
...совместно с модулем hci_usb.ko.
2.Запустить шину обмена сообщениями:
Code:
$ dbus-daemon --config-file=/opt/etc/dbus-1/system.conf
3.Посмотреть перечень доступных интерфейсов:
Code:
$ hciconfig
hci0: Type: BR/EDR Bus: USB
BD Address: 00:17:9A:3E:E0:98 ACL MTU: 377:10 SCO MTU: 16:0
UP RUNNING PSCAN
RX bytes:4151 acl:16 sco:0 events:97 errors:0
TX bytes:1936 acl:16 sco:0 commands:66 errors:0
4.Включить нужный интерфейс:
Code:
$ hciconfig hci0 up
5.Затем запустить bluetoothd и убедиться в том, что он слушает нужный интерфейс:
Code:
$ bluetoothd
$ cat /tmp/syslog.log | grep " HCI "
Apr 5 00:15:09 bluetoothd[27300]: HCI dev 0 registered
Apr 5 00:15:09 bluetoothd[27300]: Listening for HCI events on hci0
Apr 5 00:15:09 bluetoothd[27300]: HCI dev 0 up
Всё! Дальнейшие бесчинства зависят от вашей фантазии. Здесь пора вспомнить зачем вам был нужен bluetooth на роутере и действовать согласно прикладной задачи. Для примера продолжу:
6.Осматриваемся в поисках соседних bluetooth-устройств:
Code:
$ hcitool scan
Scanning ...
0C:DD:EF:6D:42:CD Sm1
7.Пробуем пинговать:
Code:
$ l2ping 0C:DD:EF:6D:42:CD
Ping: 0C:DD:EF:6D:42:CD from 00:17:9A:3E:E0:98 (data size 44) ...
0 bytes from 0C:DD:EF:6D:42:CD id 0 time 115.13ms
0 bytes from 0C:DD:EF:6D:42:CD id 1 time 8.50ms
0 bytes from 0C:DD:EF:6D:42:CD id 2 time 7.51ms
0 bytes from 0C:DD:EF:6D:42:CD id 3 time 7.51ms
0 bytes from 0C:DD:EF:6D:42:CD id 4 time 7.86ms
Recv failed: Connection reset by peer
8.Смотрим какие сервисы предоставляет устройство:
Code:
$ sdptool browse 0C:DD:EF:6D:42:CD | grep "Service Name:"
Service Name: AVRCP Target
Service Name: Phonebook access PSE
Service Name: Hands-Free Audio Gateway
Service Name: Headset Audio Gateway
Service Name: Audio Source
Service Name: AVRCP Controller
Service Name: PnP Information
Service Name: Dial-Up Networking
Service Name: OBEX Object Push
Service Name: Imaging
Service Name: SyncMLClient
Service Name: OBEX File Transfer
Service Name: Nokia OBEX PC Suite Services
Service Name: SyncML DM Client
Service Name: Nokia SyncML Server
И так далее.
Bluez собран со всеми возможными модулями, кроме pcmcia и alsa. Примеры использования конкретных сервисов DUN, OBEX, PAN, Audio и других см. в соответствующих туториалах.