За основу был взят код с сайта opensolaris.org. Данная версия позволяет обнаруживать наличие адаптера и наличие устройств, с которыми можно установить соединение по Bluetooth.
Скачать и распаковать архив с бинарниками и исходниками
wget http://marketstate.ru/bluetooth/bluetooth130119.7z
7z x bluetooth130119.7z
cd bluetooth
Если выхотите скомпилировать исходники, в файле makefile надо задать правильное значение переменной UTS_DIR, чтобы она указывала на каталог uts в дереве исходников Illumos. Для компиляции следует ввести команду make.
Установка выполняется при помощи команд
sudo make install
sudo add_drv -i ‘»usb,classe0.1.1″‘ -n ubt
Затем следует перезагрузиться.
sudo /sbin/soconfig 33 4 1 sockmod_rawhci
Чтобы не выполнять запуск soconfig после каждой перезагрузки, можно добавить соответствующую строку в /etc/sock2path.d/system%2Fkernel
На данный момент при помощи утилиты btconfig можно выполнять следующие действия:
Если адаптер не подключен.
keremet@openindiana:~/test/bluetooth/btconfig$ ./btconfig
keremet@openindiana:~/test/bluetooth/btconfig$
Если адаптер подключен.
keremet@openindiana:~/test/bluetooth/btconfig$ ./btconfig
ubt0: bdaddr 00:00:00:00:00:00 flags <>
keremet@openindiana:~/test/bluetooth/btconfig$ ./btconfig ubt0
ubt0: bdaddr 00:00:00:00:00:00 flags <>
num_cmd = 0
num_acl = 0, acl_mtu = 0
num_sco = 0, sco_mtu = 0
Перевод интерфейса в активное состояние.
keremet@openindiana:~/test/bluetooth/btconfig$ ./btconfig ubt0 up
keremet@openindiana:~/test/bluetooth/btconfig$ ./btconfig
ubt0: bdaddr 11:11:11:11:11:11 flags <UP,RUNNING>
keremet@openindiana:~/test/bluetooth/btconfig$ ./btconfig ubt0
ubt0: bdaddr 11:11:11:11:11:11 flags <UP,RUNNING>
num_cmd = 1
num_acl = 8, acl_mtu = 678
num_sco = 10, sco_mtu = 48
Нет устройств, с которыми можно установить соединение по Bluetooth.
keremet@openindiana:~/test/bluetooth/btconfig$ ./btconfig ubt0 inq
Device Discovery from device: ubt0 … 0 responses
Есть одно такое устройство
keremet@openindiana:~/test/bluetooth/btconfig$ ./btconfig ubt0 inq
Device Discovery from device: ubt0 …. 1 response
1: bdaddr 9c:b7:0d:80:ce:6f
Разработка будет продолжена. Цель — реализовать обмен файлами с сотовым телефоном.
Андрей Соколов (keremet at solaris.kirov.ru)
Speak Your Mind