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: 2023-02-26 23:59 UTC (History)
33 users (show)

See Also:
Kernel Version: 5.16.0-rc3-1.ge8ae228-default
Tree: Mainline
Subsystem:
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.
Comment 37 Ievgen Popovych 2022-06-15 10:12:44 UTC
So I was trying to reproduce, kept the trace running for a few days or more, but then it never happened and I've stopped tracing.
Now it happened again, on Fedora kernel 5.17.11, when waking up from suspend.
As I am looking though the logs there were total of 4 occurrences of "Reading Intel version command failed", but I think only today I've noticed BT not working and having to do the rmmod dance (few times to fix it).

> Jun 15 10:19:54 ievgen-xps kernel: Bluetooth: hci0: Opcode 0x c01 failed:
> -110
> Jun 15 10:19:54 ievgen-xps kernel: Bluetooth: hci0: command 0x0c01 tx timeout
> Jun 15 10:19:56 ievgen-xps systemd-sleep[311042]: System returned from sleep
> state.
> Jun 15 10:19:56 ievgen-xps bluetoothd[876]: Controller resume with wake event
> 0x0
> Jun 15 10:19:56 ievgen-xps kernel: Bluetooth: hci0: command 0x0c1a tx timeout
> Jun 15 10:19:56 ievgen-xps kernel: Bluetooth: hci0: Opcode 0x c1a failed:
> -110
> Jun 15 10:19:56 ievgen-xps kernel: PM: suspend exit
> Jun 15 10:19:56 ievgen-xps systemd[1]: Starting systemd-rfkill.service -
> Load/Save RF Kill Switch Status...
> Jun 15 10:19:56 ievgen-xps systemd[1]: Stopped target bluetooth.target -
> Bluetooth Support.
> Jun 15 10:19:56 ievgen-xps systemd[1665]: Stopped target bluetooth.target -
> Bluetooth.
> Jun 15 10:19:56 ievgen-xps systemd[1]: Started systemd-rfkill.service -
> Load/Save RF Kill Switch Status.
> Jun 15 10:19:56 ievgen-xps kernel: usb 1-4: new full-speed USB device number
> 39 using xhci_hcd
> Jun 15 10:19:56 ievgen-xps kernel: usb 1-4: New USB device found,
> idVendor=8087, idProduct=0029, bcdDevice= 0.01
> Jun 15 10:19:56 ievgen-xps kernel: usb 1-4: New USB device strings: Mfr=0,
> Product=0, SerialNumber=0
> Jun 15 10:19:56 ievgen-xps upowerd[902]: treating change event as add on
> /sys/devices/pci0000:00/0000:00:14.0/usb1/1-4
> Jun 15 10:19:56 ievgen-xps systemd[1]: Reached target bluetooth.target -
> Bluetooth Support.
> Jun 15 10:19:56 ievgen-xps systemd[1665]: Reached target bluetooth.target -
> Bluetooth.
...
> Jun 15 10:19:58 ievgen-xps kernel: Bluetooth: hci0: command 0xfc05 tx timeout
> Jun 15 10:19:58 ievgen-xps kernel: Bluetooth: hci0: Reading Intel version
> command failed (-110)
Comment 38 Viktor Kuzmin 2022-06-15 11:17:55 UTC
Following patch fixes problem for me:

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index ea72afb..b94a6da 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -714,7 +714,7 @@ static void btusb_qca_cmd_timeout(struct hci_dev *hdev)
                }

                gpiod_set_value_cansleep(reset_gpio, 0);
-               msleep(200);
+               msleep(500);
                gpiod_set_value_cansleep(reset_gpio, 1);

                return;
Comment 39 Piero Avola 2022-06-30 14:16:39 UTC
The problem still occurs for me:

$ uname -r
> 5.18.7-arch1-1

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

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

Sometimes reloading btusb via modprobe fixes the issue, on my current boot the two lines from dmesg just repeat.

Bluetooth hasn't worked reliably since 5.14 with this device, it's a huge inconvenience.

I'm gonna try out the fix posted in the message before. If there's anything I can do to help, please let me know.
Comment 40 Piero Avola 2022-08-18 15:03:16 UTC
The problem persists in 5.19

# dmesg | grep -i bluetooth
> [    2.433304] Bluetooth: Core ver 2.22
> [    2.433317] NET: Registered PF_BLUETOOTH protocol family
> [    2.433318] Bluetooth: HCI device and connection manager initialized
> [    2.433322] Bluetooth: HCI socket layer initialized
> [    2.433324] Bluetooth: L2CAP socket layer initialized
> [    2.433326] Bluetooth: SCO socket layer initialized
> [    3.625145] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
> [    3.625147] Bluetooth: BNEP filters: protocol multicast
> [    3.625149] Bluetooth: BNEP socket layer initialized
> [    4.720010] Bluetooth: hci0: Reading Intel version command failed (-110)
> [    4.720011] Bluetooth: hci0: command 0xfc05 tx timeout
Comment 41 Patrick Blesi 2022-09-27 02:53:15 UTC
I am experiencing the same problem with 5.15.67 for USB Device USB_DEVICE(0x8087, 0x0aaa).

~ $ uname -a
Linux a0d7b954-ssh 5.15.67 #1 SMP Tue Sep 13 13:54:38 UTC 2022 x86_64 Linux

~ $ lsusb
Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 003: ID 1043:8012
Bus 002 Device 001: ID 1d6b:0003
Bus 001 Device 002: ID 8087:0aaa

~ $ dmesg | grep -i bluetooth
[    0.454719] Bluetooth: Core ver 2.22
[    0.454904] NET: Registered PF_BLUETOOTH protocol family
[    0.455504] Bluetooth: HCI device and connection manager initialized
[    0.455896] Bluetooth: HCI socket layer initialized
[    0.456392] Bluetooth: L2CAP socket layer initialized
[    0.456894] Bluetooth: SCO socket layer initialized
[    4.452912] Bluetooth: hci0: Reading Intel version command failed (-110)
[    4.452955] Bluetooth: hci0: command 0xfc05 tx timeout
[    4.498402] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.498405] Bluetooth: BNEP filters: protocol multicast
[    4.498409] Bluetooth: BNEP socket layer initialized
Comment 42 Patrick Blesi 2022-09-29 00:49:35 UTC
(In reply to Patrick Blesi from comment #41)
> I am experiencing the same problem with 5.15.67 for USB Device
> USB_DEVICE(0x8087, 0x0aaa).
> 
> ~ $ uname -a
> Linux a0d7b954-ssh 5.15.67 #1 SMP Tue Sep 13 13:54:38 UTC 2022 x86_64 Linux
> 
> ~ $ lsusb
> Bus 001 Device 001: ID 1d6b:0002
> Bus 001 Device 003: ID 1043:8012
> Bus 002 Device 001: ID 1d6b:0003
> Bus 001 Device 002: ID 8087:0aaa
> 
> ~ $ dmesg | grep -i bluetooth
> [    0.454719] Bluetooth: Core ver 2.22
> [    0.454904] NET: Registered PF_BLUETOOTH protocol family
> [    0.455504] Bluetooth: HCI device and connection manager initialized
> [    0.455896] Bluetooth: HCI socket layer initialized
> [    0.456392] Bluetooth: L2CAP socket layer initialized
> [    0.456894] Bluetooth: SCO socket layer initialized
> [    4.452912] Bluetooth: hci0: Reading Intel version command failed (-110)
> [    4.452955] Bluetooth: hci0: command 0xfc05 tx timeout
> [    4.498402] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
> [    4.498405] Bluetooth: BNEP filters: protocol multicast
> [    4.498409] Bluetooth: BNEP socket layer initialized

This was actually a red herring. The issue was manifested by not connecting my Bluetooth PCI devices as a passthrough to my lxd virtual machine. To resolve I removed the Bluetooth USB device (0x8087, 0x0aaa) and added the PCI controller and shared RAM PCI controller in the same iommu group.

00:14.0 USB controller: Intel Corporation Cannon Point-LP USB 3.1 xHCI Controller (rev 30) 
00:14.2 RAM memory: Intel Corporation Cannon Point-LP Shared SRAM (rev 30)
Comment 43 RockT 2022-12-05 11:36:19 UTC
I see this problem with the switch of kernel 6.0 (all versions work) to 6.1.0rc7.
Bluetooth has stopped working. :(

$ dmesg |grep -i bluetooth
[    0.890611] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
[    9.373051] Bluetooth: Core ver 2.22
[    9.373087] NET: Registered PF_BLUETOOTH protocol family
[    9.373088] Bluetooth: HCI device and connection manager initialized
[    9.373093] Bluetooth: HCI socket layer initialized
[    9.373096] Bluetooth: L2CAP socket layer initialized
[    9.373102] Bluetooth: SCO socket layer initialized
[    9.667105] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    9.667109] Bluetooth: BNEP filters: protocol multicast
[    9.667114] Bluetooth: BNEP socket layer initialized
[   11.669721] Bluetooth: hci0: Reading Intel version command failed (-110)
[   11.669725] Bluetooth: hci0: command 0xfc05 tx timeout

Sys: Lenovo Thinkpad T14s Gen2
lspci:
$ lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne Root Complex
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne IOMMU
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
00:02.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge
00:02.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge
00:02.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge
00:02.5 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge
00:02.7 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 51)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 5
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 6
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 7
01:00.0 Non-Volatile memory controller: Shenzhen Unionmemory Information System Ltd. Device 6304 (rev 03)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0e)
03:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
04:00.0 Unassigned class [ff00]: Quectel Wireless Solutions Co., Ltd. EM120R-GL LTE Modem
05:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02)
06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev d1)
06:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller
06:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor
06:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1
06:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1
06:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor (rev 01)
06:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller

Any further info to provide?
Comment 44 matoro 2022-12-28 15:18:21 UTC
I am also observing this with an AX200.  I keep several old stable kernels, so for bisecting purposes I have found that:

6.0.12 is good
6.0.15 is bad
6.1.1 is bad

Hardware:
07:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
	Subsystem: Intel Corporation Wi-Fi 6 AX200NGW
Comment 45 Oleksandr Natalenko 2023-02-25 20:57:48 UTC
I can confirm this behaviour on v6.2 and AX200. The BT is unusable because the FW doesn't get loaded. Reloading `btusb` module several times makes it working.
Comment 46 Chaim Eliyah 2023-02-26 23:14:02 UTC
+1 AX200 

```
07:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a)
	Subsystem: Intel Corporation Wi-Fi 6 AX200NGW [8086:0084]
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi
```

```
[   25.711840] Bluetooth: Core ver 2.22
[   25.711860] NET: Registered PF_BLUETOOTH protocol family
[   25.711861] Bluetooth: HCI device and connection manager initialized
[   25.711864] Bluetooth: HCI socket layer initialized
[   25.711866] Bluetooth: L2CAP socket layer initialized
[   25.711869] Bluetooth: SCO socket layer initialized
[   25.788390] iwlwifi 0000:07:00.0: loaded firmware version 66.f1c864e0.0 cc-a0-66.ucode op_mode iwlmvm
[   27.783372] Bluetooth: hci0: command 0xfc05 tx timeout
[   27.783378] Bluetooth: hci0: Reading Intel version command failed (-110)
[   28.785728] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   28.785731] Bluetooth: BNEP filters: protocol multicast
[   28.785733] Bluetooth: BNEP socket layer initialized
```

```
celiyah@darkunicorn:~$ sudo systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-02-26 16:43:43 CST; 12min ago
       Docs: man:bluetoothd(8)
   Main PID: 28973 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 76959)
     Memory: 668.0K
        CPU: 38ms
     CGroup: /system.slice/bluetooth.service
             └─28973 /usr/lib/bluetooth/bluetoothd

```

```
celiyah@darkunicorn:~$ bluetoothctl 
Agent registered
[bluetooth]# scan on
No default controller available
quitetooth]# 
```

It's popping up in Ubuntu forums e.g. 
https://askubuntu.com/questions/1448731/bluetooth-not-working-no-controller-available

| Reloading `btusb` module several times makes it working.

Any specific steps for this? I have not been able to get it to work. Issue persists despite reboots incl. hard power off/on. This happened suddenly.

```
celiyah@darkunicorn:~$ uname -a
Linux darkunicorn 5.15.0-56-lowlatency #62-Ubuntu SMP PREEMPT Wed Nov 23 09:50:07 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
celiyah@darkunicorn:~$ lsmod | grep bt
btusb                  61440  0
btrtl                  24576  1 btusb
btbcm                  24576  1 btusb
btintel                40960  1 btusb
bluetooth             708608  12 btrtl,btintel,btbcm,bnep,btusb
```

(I believe the bleeding cutting edge 23.04.1 is the only available bunty release with a 6 kernel line. Could be wrong.)
Comment 47 Chaim Eliyah 2023-02-26 23:15:06 UTC
Sorry, after patching.* Happened suddenly after patching.
Comment 48 Oleksandr Natalenko 2023-02-26 23:59:28 UTC
(In reply to Chaim Eliyah from comment #46)
> | Reloading `btusb` module several times makes it working.
> 
> Any specific steps for this? I have not been able to get it to work. Issue
> persists despite reboots incl. hard power off/on. This happened suddenly.

No specific steps, just `modprobe -r btusb && modprobe btusb`.

I'm not facing the issue regularly, for me it happened only once recently after I powered off the system completely for a couple of days. The issue does not occur across reboots or suspends/resumes. It also doesn't occur after each power off (at least, so far).

I've adopted the patch from c#38 like below just to be on the safe side:

```
commit 2875e3ab82d1777a06a356167c52a745827b2ad1
Author: Oleksandr Natalenko <oleksandr@natalenko.name>
Date:   Sun Feb 26 00:17:09 2023 +0100

    Bluetooth: btusb: work around command 0xfc05 tx timeout
    
    Instead of realoding `btusb` module to tackle this:
    
    ```
    Bluetooth: hci0: command 0xfc05 tx timeout
    Bluetooth: hci0: Reading Intel version command failed (-110)
    ```
    
    increase `btusb_qca_cmd_timeout()` sleep duration while hoping
    for the best.
    
    This looks like an ugly hack.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=215167
    Signed-off-by: Oleksandr Natalenko <oleksandr@natalenko.name>

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 2ad4efdd9e40..7aff6c468c0d 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -901,7 +901,7 @@ static void btusb_qca_cmd_timeout(struct hci_dev *hdev)
 		}
 
 		gpiod_set_value_cansleep(reset_gpio, 0);
-		msleep(200);
+		usleep_range(USEC_PER_SEC / 2, USEC_PER_SEC);
 		gpiod_set_value_cansleep(reset_gpio, 1);
 
 		return;
```

Let me know if you are able to test it.

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