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.
Created attachment 299771 [details] dmesg with 5.15.5 kernel
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.
Created attachment 299781 [details] dmesg on kernel 5.14.14 bluetooth works
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
Created attachment 299783 [details] dmesg on kernel 5.15.3 bluetooth fails
Created attachment 299785 [details] hwinfo on kernel 5.14.14 bluetooth works
Created attachment 299787 [details] hwinfo on kernel 5.15.3 bluetooth fails
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
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.
Created attachment 299861 [details] btusb module load with working kernel
Created attachment 299863 [details] btusb module load with non working kernel
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.
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.)
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
(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.
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?
(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 */
(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.
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.
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.
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 },
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.
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)
suspend to disk after resume, Bluetooth: hci0: command 0xfc05 tx timeout Bluetooth: hci0: Reading Intel version command failed (-110)
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)
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)
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).
@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.
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.
(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
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.
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
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.
@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.
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.
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)
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;
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.
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
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
(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)
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?
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
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.
+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.)
Sorry, after patching.* Happened suddenly after patching.
(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.
I'm still encountering this problem with Kernel 6.2.11 (USB ID 8087:0029). However I recently noticed that Bluetooth is almost always available when I wait out the 5 seconds on the GRUB screen during boot. However when I "prematurely" hit enter the bug is almost always there. In general once Bluetooth is working and I only do a reboot rather than disconnecting power for a while, it always stays available no matter how I boot.
There is a workaround found by hmmsjan. su -c "modprobe -r btusb;sleep 2;modprobe btusb" Once bluetooth is working it will stay working even after reboots. The following is a link to the discussion leading to this workaround. https://forums.fedoraforum.org/showthread.php?330365-F38-blueberry-is-missing
(In reply to Dan from comment #50) > There is a workaround found by hmmsjan. > > su -c "modprobe -r btusb;sleep 2;modprobe btusb" Unfortunately that workaround does not work 100% of the time. Usually re-running it after 10-15 does the job, but also that does not always work for me. In either case that doesn't solve the problem. Bluetooth should work after every boot without intervention. I'll see if I get around testing the patch from comment #48.
For me, only a horrible modprobe -r xhci_pci && modprobe xhci_pci seems to make it work against without a reboot.
Another note. This also breaks after resuming from hibernate and not only a shutdown.
(In reply to matoro from comment #44) > 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 I have the same controller on an Asus B550M-A (Wi-Fi): 09:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a) And I got the same error on kernel 6.5: [ 10.644458] Bluetooth: hci0: command 0xfc05 tx timeout [ 10.644685] Bluetooth: hci0: Reading Intel version command failed (-110) 6.4.14 is good 6.5.0 is bad 6.5.1 is bad However, I checked back and for me kernel 6.0.14 and 6.0.15 both work, which made me suspect a firmware difference. So I grabbed to latest version from linux-firmware.git and tried again. Now 6.5.1 works again. So it seems the issue is specific to certain firmware / kernel combinations. My previous firmware: [ 8.528961] Bluetooth: hci0: Found device firmware: intel/ibt-20-1-3.sfi [ 8.528974] Bluetooth: hci0: Boot Address: 0x24800 [ 8.528976] Bluetooth: hci0: Firmware Version: 126-5.22 ... [ 14.992585] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-20-1-3.ddc [ 15.001435] Bluetooth: hci0: Applying Intel DDC parameters completed [ 15.006447] Bluetooth: hci0: Firmware revision 0.3 build 126 week 5 2022 The new firmware: [ 9.707218] Bluetooth: hci0: Found device firmware: intel/ibt-20-1-3.sfi [ 9.707231] Bluetooth: hci0: Boot Address: 0x24800 [ 9.707233] Bluetooth: hci0: Firmware Version: 255-255.255 ... [ 16.179006] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-20-1-3.ddc [ 16.187931] Bluetooth: hci0: Applying Intel DDC parameters completed [ 16.192850] Bluetooth: hci0: Firmware revision 0.3 build 249 week 27 2023
My AX200 based blueooth hasn't worked on my arch linux for a while (with the same errors), but cannot say at which kernel version change exactly it broke. Just updated my arch linux to kernel 6.7.0-arch3-1 #1 SMP PREEMPT_DYNAMIC Sat, 13 Jan 2024 14:37:14 +0000 x86_64 GNU/Linux and it's still broken. Inspired by Arjans answer, I downloaded linux-firmware-20230323.gitbcdcfbcf from some ubuntu package, and did a mv -i ibt-20-1-3.sfi ibt-20-0-3.sfi /lib/firmware/intel/ and it works again! Here's the broken arch firmwares: f22358f118acb67b26cb8cac8443e09a ibt-20-0-3.sfi.zst f22358f118acb67b26cb8cac8443e09a ibt-20-1-3.sfi.zst Here are the working ubuntu gitbcdcfbcf firmwares: # md5sum ibt-20-1-3.sfi ibt-20-0-3.sfi dda190be754f26625955b73f05fc2ba2 ibt-20-1-3.sfi 217eaf48a8a825b2f95fd49c241188f5 ibt-20-0-3.sfi Hope this may help somebody.
last one sounds like zstd support is missing in the kernel
This bug report has become unintelligible. Please file a new one if you're still affected. Make sure you have verified kernel 6.6.13 or 6.7.1 with the latest firmware.
@Harri, @George, reading the openSUSE report it sounds like *your* issue – not others commented here – should be fixed in 5.16.1. Can you please comment here on the current state for some conclusion.
Yes the original issue was fixed long time ago. I have changed my computer since so I can't verify if problem has appeared again.