Skip to contentSkip to conversation

New: Cannot find ath3k bluetooth controller attached on USB

Bug 211013 [email protected] 1 participant 2 messages Jan 3, 2021 Bluetooth drivers

lore
Share & tools
lore
#0 lore raw

https://bugzilla.kernel.org/show_bug.cgi?id=211013

            Bug ID: 211013
           Summary: Cannot find ath3k bluetooth controller attached on USB
           Product: Drivers
           Version: 2.5
    Kernel Version: 5.10.x
          Hardware: x86-64
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Bluetooth
          Assignee: [email protected]
          Reporter: [email protected]
        Regression: No

bluetoothctl (from bluez 5.55) cannot find the bluetooth controller on my ar5b22 wireless adapter. However /sys/class/bluetooth/hci0 points to the correct device. rfkill would toggle blocking/unblocking state without problem, but bluez won't be able to find the controller regardless.

Steps to reproduce:

1. Boot up the system
2. Run 'bluetoothctl list'. This will print nothing on my system since this ath3012 is the only bluetooth adapter present, but wasn't found.
3. I checked /sys/class/bluetooth/hci0, where the device file pointed to the correct USB device number.

Dmesg excerpt:

[   11.830504] Bluetooth: Core ver 2.22
[   11.836192] Bluetooth: HCI device and connection manager initialized
[   11.838836] Bluetooth: HCI socket layer initialized
[   11.841382] Bluetooth: L2CAP socket layer initialized
[   11.843458] Bluetooth: SCO socket layer initialized
[   11.964674] Bluetooth: hci0: don't support firmware rome 0x11020000
[   16.815785] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   16.815787] Bluetooth: BNEP filters: protocol multicast
[   16.815794] Bluetooth: BNEP socket layer initialized

The specific piece of hardware from lsusb and lspci:

Bus 001 Device 002: ID 13d3:3395 IMC Networks
23:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network
Adapter (rev 01)

Notably this issue is not present on kernel 5.9.x and looks very similar to bug ID 199271. A regression?

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.
#1 lore raw

[Bug 211013] Cannot find ath3k bluetooth controller attached on USB

https://bugzilla.kernel.org/show_bug.cgi?id=211013

--- Comment #1 from Tianhao Chai ([email protected]) --- Apparently this ver_rom 0x11020000 has never been recorded in qca_devices_table[] defined in btusb.c.

Before 5.10 (i.e. 5.9.x and possibly earlier), the function btusb_setup_qca() will short circuit and return 0 before querying the device table (the following from 5.9.16, btusb.c:3627):

        ver_rom = le32_to_cpu(ver.rom_version);
        /* Don't care about high ROM versions */
        if (ver_rom & ~0xffffU)
                return 0;

Since this check is removed in 5.10.x due to added support of WCN6855 (which has a high ROM version), the driver would return -ENODEV as this 0x11020000 doesn't exist in qca_devices_table in the first place.

I am not sure how this should be resolved. We could check whether ver_rom == 0x11020000 and directly return 0 (and the card would work after that), but I think this is a very dirty approach.

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.