Bug 215167 - Bluetooth: hci0: command 0xfc05 tx timeout
Summary: Bluetooth: hci0: command 0xfc05 tx timeout
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Bluetooth (show other bugs)
Hardware: Intel Linux
: P1 normal
Assignee: linux-bluetooth@vger.kernel.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-29 17:55 UTC by Harri Miettinen
Modified: 2022-05-25 13:44 UTC (History)
24 users (show)

See Also:
Kernel Version: 5.16.0-rc3-1.ge8ae228-default
Tree: Mainline
Regression: No


Attachments
bluetooth card details (8.84 KB, text/plain)
2021-11-29 17:55 UTC, Harri Miettinen
Details
dmesg with 5.15.5 kernel (245.42 KB, text/plain)
2021-11-29 18:07 UTC, Harri Miettinen
Details
dmesg on kernel 5.14.14 bluetooth works (90.73 KB, text/plain)
2021-11-29 21:51 UTC, George Olson
Details
dmesg on kernel 5.15.3 bluetooth fails (87.54 KB, text/plain)
2021-11-29 21:54 UTC, George Olson
Details
hwinfo on kernel 5.14.14 bluetooth works (3.03 MB, text/plain)
2021-11-29 21:54 UTC, George Olson
Details
hwinfo on kernel 5.15.3 bluetooth fails (3.03 MB, text/plain)
2021-11-29 21:54 UTC, George Olson
Details
btusb module load with working kernel (53.92 KB, text/plain)
2021-12-04 10:28 UTC, Harri Miettinen
Details
btusb module load with non working kernel (6.81 KB, text/plain)
2021-12-04 10:29 UTC, Harri Miettinen
Details

Description Harri Miettinen 2021-11-29 17:55:28 UTC
Created attachment 299769 [details]
bluetooth card details

Since kernel 5.14 bluetooth has not worked in my pc.
I have tested this with 5.15.3, 5.15.5 and 5.16.0-rc3-1 all have same issue.


This is what happens if I try to reload the kernel module
# modprobe -r btusb
# modprobe btusb

Nov 29 18:15:35 lenovo kernel: Bluetooth: hci0: Reading Intel version command failed (-110)
Nov 29 18:15:35 lenovo kernel: Bluetooth: hci0: command 0xfc05 tx timeout

This bug has been invastigated in opensuse bugzilla where they asked to raise it here.
https://bugzilla.opensuse.org/show_bug.cgi?id=1193124

I can provide more logs if needed.
Comment 1 Harri Miettinen 2021-11-29 18:07:29 UTC
Created attachment 299771 [details]
dmesg with 5.15.5 kernel
Comment 2 George Olson 2021-11-29 21:50:59 UTC
On my ASUS laptop also no bluetooth after 5.14.14 kernel. 

Here is my journalctl after startup on 5.15.3 kernel where bluetooth failed to work:
> journalctl -b | egrep -i bluetooth
Nov 29 15:37:29 asustribetrek NetworkManager[780]: <info>  [1638221849.3430] Loaded device plugin: NMBluezManager (/usr/lib64/NetworkManager/1.32.12/libnm-device-plugin-bluetooth.so)
Nov 29 15:37:34 asustribetrek systemd[1]: Condition check resulted in Bluetooth service being skipped.
Nov 29 15:37:36 asustribetrek kded5[1774]: bluedevil: Bluetooth operational changed false
Nov 29 15:38:49 asustribetrek sudo[3567]:   george : TTY=pts/1 ; PWD=/home/george/Documents/Tech/bluetoothFail ; USER=root ; COMMAND=/usr/sbin/hwinfo
Nov 29 15:46:51 asustribetrek systemd[1]: Condition check resulted in Bluetooth service being skipped.
Comment 3 George Olson 2021-11-29 21:51:38 UTC
Created attachment 299781 [details]
dmesg on kernel 5.14.14 bluetooth works
Comment 4 George Olson 2021-11-29 21:52:39 UTC
bluetooth card information - only read by system with 5.14.14 kernel
> lsusb | grep -i bluetooth
Bus 003 Device 004: ID 8087:0026 Intel Corp. AX201 Bluetooth
Comment 5 George Olson 2021-11-29 21:54:09 UTC
Created attachment 299783 [details]
dmesg on kernel 5.15.3 bluetooth fails
Comment 6 George Olson 2021-11-29 21:54:32 UTC
Created attachment 299785 [details]
hwinfo on kernel 5.14.14 bluetooth works
Comment 7 George Olson 2021-11-29 21:54:54 UTC
Created attachment 299787 [details]
hwinfo on kernel 5.15.3 bluetooth fails
Comment 8 George Olson 2021-11-29 21:58:44 UTC
when I boot with 5.15.3 kernel, btusb is not loaded onto the kernel.

Results after modprobe btusb:
> lsmod | grep bt
btusb                  65536  0
btrtl                  28672  1 btusb
btbcm                  20480  1 btusb
btintel                45056  1 btusb
bluetooth             729088  4 btrtl,btintel,btbcm,btusb
usbcore               372736  6 xhci_hcd,usbhid,typec,uvcvideo,btusb,xhci_pci

> journalctl -b | egrep -i hci
Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: xHCI Host Controller
Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: new USB bus registered, assigned bus number 1
Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: hcc params 0x20007fc1 hci version 0x120 quirks 0x0000000200009810
Nov 29 15:37:25 asustribetrek kernel: usb usb1: Product: xHCI Host Controller
Nov 29 15:37:25 asustribetrek kernel: usb usb1: Manufacturer: Linux 5.15.3-1-default xhci-hcd
Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: xHCI Host Controller
Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: new USB bus registered, assigned bus number 2
Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: Host supports USB 3.1 Enhanced SuperSpeed
Nov 29 15:37:25 asustribetrek kernel: usb usb2: Product: xHCI Host Controller
Nov 29 15:37:25 asustribetrek kernel: usb usb2: Manufacturer: Linux 5.15.3-1-default xhci-hcd
Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller
Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 3
Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: hcc params 0x20007fc1 hci version 0x120 quirks 0x0000000000009810
Nov 29 15:37:25 asustribetrek kernel: usb usb3: Product: xHCI Host Controller
Nov 29 15:37:25 asustribetrek kernel: usb usb3: Manufacturer: Linux 5.15.3-1-default xhci-hcd
Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller
Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 4
Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: Host supports USB 3.1 Enhanced SuperSpeed
Nov 29 15:37:25 asustribetrek kernel: usb usb4: Product: xHCI Host Controller
Nov 29 15:37:25 asustribetrek kernel: usb usb4: Manufacturer: Linux 5.15.3-1-default xhci-hcd
Nov 29 15:37:26 asustribetrek kernel: usb 3-1: new full-speed USB device number 2 using xhci_hcd
Nov 29 15:37:26 asustribetrek kernel: usb 3-5: new high-speed USB device number 3 using xhci_hcd
Nov 29 15:37:34 asustribetrek sddm-helper[1600]: Adding cookie to "/run/user/1000/xauth_HCineT"
Nov 29 15:56:37 asustribetrek kernel: Bluetooth: HCI device and connection manager initialized
Nov 29 15:56:37 asustribetrek kernel: Bluetooth: HCI socket layer initialized
Comment 9 Takashi Iwai 2021-12-01 14:57:22 UTC
It was confirmed that reverting all btintel.c changes from 5.15.x makes the device working again.  So it's a regression in btintel.c change between 5.14 and 5.15.
Comment 10 Harri Miettinen 2021-12-04 10:28:56 UTC
Created attachment 299861 [details]
btusb module load with working kernel
Comment 11 Harri Miettinen 2021-12-04 10:29:27 UTC
Created attachment 299863 [details]
btusb module load with non working kernel
Comment 12 Takahide Nojima 2021-12-05 07:05:35 UTC
 For reference purposes only, I will report here about the experience of 
similar problem with my laptop. My laptop  also has the intel AX201 and 
the dimidecode command shows  as below, 
---------------here------------
Handle 0x0011, DMI type 1, 27 bytes
System Information
        Manufacturer: HP
        Product Name: HP EliteBook 830 G7 Notebook PC
        Version:  
        Serial Number: XXXXXX
        UUID: xxx-xxx-xxx-xxx
        Wake-up Type: Power Switch
        SKU Number: 20L69PA#ABJ
        Family: 103C_5336AN HP EliteBook
---------------here-----------

 I checked some kernel versions whether AX201 Bluetooth works or not.

As a result, my situation was a little different,
  1. The AX201 works fine in Linux-5.14.16,Linux-5.15.5,Linux-5.16-rc2 
   and Linux-5.16-rc3.
  2. It doesn't work in Linux-5.15.3 and Linux-5.16-rc1.

 The Debian bug tracker reported a similar problem,
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1000403.
According to it, a  commit between 5.15.3 and 5.15.4 can improve 
this problem.

 I'm not sure, but I guess the intel AX201 hardware has some versions, 
and it causes whether the 5.15.5 and 5.16-rc3 works or not, for example.
Comment 13 Takashi Iwai 2021-12-05 08:08:26 UTC
FWIW, a potential fix patch is found in
  https://lore.kernel.org/all/20211202162256.31837-1-tiwai@suse.de/
and being discussed in the thread.

It might be that the entry 8087:0026 in the patch is superfluous, and we need to check more.  But at least it cures the problem with 8087:0a2a.

Check whether you have the timeout error as mentioned in this bug description.  If not, it's something else.  (e.g. the problem with 8087:0026 might be an issue of USB side instead.)
Comment 14 linux 2021-12-08 13:30:51 UTC
I'm having what as far as I can tell is the same problem with 8087:0aa7 (Intel Corp. Wireless-AC 3168 Bluetooth).

Not working on 5.15.6, working on 5.14.14
Comment 15 Erik Rigtorp 2021-12-09 18:10:25 UTC
(In reply to linux from comment #14)
> I'm having what as far as I can tell is the same problem with 8087:0aa7
> (Intel Corp. Wireless-AC 3168 Bluetooth).
> 
> Not working on 5.15.6, working on 5.14.14

I think I have the same problem with 8087:0aa7:
Bus 003 Device 003: ID 8087:0aa7 Intel Corp. Wireless-AC 3168 Bluetooth

What's strange is that at first after reverting to 5.14.18-300.fc35.x86_64 it didn't work. Not sure what made it work, either a cold boot or doing modprobe -r btusb && modprobe btusb a few times.
Comment 16 Takashi Iwai 2021-12-10 09:26:16 UTC
When you add the BTUSB_INTEL_BROKEN_INITIAL_NCMD flag for your device (8087:0aa7) in the blacklist_table[] in btusb.c as in comment 13, does it fix the problem?
Comment 17 Erik Rigtorp 2021-12-11 12:39:15 UTC
(In reply to Takashi Iwai from comment #16)
> When you add the BTUSB_INTEL_BROKEN_INITIAL_NCMD flag for your device
> (8087:0aa7) in the blacklist_table[] in btusb.c as in comment 13, does it
> fix the problem?

Yes, running 5.15.16 tag from linux stable repo with this patch on top fixes the issue:
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 79d0db542da3..0ed04061823b 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -368,7 +368,8 @@ static const struct usb_device_id blacklist_table[] = {
                                                     BTUSB_INTEL_BROKEN_INITIAL_NCMD },
        { USB_DEVICE(0x8087, 0x0a2a), .driver_info = BTUSB_INTEL_COMBINED },
        { USB_DEVICE(0x8087, 0x0a2b), .driver_info = BTUSB_INTEL_COMBINED },
-       { USB_DEVICE(0x8087, 0x0aa7), .driver_info = BTUSB_INTEL_COMBINED },
+       { USB_DEVICE(0x8087, 0x0aa7), .driver_info = BTUSB_INTEL_COMBINED |
+                                                    BTUSB_INTEL_BROKEN_INITIAL_NCMD},
        { USB_DEVICE(0x8087, 0x0aaa), .driver_info = BTUSB_INTEL_COMBINED },
 
        /* Other Intel Bluetooth devices */
Comment 18 Tedd An 2021-12-13 04:26:27 UTC
(In reply to George Olson from comment #8)
> when I boot with 5.15.3 kernel, btusb is not loaded onto the kernel.
> 
> Results after modprobe btusb:
> > lsmod | grep bt
> btusb                  65536  0
> btrtl                  28672  1 btusb
> btbcm                  20480  1 btusb
> btintel                45056  1 btusb
> bluetooth             729088  4 btrtl,btintel,btbcm,btusb
> usbcore               372736  6 xhci_hcd,usbhid,typec,uvcvideo,btusb,xhci_pci
> 
> > journalctl -b | egrep -i hci
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: xHCI Host
> Controller
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: new USB bus
> registered, assigned bus number 1
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: hcc params
> 0x20007fc1 hci version 0x120 quirks 0x0000000200009810
> Nov 29 15:37:25 asustribetrek kernel: usb usb1: Product: xHCI Host Controller
> Nov 29 15:37:25 asustribetrek kernel: usb usb1: Manufacturer: Linux
> 5.15.3-1-default xhci-hcd
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: xHCI Host
> Controller
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: new USB bus
> registered, assigned bus number 2
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: Host supports
> USB 3.1 Enhanced SuperSpeed
> Nov 29 15:37:25 asustribetrek kernel: usb usb2: Product: xHCI Host Controller
> Nov 29 15:37:25 asustribetrek kernel: usb usb2: Manufacturer: Linux
> 5.15.3-1-default xhci-hcd
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: xHCI Host
> Controller
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: new USB bus
> registered, assigned bus number 3
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: hcc params
> 0x20007fc1 hci version 0x120 quirks 0x0000000000009810
> Nov 29 15:37:25 asustribetrek kernel: usb usb3: Product: xHCI Host Controller
> Nov 29 15:37:25 asustribetrek kernel: usb usb3: Manufacturer: Linux
> 5.15.3-1-default xhci-hcd
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: xHCI Host
> Controller
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: new USB bus
> registered, assigned bus number 4
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: Host supports
> USB 3.1 Enhanced SuperSpeed
> Nov 29 15:37:25 asustribetrek kernel: usb usb4: Product: xHCI Host Controller
> Nov 29 15:37:25 asustribetrek kernel: usb usb4: Manufacturer: Linux
> 5.15.3-1-default xhci-hcd
> Nov 29 15:37:26 asustribetrek kernel: usb 3-1: new full-speed USB device
> number 2 using xhci_hcd
> Nov 29 15:37:26 asustribetrek kernel: usb 3-5: new high-speed USB device
> number 3 using xhci_hcd
> Nov 29 15:37:34 asustribetrek sddm-helper[1600]: Adding cookie to
> "/run/user/1000/xauth_HCineT"
> Nov 29 15:56:37 asustribetrek kernel: Bluetooth: HCI device and connection
> manager initialized
> Nov 29 15:56:37 asustribetrek kernel: Bluetooth: HCI socket layer initialized

Hi, George, 
When you have a chance, could you try with 5.16-rc1 kernel? Yours seems different from the above issue (like 8087: 0a2a). Just in case make sure to cold boot after upgrading the kernel.
Comment 19 Tedd An 2021-12-13 04:26:27 UTC
(In reply to George Olson from comment #8)
> when I boot with 5.15.3 kernel, btusb is not loaded onto the kernel.
> 
> Results after modprobe btusb:
> > lsmod | grep bt
> btusb                  65536  0
> btrtl                  28672  1 btusb
> btbcm                  20480  1 btusb
> btintel                45056  1 btusb
> bluetooth             729088  4 btrtl,btintel,btbcm,btusb
> usbcore               372736  6 xhci_hcd,usbhid,typec,uvcvideo,btusb,xhci_pci
> 
> > journalctl -b | egrep -i hci
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: xHCI Host
> Controller
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: new USB bus
> registered, assigned bus number 1
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: hcc params
> 0x20007fc1 hci version 0x120 quirks 0x0000000200009810
> Nov 29 15:37:25 asustribetrek kernel: usb usb1: Product: xHCI Host Controller
> Nov 29 15:37:25 asustribetrek kernel: usb usb1: Manufacturer: Linux
> 5.15.3-1-default xhci-hcd
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: xHCI Host
> Controller
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: new USB bus
> registered, assigned bus number 2
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:0d.0: Host supports
> USB 3.1 Enhanced SuperSpeed
> Nov 29 15:37:25 asustribetrek kernel: usb usb2: Product: xHCI Host Controller
> Nov 29 15:37:25 asustribetrek kernel: usb usb2: Manufacturer: Linux
> 5.15.3-1-default xhci-hcd
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: xHCI Host
> Controller
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: new USB bus
> registered, assigned bus number 3
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: hcc params
> 0x20007fc1 hci version 0x120 quirks 0x0000000000009810
> Nov 29 15:37:25 asustribetrek kernel: usb usb3: Product: xHCI Host Controller
> Nov 29 15:37:25 asustribetrek kernel: usb usb3: Manufacturer: Linux
> 5.15.3-1-default xhci-hcd
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: xHCI Host
> Controller
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: new USB bus
> registered, assigned bus number 4
> Nov 29 15:37:25 asustribetrek kernel: xhci_hcd 0000:00:14.0: Host supports
> USB 3.1 Enhanced SuperSpeed
> Nov 29 15:37:25 asustribetrek kernel: usb usb4: Product: xHCI Host Controller
> Nov 29 15:37:25 asustribetrek kernel: usb usb4: Manufacturer: Linux
> 5.15.3-1-default xhci-hcd
> Nov 29 15:37:26 asustribetrek kernel: usb 3-1: new full-speed USB device
> number 2 using xhci_hcd
> Nov 29 15:37:26 asustribetrek kernel: usb 3-5: new high-speed USB device
> number 3 using xhci_hcd
> Nov 29 15:37:34 asustribetrek sddm-helper[1600]: Adding cookie to
> "/run/user/1000/xauth_HCineT"
> Nov 29 15:56:37 asustribetrek kernel: Bluetooth: HCI device and connection
> manager initialized
> Nov 29 15:56:37 asustribetrek kernel: Bluetooth: HCI socket layer initialized

Hi, George, 
When you have a chance, could you try with 5.16-rc1 kernel? Yours seems different from the above issue (like 8087: 0a2a). Just in case make sure to cold boot after upgrading the kernel.
Comment 20 Takashi Iwai 2021-12-13 08:35:18 UTC
As mentioned in comment 13, the entry with 8087:0026 looks superfluous, might be rather harmless, and should be dropped.  The issue with 8087:0026 is likely a different problem.
Comment 21 Xepher 2022-01-07 03:46:16 UTC
Want to confirm that adding BTUSB_INTEL_BROKEN_INITIAL_NCMD to the table for 8087:0aa7 fixes this issue on kernel 5.15.13 for my system as well.
Comment 22 mns 2022-01-12 07:21:46 UTC
Can confirm that 5.16 at github fixes the isuue in the first post for intel 0x0a2a.

noticed change in btusb.c

- { USB_DEVICE(0x8087, 0x0a2a), .driver_info = BTUSB_INTEL_COMBINED },

+ { USB_DEVICE(0x8087, 0x0a2a), .driver_info = BTUSB_INTEL_COMBINED |
	 				       BTUSB_INTEL_BROKEN_SHUTDOWN_LED },
Comment 23 Ivan 2022-01-14 08:05:50 UTC
same problem with MSI MS-16J4 laptop

Linux 5.16.0-arch1-1 #1 SMP PREEMPT Mon, 10 Jan 2022 20:11:47 +0000 x86_64 GNU/Linux
8087:0a2a Intel Corp. Bluetooth wireless interface

bluetooth is working from cold start until the first reboot or hibernation and failing with hci0: command 0xfc05 tx timeout after.
Comment 24 Serafim 2022-01-14 16:27:32 UTC
Same problem on Dell Vostro 5370, kernel 5.16.0-arch1-1
Intel Corporation Wireless 3165 [8086:3165] (rev 79)

command 0xfc05 tx timeout
Reading Intel version command failed (-110)
Comment 25 youling257 2022-01-21 17:00:38 UTC
suspend to disk after resume,
Bluetooth: hci0: command 0xfc05 tx timeout
Bluetooth: hci0: Reading Intel version command failed (-110)
Comment 26 Viktor Kuzmin 2022-02-09 08:48:47 UTC
My hardware: Dell XPS 7590

Device ID 8087:0029 Intel Corp. AX200 Bluetooth

With linux kernel 5.16.7. By default sometimes bluetooth works and sometimes after reboot or after suspend/resume I have:

Bluetooth: hci0: command 0xfc05 tx timeout

File: drivers/bluetooth/btusb.c
Function: btusb_qca_cmd_timeout

If I disable 'reset_gpio' or change 'msleep(200)' to 'msleep(500)' then bluetooth is working and I have:

[   10.195266] Bluetooth: Core ver 2.22
[   10.197208] Bluetooth: HCI device and connection manager initialized
[   10.197211] Bluetooth: HCI socket layer initialized
[   10.197213] Bluetooth: L2CAP socket layer initialized
[   10.197216] Bluetooth: SCO socket layer initialized
[   10.309387] Bluetooth: hci0: Found device firmware: intel/ibt-20-1-3.sfi
[   10.309454] Bluetooth: hci0: Boot Address: 0x24800
[   10.309457] Bluetooth: hci0: Firmware Version: 125-46.21
[   10.309459] Bluetooth: hci0: Firmware already loaded
[   10.364049] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   10.364053] Bluetooth: BNEP filters: protocol multicast
[   10.364057] Bluetooth: BNEP socket layer initialized
[   10.370006] Bluetooth: hci0: Failed to read codec capabilities (-56)
[   10.371010] Bluetooth: hci0: Failed to read codec capabilities (-56)
[   10.372073] Bluetooth: hci0: Failed to read codec capabilities (-56)
[   10.373040] Bluetooth: hci0: Failed to read codec capabilities (-56)
[   10.374004] Bluetooth: hci0: Failed to read codec capabilities (-56)
[   10.375026] Bluetooth: hci0: Failed to read codec capabilities (-56)
[   10.376009] Bluetooth: hci0: Failed to read codec capabilities (-56)
Comment 27 Priit O. 2022-02-27 13:55:22 UTC
Same problem with MS-7C84/MAG X570 TOMAHAWK WIFI (MS-7C84) and Manjaro:
[    5.048112] Bluetooth: hci0: command 0xfc05 tx timeout
[    5.048112] Bluetooth: hci0: Reading Intel version command failed (-110)
Comment 28 Ievgen Popovych 2022-03-14 11:14:36 UTC
Same issue here on Dell XPS 7590 with Intel AX200 (8087:0029) on kernel 5.16.12 (Fedora kernel 5.16.12-200.fc35.x86_64). 

After boot or suspend I observe:
> kernel: Bluetooth: hci0: command 0xfc05 tx timeout
> kernel: Bluetooth: hci0: Reading Intel version command failed (-110)

and BT doesn't work at all.

When it works there are also these messages
> Bluetooth: hci0: Failed to read codec capabilities (-56)

and that
> kernel: Bluetooth: hci0: Timed out waiting for suspend events
> kernel: Bluetooth: hci0: Suspend timeout bit: 6
> kernel: Bluetooth: hci0: Suspend notifier action (3) failed: -110


This was happening on older kernels as well (oldest I see in the logs I still have is 5.14.14).
Comment 29 Paul Menzel 2022-03-14 12:18:38 UTC
@Ievgen, thank you for the report. Is the non-working Bluetooth a regression too or just the messages? There were some Bluetooth regressions in Linux 5.16 cycle, some them only fixed in Linux 5.17-rc7. Could you please test with that first?

If not, please create a new issue, and reference it here. For the new issue, please do `sudo modprobe -r btusb` and `sudo btmon -w /dev/shm/trace.log` and attach the logs.
Comment 30 Piero Avola 2022-03-15 13:54:55 UTC
The problem still persists in 5.17-rc8. Bluetooth not working after boot and the same errors as in the original report:

# dmesg | grep -i bluetooth
> [    4.588660] Bluetooth: hci0: command 0xfc05 tx timeout
> [    4.588666] Bluetooth: hci0: Reading Intel version command failed (-110)

$ uname -r
> 5.17.0-rc8-1-mainline

$ lsusb | grep -i bluetooth
> Bus 001 Device 002: ID 8087:0029 Intel Corp. AX200 Bluetooth

However modprobe -r btusb && modprobe btusb seems to make bluetooth working again.
Comment 31 Piero Avola 2022-03-16 15:07:36 UTC
(In reply to Piero Avola from comment #30)
> However modprobe -r btusb && modprobe btusb seems to make bluetooth working
> again.

I have to take this back. After rebooting I repeatedly see the errors when trying this:
> Bluetooth: hci0: Reading Intel version command failed (-110)
> Bluetooth: hci0: command tx timeout
Comment 32 Brice Waegeneire 2022-04-06 07:18:54 UTC
I have the same problem with Linux 5.17 and an Intel AX210:


# dmesg | tail -n5
> [132429.090891] Bluetooth: hci0: command 0xfc05 tx timeout
> [136438.549331] usbcore: deregistering interface driver btusb
> [136442.981006] usbcore: registered new interface driver btusb
> [136444.998477] Bluetooth: hci0: command 0xfc05 tx timeout
> [136444.998480] Bluetooth: hci0: Reading Intel version command failed (-110)


$ uname -a
> Linux safou 5.17.1 #1 SMP PREEMPT 1 x86_64 GNU/Linux


$ lsusb | grep -i bluetooth
> Bus 001 Device 008: ID 8087:0032 Intel Corp. AX210 Bluetooth


If you need more information I'm at your disposal.
Comment 33 Bram van den Heuvel 2022-04-08 21:40:03 UTC
Another occurance on 5.17.1 with Intel AX200:

> Apr 08 23:19:05 ArchFrameWork kernel: Bluetooth: Core ver 2.22
> Apr 08 23:19:05 ArchFrameWork kernel: Bluetooth: HCI device and connection
> manager initialized
>Apr 08 23:19:05 ArchFrameWork kernel: Bluetooth: HCI socket layer initialized
>Apr 08 23:19:05 ArchFrameWork kernel: Bluetooth: L2CAP socket layer
>initialized
>Apr 08 23:19:05 ArchFrameWork kernel: Bluetooth: SCO socket layer initialized
>Apr 08 23:19:05 ArchFrameWork systemd[1]: Starting Bluetooth service...
>Apr 08 23:19:05 ArchFrameWork bluetoothd[1198]: Bluetooth daemon 5.64
>Apr 08 23:19:05 ArchFrameWork systemd[1]: Started Bluetooth service.
>Apr 08 23:19:05 ArchFrameWork systemd[1]: Reached target Bluetooth Support.
>Apr 08 23:19:05 ArchFrameWork bluetoothd[1198]: Bluetooth management interface
>1.21 initialized
>Apr 08 23:19:05 ArchFrameWork kernel: Bluetooth: BNEP (Ethernet Emulation) ver
>1.3
>Apr 08 23:19:05 ArchFrameWork kernel: Bluetooth: BNEP filters: protocol
>multicast
>Apr 08 23:19:05 ArchFrameWork kernel: Bluetooth: BNEP socket layer initialized
>Apr 08 23:19:07 ArchFrameWork kernel: Bluetooth: hci0: command 0xfc05 tx
>timeout
>Apr 08 23:19:07 ArchFrameWork kernel: Bluetooth: hci0: Reading Intel version
>command failed (-110)
>Apr 08 23:21:35 ArchFrameWork systemd[1]: Stopped target Bluetooth Support.
>Apr 08 23:21:38 ArchFrameWork systemd[1575]: Reached target Bluetooth.
>Apr 08 23:21:38 ArchFrameWork systemd[1]: Reached target Bluetooth Support.
>Apr 08 23:21:40 ArchFrameWork kernel: Bluetooth: hci0: command 0xfc05 tx
>timeout
>Apr 08 23:21:40 ArchFrameWork kernel: Bluetooth: hci0: Reading Intel version
>command failed (-110)

uname:
> Linux X 5.17.1-arch1-1 #1 SMP PREEMPT Mon, 28 Mar 2022 20:55:33 +0000 x86_64
> GNU/Linux

lsusb:
> Bus 003 Device 004: ID 8087:0029 Intel Corp. AX200 Bluetooth
Comment 34 Sergio Torres 2022-04-09 22:06:31 UTC
I believe I might be experiencing the same issue with my GIGABYTE B450 AORUS PRO WIFI under Manajaro:

uname -r
>5.16.14-1-MANJARO

lsusb | grep -i bluetooth
>Bus 001 Device 002: ID 8087:0aa7 Intel Corp. Wireless-AC 3168 Bluetooth

sudo lsmod | grep bt
>btusb                  65536  0
>btrtl                  28672  1 btusb
>btbcm                  24576  1 btusb
>btintel                45056  1 btusb
>bluetooth             770048  43 btrtl,btintel,btbcm,bnep,btusb,rfcomm

sudo dmesg | grep -i bluetooth                                                                    >[    4.296518] Bluetooth: Core ver 2.22
>[    4.296529] NET: Registered PF_BLUETOOTH protocol family
>[    4.296530] Bluetooth: HCI device and connection manager initialized
>[    4.296532] Bluetooth: HCI socket layer initialized
>[    4.296533] Bluetooth: L2CAP socket layer initialized
>[    4.296535] Bluetooth: SCO socket layer initialized
>[    4.334693] Bluetooth: hci0: Legacy ROM 2.x revision 5.0 build 25 week 20
>2015
>[    4.334695] Bluetooth: hci0: Intel device is already patched. patch num: 3c
>[    4.405834] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
>[    4.405835] Bluetooth: BNEP filters: protocol multicast
>[    4.405837] Bluetooth: BNEP socket layer initialized
>[   16.384308] Bluetooth: RFCOMM TTY layer initialized
>[   16.384314] Bluetooth: RFCOMM socket layer initialized
>[   16.384317] Bluetooth: RFCOMM ver 1.11
>[   18.557782] Bluetooth: hci0: command 0x0c24 tx timeout
>[   20.691116] Bluetooth: hci0: command 0x0c52 tx timeout

Using rmmod btusb and modprobe btusb solves the issue for the rest of the session.
Comment 35 Ievgen Popovych 2022-05-25 13:16:12 UTC
@Paul
I am not exactly sure what you were referring to in your question (regression or not) so I'll answer broadly.

The last occurrence of `kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)` was on 5.16.12. So that one seems to be fixed (did not see it since 5.16.14).

The last occurrence of `command 0xfc05 tx timeout` was on 5.17.8 (i.e. now for me).

Most common commands that suffer from timeouts or errors are 0xfc05, 0x0c01, 0x0c1a, 0x0408.

I will try to collect logs as you've suggested.
Comment 36 Ievgen Popovych 2022-05-25 13:44:32 UTC
I was just looping suspend (mem_sleep deep) trying to reproduce with btmon trace - no luck (13 times).

I've noticed that
> kernel: Bluetooth: hci0: command 0x0c01 tx timeout
> kernel: Bluetooth: hci0: Opcode 0x c01 failed: -110
and
> kernel: Bluetooth: hci0: command 0x0c1a tx timeout
> kernel: Bluetooth: hci0: Opcode 0x c1a failed: -110
occur when exiting suspend and BT is working fine.

Note You need to log in before you can comment on or make changes to this bug.