Hello, (Sorry by advance if it's not the correct place to discuss that, but I tried other place like my distro kernel forum (https://bbs.archlinux.org/viewtopic.php?id=286929), interactive chat, etc and nobody was able to help). [1] == Short summary == I have a lenovo T14S AMD Gen 3 with a *Qualcomm NFA725A* Wi-Fi card (which is actually reported by lspci as QCNFA765) and bluetooth never worked on it, failing to load the rampatch with "failed to send header" or "failed to send body" or "Failed to access otp area (-71)". Other people reports bluetooth as working (https://wiki.archlinux.org/title/Lenovo_ThinkPad_T14s_(AMD)_Gen_3) and a work friend has a T16 AMD gen1 which seems to have exactly the same chipset and work flowlessly. So perhaps it's an hardware issue, but I don't know how to qualify it if so. => How can this be further qualified/debuged/workarounded? Any help, even RTFM pointing to corresponding manuals would be very much appreciated. [2] == logs and more details == I have that laptop since october 2022 and use archlinux with the standard kernels. None made bluetooth wroked since then. First install was around linux 6.0.10 and current kernel: 6.4.10-arch1-10. There is nothing obvious in bios setting that could lead to that (bluetooth is enabled). # LSPCI lspci -k -s 01:00.0 01:00.0 Network controller: Qualcomm Technologies, Inc QCNFA765 Wireless Network Adapter (rev 01) Subsystem: Lenovo QCNFA765 Wireless Network Adapter Kernel driver in use: ath11k_pci Kernel modules: ath11k_pci # kernel boot log: "Failed to send headers (-71)" kernel: thinkpad_acpi: radio switch found; radios are enabled kernel: thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver kernel: thinkpad_acpi: Disabling thinkpad-acpi brightness events by default ... kernel: thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked ... rfkill[6774]: unblock set for type bluetooth sudo[6773]: pam_unix(sudo:session): session closed for user root kernel: usb 1-3.1: new full-speed USB device number 3 using xhci_hcd kernel: usb 1-3.1: New USB device found, idVendor=10ab, idProduct=9309, bcdDevice= 0.01 kernel: usb 1-3.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 boltd[935]: probing: started [1000] kernel: Bluetooth: Core ver 2.22 kernel: NET: Registered PF_BLUETOOTH protocol family kernel: Bluetooth: HCI device and connection manager initialized kernel: Bluetooth: HCI socket layer initialized kernel: Bluetooth: L2CAP socket layer initialized kernel: Bluetooth: SCO socket layer initialized kernel: usbcore: registered new interface driver btusb systemd[1328]: Reached target Bluetooth. kernel: Bluetooth: hci0: using rampatch file: qca/rampatch_usb_00130201.bin kernel: Bluetooth: hci0: QCA: patch rome 0x130201 build 0x5073, firmware rome 0x130201 build 0x38e6 kernel: Bluetooth: hci0: Failed to send headers (-71) systemd[1]: Starting Bluetooth service... bluetoothd[6866]: Bluetooth daemon 5.66 systemd[1]: Started Bluetooth service. systemd[1]: Reached target Bluetooth Support. bluetoothd[6866]: Starting SDP server bluetoothd[6866]: profiles/audio/vcp.c:vcp_init() D-Bus experimental not enabled # rfkill status sudo rfkill ID TYPE DEVICE SOFT HARD 0 bluetooth tpacpi_bluetooth_sw blocked unblocked 1 wlan phy0 unblocked unblocked # when trying to unlock: "failed to send body at 40 of 142192 (-71)" rfkill[105640]: unblock set for type bluetooth sudo[105639]: pam_unix(sudo:session): session closed for user root kernel: usb 1-3.1: new full-speed USB device number 4 using xhci_hcd kernel: usb 1-3.1: New USB device found, idVendor=10ab, idProduct=9309, bcdDevice= 0.01 kernel: usb 1-3.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 kernel: Bluetooth: hci0: using rampatch file: qca/rampatch_usb_00130201.bin kernel: Bluetooth: hci0: QCA: patch rome 0x130201 build 0x5073, firmware rome 0x130201 build 0x38e6 kernel: Bluetooth: hci0: Failed to send body at 40 of 142192 (-71) kernel: usb 1-3.1: USB disconnect, device number 4 boltd[935]: probing: started [1000] systemd[1328]: Reached target Bluetooth. systemd[1328]: Stopped target Bluetooth. systemd[1]: Reached target Bluetooth Support. systemd[1]: Stopped target Bluetooth Support. # unloading and loading back kernel related modules (`bluetooth`, `btusb`, etc) and modprobe them back, and I get the same kind of logs after `rfkill unblock bluetoot`: rfkill[106483]: unblock set for type bluetooth sudo[106482]: pam_unix(sudo:session): session closed for user root kernel: usb 1-3.1: new full-speed USB device number 5 using xhci_hcd kernel: usb 1-3.1: New USB device found, idVendor=10ab, idProduct=9309, bcdDevice= 0.01 kernel: usb 1-3.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 kernel: usb 1-3.1: Failed to access otp area (-71) kernel: usb 1-3.1: USB disconnect, device number 5 boltd[935]: probing: started [1000] systemd[1328]: Reached target Bluetooth. systemd[1]: Reached target Bluetooth Support. systemd[1328]: Stopped target Bluetooth. systemd[1]: Stopped target Bluetooth Support. boltd[935]: probing: timeout, done: [3001068] (2000000) Have a nice day
Created attachment 304965 [details] lsmod I failed to attach lsmod, so here we go.
For info, I find that subject: https://superuser.com/a/1451102 So I tried to disable bluetooth in bios, boot, re-enable bluetooth in bios. With that, I was able to "unblock" the bluetooth adaptater in rfkill. But I still didn't have any controler listed in `bluethoothctl list`. I then tried to disable laptot battery ("power > servicing" option in bios) to see if a full cold restart does something. It does: I've came back to the initial state, where the controler can't be enabled at all. I tried the disable-then-enable-bluetooth-in-bios trick, but that time it doesn't do anything. I also notice than early in boot, I have that message: --- kernel: usb usb1-port3: connect-debounce failed --- Which seems to be link to the bluetooth controler (I don't have the message when bluetooth is disabled in bios). So it looks like an hardware problem right?
More information on that subject: - the bluetooth antenna was physically disconnect from the chipset, I reconnected it. - now, I'm able to have bluetooth from an old ubuntu 22.04 live usb key, - I still don't have it from a modern linux 6.6.4 arch kernel The main difference I noticed happened when the firmware is loaded: - on ubuntu, where it works: Dec 08 07:00:36 ubuntu kernel: usb 1-3: new high-speed USB device number 2 using xhci_hcd ... Decrep 08 07:00:36 ubuntu kernel: usb 1-3.1: new full-speed USB device number 3 using xhci_hcd Dec 08 07:00:36 ubuntu kernel: usb 1-3.1: New USB device found, idVendor=10ab, idProduct=9309, bcdDevice= 0.01 Dec 08 07:00:36 ubuntu kernel: usb 1-3.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 ... Dec 08 07:00:37 ubuntu kernel: thinkpad_acpi: radio switch found; radios are enabled ... Dec 08 07:00:37 ubuntu kernel: thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked .... - on the newer kernel: Dec 08 08:54:42 lalande21185 kernel: thinkpad_acpi: radio switch found; radios are enabled ... Dec 08 08:54:42 lalande21185 kernel: thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked Dec 08 07:00:3Dec 08 08:56:14 lalande21185 kernel: usb 1-3.1: new full-speed USB device number 5 using xhci_hcd Dec 08 08:56:14 lalande21185 kernel: usb 1-3.1: New USB device found, idVendor=10ab, idProduct=9309, bcdDevice= 0.01 Dec 08 08:56:14 lalande21185 kernel: usb 1-3.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 Dec 08 08:56:15 lalande21185 kernel: Bluetooth: hci0: using rampatch file: qca/rampatch_usb_00130201.bin Dec 08 08:56:15 lalande21185 kernel: Bluetooth: hci0: QCA: patch rome 0x130201 build 0x65e2, firmware rome 0x130201 build 0x38e6 Dec 08 08:56:15 lalande21185 kernel: Bluetooth: hci0: Failed to send headers (-71) Dec 08 08:56:15 lalande21185 kernel: usb 1-3.1: USB disconnect, device number 5 8 ubuntu kernel: Bluetooth: hci0: using NVM file: qca/nvm_usb_00130201_gf.bin Could it have something to do with the `thinkpad_acpi` module? The exact rome build is not the same too, which is expected I think for a newer kernel