Возможно ли / Как инициировать соединение Bluetooth PAN / PANU (NAP) со стороны PAN (сервера)? - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь эмулировать процесс подключения автомобильной системы громкой связи с помощью BlueZ 5.37 на машине Ubuntu с профилем NAP.

На машине Ubuntu работает профиль NAP, и я могу успешно подключить клиентские устройстваи использовать функцию модема Bluetooth.

Проблема в том, что мне нужно вручную подключать свое устройство каждый раз, когда я загружаю машину с Ubuntu.Моя цель - сделать так, чтобы машина Ubuntu автоматически подключалась к моему телефону.Процесс сопряжения / доверия уже завершен для устройства.Таким образом, так же, как автомобильная система громкой связи, мне нужно было только перейти к настройкам Bluetooth при первом подключении.В любое другое время, когда я рядом, когда устройство загружается, я должен автоматически подключаться.

Я только запускаю профиль NAP, вот мой вывод команды bluetoothctl show:

[bluetooth]# show Controller 5C:F3:70:88:D5:E1  
Name: BlueZ 5.37    
Alias: Test Bluetooth   
Class: 0x020000     
Powered: yes    
Discoverable: no    
Pairable: yes   
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)  
UUID: NAP                      (00001116-0000-1000-8000-00805f9b34fb)   
UUID: PnP Information          (00001200-0000-1000-8000-00805f9b34fb)   
UUID: Generic Access Profile   (00001800-0000-1000-8000-00805f9b34fb)   
Modalias: usb:v1D6Bp0246d0525   
Discovering: no

В настоящее времяКогда я пытаюсь отправить запрос на соединение со стороны Ubuntu на любое клиентское устройство, которое уже спарено / доверено, я получаю следующий вывод:

[bluetooth]# connect 00:1A:7D:DA:71:0A 
Attempting to connect to 00:1A:7D:DA:71:0A
[CHG] Device 00:1A:7D:DA:71:0A Connected: yes
Failed to connect: org.bluez.Error.NotAvailable
[CHG] Device 00:1A:7D:DA:71:0A Connected: no

Вывод службы Bluetooth выглядит следующим образом, когда я инициируюсоединение со стороны Ubuntu:

Sep 28 03:50:20 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/adapter.c:resume_discovery()
Sep 28 03:50:34 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/device.c:connect_profiles() /org/bluez/hci0/dev_00_1A_7D_DA_71_0A (all), client :1.28
Sep 28 03:50:34 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/device.c:connect_profiles() Resolving services for /org/bluez/hci0/dev_00_1A_7D_DA_71_0A
Sep 28 03:50:35 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/adapter.c:connected_callback() hci0 device 00:1A:7D:DA:71:0A connected eir_len 14
Sep 28 03:50:35 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/device.c:search_cb() 00:1A:7D:DA:71:0A: No service update
Sep 28 03:50:35 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/device.c:device_svc_resolved() /org/bluez/hci0/dev_00_1A_7D_DA_71_0A err 0
Sep 28 03:50:35 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/device.c:connect_profiles() /org/bluez/hci0/dev_00_1A_7D_DA_71_0A (all), client :1.28
Sep 28 03:50:39 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/adapter.c:dev_disconnected() Device 00:1A:7D:DA:71:0A disconnected, reason 2
Sep 28 03:50:39 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/adapter.c:adapter_remove_connection()
Sep 28 03:50:39 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/adapter.c:bonding_attempt_complete() hci0 bdaddr 00:1A:7D:DA:71:0A type 0 status 0xe
Sep 28 03:50:39 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/device.c:device_bonding_complete() bonding (nil) status 0x0e
Sep 28 03:50:39 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/device.c:device_bonding_failed() status 14

Журналы для (успешного) соединения, инициированного клиентским устройством:

Sep 28 03:50:39 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/adapter.c:resume_discovery()
Sep 28 04:23:11 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/src/adapter.c:connected_callback() hci0 device A8:96:75:32:09:E9 connected eir_len 5
Sep 28 04:23:11 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/profiles/network/server.c:confirm_event() BNEP: incoming connect from A8:96:75:32:09:E9
Sep 28 04:23:11 Aruba8320Bluetooth bluetoothd[6240]: ../bluez-5.37/profiles/network/bnep.c:bnep_getsuppfeat() supported features: 0x1
Sep 28 04:23:11 Aruba8320Bluetooth bluetoothd[6240]: bnep: bridge bt-pan: interface bnep0 added

Возможно ли добиться бесшовного переподключения к спаренному Bluetoothустройство, использующее профиль NAP, или требуется ручное подключение каждый раз от клиентских устройств?

Если да, то где я ошибаюсь?

...