Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.15.10, 6.5.2
-
None
-
Arch linux x86_64 with Qt 5.15.10 (from the arch linux repos)
Description
I have a device which has 2 hci devices on linux, the primary is a piece of sh... by intel which just flat out is an entirely broken piece of hardware/software, and the second is a dongle that I have plugged in via USB. hci0 is disabled in rfkill and hci1 is enabled - this works fine from tools like bluetoothctl, however in Qt it just seems that no bluetooth functionality works, can't scan or anything. No errors seem to be emitted on the command line, the only output is the singlular line that I always get "qt.bluetooth.bluez: Missing CAP_NET_ADMIN permission. Cannot determine whether a found address is of random or public type."
rfkill output:
rfkill ID TYPE DEVICE SOFT HARD 0 wlan dell-wifi blocked unblocked 1 bluetooth dell-bluetooth unblocked unblocked 2 wwan dell-wwan blocked unblocked 4 wlan phy0 blocked blocked 5 bluetooth hci0 blocked unblocked 6 bluetooth hci1 unblocked unblocked
bluetoothctl output:
bluetoothctl hci0 new_settings: bondable ssp br/edr le secure-conn hci1 new_settings: powered bondable le secure-conn static-addr Agent registered [CHG] Controller DC:**:**:**:**:21 Pairable: yes [CHG] Controller D1:**:**:**:**:6F Pairable: yes [bluetooth]# show Controller D1:**:**:**:**:6F (random) Name: *** #2 Alias: *** #2 Class: 0x00000000 (0) Powered: yes Discoverable: no DiscoverableTimeout: 0x000000b4 (180) Pairable: yes UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb) UUID: Handsfree Audio Gateway (0000111f-0000-1000-8000-00805f9b34fb) UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb) UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb) UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb) UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb) UUID: Handsfree (0000111e-0000-1000-8000-00805f9b34fb) Modalias: usb:v1D6Bp0246d0545 Discovering: no Roles: central Roles: peripheral Advertising Features: ActiveInstances: 0x00 (0) SupportedInstances: 0x05 (5) SupportedIncludes: tx-power SupportedIncludes: appearance SupportedIncludes: local-name [bluetooth]# show DC:**:**:**:**:21 Controller DC:**:**:**:**:21 (public) Name: *** Alias: *** Class: 0x00000000 (0) Powered: no Discoverable: no DiscoverableTimeout: 0x000000b4 (180) Pairable: yes UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb) UUID: Handsfree Audio Gateway (0000111f-0000-1000-8000-00805f9b34fb) UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb) UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb) UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb) UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb) UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb) UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb) UUID: Handsfree (0000111e-0000-1000-8000-00805f9b34fb) Modalias: usb:v1D6Bp0246d0545 Discovering: no Roles: central Roles: peripheral Advertising Features: ActiveInstances: 0x00 (0) SupportedInstances: 0x0c (12) SupportedIncludes: tx-power SupportedIncludes: appearance SupportedIncludes: local-name SupportedSecondaryChannels: 1M SupportedSecondaryChannels: 2M SupportedSecondaryChannels: Coded [bluetooth]# scan on Discovery started [CHG] Controller D1:**:**:**:**:6F Discovering: yes [NEW] Device ED:**:**:**:**:ED Zephyr [NEW] Device 10:**:**:**:**:25 TP357 (2C25) [NEW] Device 10:**:**:**:**:8D TP357 (DB8D) [NEW] Device 50:**:**:**:**:CF 50-**-**-**-**-CF
If I remove the dongle and re-enable hci0, Qt has some bluetooth functionality i.e. it scan scan and apparently connect to devices (though as said, the intel bluetooth functionality is just broken)
EDIT: I tried also disabling device 1 in rfkill and now hci1 is being used by Qt, so it seems that Qt needs a way to find and use the correct bluetooth device on the system which is active and powered (which might not always be hci0)