Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-116664

Bluetooth (linux) non-functional if 2 hci devices present and hci0 is disabled

    XMLWordPrintable

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)
    • Linux/X11

    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)

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            ablasche Alex Blasche
            thedjnk Mr nK
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes