Fwd: Qualcomm NFA725A on T14s AMD Gen3: Bluetooth: hci0: Failed to send headers (or body or access otp area)

From: Bagas Sanjaya
Date: Fri Aug 18 2023 - 06:17:35 EST


Hi,

I notice a bug report on Bugzilla [1]. Quoting from it:

> 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

See Bugzilla for the full thread.

FYI, this is a duplicate of his earlier report [2] that had not seen
any replies. I have added ath11k maintainers to the recipient list
so that this bug can be hopefully addressed.

Thanks.

[1]: https://bugzilla.kernel.org/show_bug.cgi?id=217805
[2]: https://lore.kernel.org/all/977f687e-533f-ebce-a50c-2dde1e1adb99@xxxxxxxxx/

--
An old man doll... just what I always wanted! - Clara