Bug 218416 - hci0: command 0xfc05 tx timeout in kernel 6.7.1
Summary: hci0: command 0xfc05 tx timeout in kernel 6.7.1
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Bluetooth (show other bugs)
Hardware: Intel Linux
: P3 normal
Assignee: linux-bluetooth@vger.kernel.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-24 14:29 UTC by Nickolas Gupton
Modified: 2024-04-09 19:57 UTC (History)
11 users (show)

See Also:
Kernel Version:
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Nickolas Gupton 2024-01-24 14:29:28 UTC
This issue is still present on kernel 6.7.1 and firmware 20240115. 
Opening a new bug for this as directed in this old bug: https://bugzilla.kernel.org/show_bug.cgi?id=215167

$ uname -a
Linux andromeda 6.7.1-arch1-1 #1 SMP PREEMPT_DYNAMIC Sun, 21 Jan 2024 22:14:10 +0000 x86_64 GNU/Linux

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

$ journalctl -b | egrep -i bluetooth
egrep: warning: egrep is obsolescent; using grep -E
Jan 24 00:20:24 andromeda kernel: Bluetooth: Core ver 2.22
Jan 24 00:20:24 andromeda kernel: NET: Registered PF_BLUETOOTH protocol family
Jan 24 00:20:24 andromeda kernel: Bluetooth: HCI device and connection manager initialized
Jan 24 00:20:24 andromeda kernel: Bluetooth: HCI socket layer initialized
Jan 24 00:20:24 andromeda kernel: Bluetooth: L2CAP socket layer initialized
Jan 24 00:20:24 andromeda kernel: Bluetooth: SCO socket layer initialized
Jan 24 00:20:25 andromeda systemd[1]: Reached target Bluetooth Support.
Jan 24 00:20:25 andromeda NetworkManager[790]: <info>  [1706077225.3441] Loaded device plugin: NMBluezManager (/usr/lib/NetworkManager/1.44.2-3/libnm-device-plugin-bluetooth.so)
Jan 24 00:20:27 andromeda kernel: Bluetooth: hci0: command 0xfc05 tx timeout
Jan 24 00:20:27 andromeda kernel: Bluetooth: hci0: Reading Intel version command failed (-110)

Not sure what other logs or info you need, but just let me know if it would help.
Comment 1 Nickolas Gupton 2024-01-30 14:21:11 UTC
This issue is still present in kernel 6.7.2
Comment 2 Dustin 2024-01-30 17:05:12 UTC
I'm also experiencing this issue. It started with kernel 6.5. Bluetooth has been broken ever since. The issue was not present in earlier versions of the kernel.

```
$ uname -a

Linux 6.5.0-17-generic #17~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 16 14:32:32 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
```

```
$ lsusb | grep -i bluetooth

Bus 001 Device 004: ID 8087:0032 Intel Corp. AX210 Bluetooth
```

```
$ journalctl -b | egrep -i bluetooth

Jan 30 10:28:53 systemd[3247]: Reached target Bluetooth.
Jan 30 10:28:53 systemd[1]: Reached target Bluetooth Support.
Jan 30 10:28:55 kernel: Bluetooth: hci0: command 0xfc05 tx timeout
Jan 30 10:28:55 kernel: Bluetooth: hci0: Reading Intel version command failed (-110)
```

```
linux-firmware/jammy-proposed,now 20220329.git681281e4-0ubuntu3.25 all [installed,automatic]
```
Comment 3 Nickolas Gupton 2024-02-04 10:31:12 UTC
This issue is still present in kernel 6.7.3
Comment 4 Dustin 2024-02-10 23:07:53 UTC
I discovered that Bluetooth starts working again after a cold boot (shutdown, disconnect power for 30 seconds, then boot normally).
Comment 5 Nickolas Gupton 2024-02-11 20:32:18 UTC
Bluetooth still does not work with 6.7.4, however the logs have changed from the error that was shown before:

$ journalctl -b | grep -E -i bluetooth
Feb 11 14:27:14 andromeda kernel: Bluetooth: Core ver 2.22
Feb 11 14:27:14 andromeda kernel: NET: Registered PF_BLUETOOTH protocol family
Feb 11 14:27:14 andromeda kernel: Bluetooth: HCI device and connection manager initialized
Feb 11 14:27:14 andromeda kernel: Bluetooth: HCI socket layer initialized
Feb 11 14:27:14 andromeda kernel: Bluetooth: L2CAP socket layer initialized
Feb 11 14:27:14 andromeda kernel: Bluetooth: SCO socket layer initialized
Feb 11 14:27:14 andromeda kernel: Bluetooth: hci0: Found device firmware: intel/ibt-20-1-3.sfi
Feb 11 14:27:14 andromeda kernel: Bluetooth: hci0: Boot Address: 0x24800
Feb 11 14:27:14 andromeda kernel: Bluetooth: hci0: Firmware Version: 255-255.255
Feb 11 14:27:15 andromeda systemd[1]: Reached target Bluetooth Support.
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: FW download error recovery failed (-19)
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: sending frame failed (-19)
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: Reading supported features failed (-19)
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: Error reading debug features
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: HCI LE Coded PHY feature bit is set, but its usage is not supported.
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: sending frame failed (-19)
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: Failed to read MSFT supported features (-19)
Feb 11 14:27:15 andromeda systemd[1]: Stopped target Bluetooth Support.
Feb 11 14:27:15 andromeda NetworkManager[781]: <info>  [1707683235.5366] Loaded device plugin: NMBluezManager (/usr/lib/NetworkManager/1.44.2-3/libnm-device-plugin-bluetooth.so)
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: Bootloader revision 0.3 build 0 week 24 2017
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: Device revision is 1
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: Secure boot is enabled
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: OTP lock is enabled
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: API lock is enabled
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: Debug lock is disabled
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: Minimum firmware build 1 week 10 2014
Feb 11 14:27:15 andromeda systemd[1]: Reached target Bluetooth Support.
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: Found device firmware: intel/ibt-20-1-3.sfi
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: Boot Address: 0x24800
Feb 11 14:27:15 andromeda kernel: Bluetooth: hci0: Firmware Version: 255-255.255
Feb 11 14:27:17 andromeda kernel: Bluetooth: hci0: Waiting for firmware download to complete
Feb 11 14:27:17 andromeda kernel: Bluetooth: hci0: Firmware loaded in 1386206 usecs
Feb 11 14:27:17 andromeda kernel: Bluetooth: hci0: Waiting for device to boot
Feb 11 14:27:17 andromeda kernel: Bluetooth: hci0: Device booted in 14608 usecs
Feb 11 14:27:17 andromeda kernel: Bluetooth: hci0: Malformed MSFT vendor event: 0x02
Feb 11 14:27:17 andromeda kernel: Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-20-1-3.ddc
Feb 11 14:27:17 andromeda kernel: Bluetooth: hci0: Applying Intel DDC parameters completed
Feb 11 14:27:17 andromeda kernel: Bluetooth: hci0: Firmware revision 0.3 build 249 week 27 2023
Feb 11 14:27:17 andromeda kernel: Bluetooth: hci0: HCI LE Coded PHY feature bit is set, but its usage is not supported.
Comment 6 Jhon 2024-02-15 20:43:57 UTC
I have the same issue as Nickolas, turning off the computer does not help.

The device is also the same: Intel AX200 8087:0029. Mine is on a desktop motherboard.

$ uname -r
6.7.4-arch1-1

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

$ journalctl -b | grep -E -i bluetooth
----
Feb 15 09:06:07 home bluetoothd[948]: Bluetooth management interface 1.22 initialized
Feb 15 09:06:07 home systemd[1]: Started Bluetooth service.
Feb 15 09:06:07 home systemd[1]: Reached target Bluetooth Support.
Feb 15 09:06:07 home NetworkManager[1027]: <info>  [1707980767.6232] Loaded device plugin: NMBluezManager (/usr/lib/NetworkManager/1.44.2-3/libnm-device-plugin-bluetooth.so)
Feb 15 09:06:08 home kernel: Bluetooth: hci0: Reading Intel version command failed (-110)
Feb 15 09:06:08 home kernel: Bluetooth: hci0: command 0xfc05 tx timeout

Same error was present on 6.7.3 and 6.7.2. I believe 6.6.9 was the last version where it worked fine.
Comment 7 Nickolas Gupton 2024-03-09 16:52:51 UTC
Bluetooth is still not working on boot with kernel 6.7.9 with linux-firmware 20240220

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

$ journalctl -b | grep -E -i bluetooth
Mar 09 10:41:19 andromeda kernel: Bluetooth: Core ver 2.22
Mar 09 10:41:19 andromeda kernel: NET: Registered PF_BLUETOOTH protocol family
Mar 09 10:41:19 andromeda kernel: Bluetooth: HCI device and connection manager initialized
Mar 09 10:41:19 andromeda kernel: Bluetooth: HCI socket layer initialized
Mar 09 10:41:19 andromeda kernel: Bluetooth: L2CAP socket layer initialized
Mar 09 10:41:19 andromeda kernel: Bluetooth: SCO socket layer initialized
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Found device firmware: intel/ibt-20-1-3.sfi
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Boot Address: 0x24800
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Firmware Version: 255-255.255
Mar 09 10:41:20 andromeda systemd[1]: Reached target Bluetooth Support.
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: FW download error recovery failed (-19)
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: sending frame failed (-19)
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Reading supported features failed (-19)
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Error reading debug features
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: HCI LE Coded PHY feature bit is set, but its usage is not supported.
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: sending frame failed (-19)
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Failed to read MSFT supported features (-19)
Mar 09 10:41:20 andromeda systemd[1]: Stopped target Bluetooth Support.
Mar 09 10:41:20 andromeda NetworkManager[795]: <info>  [1710002480.4767] Loaded device plugin: NMBluezManager (/usr/lib/NetworkManager/1.46.0-2/libnm-device-plugin-bluetooth.so)
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Bootloader revision 0.3 build 0 week 24 2017
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Device revision is 1
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Secure boot is enabled
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: OTP lock is enabled
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: API lock is enabled
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Debug lock is disabled
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Minimum firmware build 1 week 10 2014
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Found device firmware: intel/ibt-20-1-3.sfi
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Boot Address: 0x24800
Mar 09 10:41:20 andromeda kernel: Bluetooth: hci0: Firmware Version: 255-255.255
Mar 09 10:41:20 andromeda systemd[1]: Reached target Bluetooth Support.
Mar 09 10:41:22 andromeda kernel: Bluetooth: hci0: Waiting for firmware download to complete
Mar 09 10:41:22 andromeda kernel: Bluetooth: hci0: Firmware loaded in 1393326 usecs
Mar 09 10:41:22 andromeda kernel: Bluetooth: hci0: Waiting for device to boot
Mar 09 10:41:22 andromeda kernel: Bluetooth: hci0: Device booted in 14610 usecs
Mar 09 10:41:22 andromeda kernel: Bluetooth: hci0: Malformed MSFT vendor event: 0x02
Mar 09 10:41:22 andromeda kernel: Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-20-1-3.ddc
Mar 09 10:41:22 andromeda kernel: Bluetooth: hci0: Applying Intel DDC parameters completed
Mar 09 10:41:22 andromeda kernel: Bluetooth: hci0: Firmware revision 0.3 build 249 week 27 2023
Mar 09 10:41:22 andromeda kernel: Bluetooth: hci0: HCI LE Coded PHY feature bit is set, but its usage is not supported.


However, if I run this script (may take 2-3 runs sometimes) it will work:

$ cat reset_bluetooth.sh 
modprobe -r btusb
modprobe -r btintel
sleep 2
modprobe btintel
modprobe btusb
sleep 1
systemctl restart bluetooth
Comment 8 Jhon 2024-03-25 09:38:43 UTC
(In reply to Nickolas Gupton from comment #7)
> Bluetooth is still not working on boot with kernel 6.7.9 with linux-firmware
> 20240220
> However, if I run this script (may take 2-3 runs sometimes) it will work:
> 
> $ cat reset_bluetooth.sh 
> modprobe -r btusb
> modprobe -r btintel
> sleep 2
> modprobe btintel
> modprobe btusb
> sleep 1
> systemctl restart bluetooth


Thanks for the script, it actually works after a couple of tries as you say, really great.

I wonder, how did you enable these extra debug messages in journalctl? For example, in mine it doesn't say anything about which firmware files it tries to load.
I was trying to identify what it loads to replace them with some older versions and see if I can make it work that way.


I also want to confirm again that the issue is still present in kernel 6.8.1 with the latest firmware update: 20240312
Comment 9 Olivier Delierre 2024-03-29 08:52:31 UTC
Had the same issue. Somehow, after a long power-off and turning on again, Bluetooth managed to show up and the message was gone. Using an AX200 as well.

Currently using kernel 6.8.2
Comment 10 Gurenko Alex 2024-03-29 16:16:43 UTC
(In reply to Olivier Delierre from comment #9)
> Had the same issue. Somehow, after a long power-off and turning on again,
> Bluetooth managed to show up and the message was gone. Using an AX200 as
> well.
> 
> Currently using kernel 6.8.2

Wow, indeed, after upgrade powered off my desktop, flipped the PSU switch for a few minutes and it worked on boot. This is very weird behavior.
Comment 11 Dustin 2024-03-29 18:31:15 UTC
(In reply to Gurenko Alex from comment #10)
> (In reply to Olivier Delierre from comment #9)
> > Had the same issue. Somehow, after a long power-off and turning on again,
> > Bluetooth managed to show up and the message was gone. Using an AX200 as
> > well.
> > 
> > Currently using kernel 6.8.2
> 
> Wow, indeed, after upgrade powered off my desktop, flipped the PSU switch
> for a few minutes and it worked on boot. This is very weird behavior.

Sadly, its short lived. Mine stopped working again after the first resume from suspend that occurred after the cold boot.
Comment 12 Gurenko Alex 2024-03-29 18:33:21 UTC
(In reply to Dustin from comment #11)
> (In reply to Gurenko Alex from comment #10)
> > (In reply to Olivier Delierre from comment #9)
> > > Had the same issue. Somehow, after a long power-off and turning on again,
> > > Bluetooth managed to show up and the message was gone. Using an AX200 as
> > > well.
> > > 
> > > Currently using kernel 6.8.2
> > 
> > Wow, indeed, after upgrade powered off my desktop, flipped the PSU switch
> > for a few minutes and it worked on boot. This is very weird behavior.
> 
> Sadly, its short lived. Mine stopped working again after the first resume
> from suspend that occurred after the cold boot.

Yes, same here, after normal reboot or shutdown (assuming it happens, because it also hangs on shutdown/reboot now), it **only** works after PSU power cycle
Comment 13 Gabriel 2024-03-29 20:02:28 UTC
(In reply to Gurenko Alex from comment #12)
> (In reply to Dustin from comment #11)
> > (In reply to Gurenko Alex from comment #10)
> > > (In reply to Olivier Delierre from comment #9)
> > > > Had the same issue. Somehow, after a long power-off and turning on
> again,
> > > > Bluetooth managed to show up and the message was gone. Using an AX200
> as
> > > > well.
> > > > 
> > > > Currently using kernel 6.8.2
> > > 
> > > Wow, indeed, after upgrade powered off my desktop, flipped the PSU switch
> > > for a few minutes and it worked on boot. This is very weird behavior.
> > 
> > Sadly, its short lived. Mine stopped working again after the first resume
> > from suspend that occurred after the cold boot.
> 
> Yes, same here, after normal reboot or shutdown (assuming it happens,
> because it also hangs on shutdown/reboot now), it **only** works after PSU
> power cycle

Can confirm here, did the test and only work with complete PSU power cycle. Turn of, waited few seconds and then power on again. 

Have a Intel AX200 chip and Linux archlinux 6.8.2-arch2-1 #1 SMP PREEMPT_DYNAMIC Thu, 28 Mar 2024 17:06:35 +0000 x86_64 GNU/Linux
Comment 14 Jugoslav Gacas 2024-03-30 13:44:30 UTC
I can also confirm the issue. I tried using latest kernel 6.8.2.arch2-1 on arch linux, and also LTS version 6.6.23-1 and on both I see same behavior. 


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

The behavior is exactly the same as other described.
Comment 15 Thomas Creutz 2024-04-03 12:32:22 UTC
I also get:

~$ dmesg | grep -i blue
[   13.838221] Bluetooth: Core ver 2.22
[   13.838236] NET: Registered PF_BLUETOOTH protocol family
[   13.838237] Bluetooth: HCI device and connection manager initialized
[   13.838240] Bluetooth: HCI socket layer initialized
[   13.838241] Bluetooth: L2CAP socket layer initialized
[   13.838244] Bluetooth: SCO socket layer initialized
[   14.329584] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   14.329588] Bluetooth: BNEP filters: protocol multicast
[   14.329590] Bluetooth: BNEP socket layer initialized
[   16.032582] Bluetooth: hci0: Reading Intel version command failed (-110)
[   16.032583] Bluetooth: hci0: command 0xfc05 tx timeout


~$ modinfo btintel
filename:       /lib/modules/6.5.0-26-generic/kernel/drivers/bluetooth/btintel.ko
firmware:       intel/ibt-12-16.ddc
firmware:       intel/ibt-12-16.sfi
firmware:       intel/ibt-11-5.ddc
firmware:       intel/ibt-11-5.sfi
license:        GPL
version:        0.1
description:    Bluetooth support for Intel devices ver 0.1
author:         Marcel Holtmann <marcel@holtmann.org>
srcversion:     FDF2221B8ED4B01F8EADF85
depends:        bluetooth
retpoline:      Y
intree:         Y
name:           btintel
vermagic:       6.5.0-26-generic SMP preempt mod_unload modversions 

~$ lsusb | grep -i bluetooth
Bus 001 Device 005: ID 8087:0025 Intel Corp. Wireless-AC 9260 Bluetooth Adapter
Comment 16 Luiz Von Dentz 2024-04-03 18:28:47 UTC
Can you guys try with the following change:

https://patchwork.kernel.org/project/bluetooth/patch/20240401193515.2525201-1-luiz.dentz@gmail.com/
Comment 17 Robert Holt 2024-04-04 22:50:41 UTC
(In reply to Luiz Von Dentz from comment #16)
> Can you guys try with the following change:
> 
> https://patchwork.kernel.org/project/bluetooth/patch/20240401193515.2525201-
> 1-luiz.dentz@gmail.com/

I have the same issue and applied this patch to my kernel, but it seems to have broken the btintel module. I get a null pointer deref on boot and bluetooth is broken:

[    2.317366] BUG: kernel NULL pointer dereference, address: 0000000000000070
[    2.317699] #PF: supervisor read access in kernel mode
[    2.317993] #PF: error_code(0x0000) - not-present page
[    2.318280] PGD 0 P4D 0
[    2.318283] Oops: 0000 [#1] PREEMPT SMP NOPTI
[    2.318842] CPU: 3 PID: 185 Comm: kworker/u33:0 Not tainted 6.8.3-gentoo-dist #1
[    2.318844] Hardware name: AZW SER/SER, BIOS SER7PRO_P5C8V30 09/15/2023
[    2.318845] Workqueue: hci0 hci_alloc_dev_priv [bluetooth]
[    2.319426] RIP: 0010:btintel_configure_setup+0x245/0x970 [btintel]
[    2.320365] Code: 85 ff 75 a1 f0 41 80 8e 51 06 00 00 02 f0 41 80 8e 51 06 00 00 04 f0 41 80 8e 51 06 00 00 08 49 c7 86 38 17 00 00 b0 63 66 c1 <83> 7b 70 0a 75 7b 48 8b 83 d0 00 00 00 80 78 01 37 75 6e 0f 1f 44
[    2.320691] RSP: 0018:ffffa215005cfd48 EFLAGS: 00010202
[    2.321452] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000080200006
[    2.321760] RDX: 0000000080200007 RSI: ffffd3238404d700 RDI: 0000000000000000
[    2.322437] RBP: ffff91a940ccc6c8 R08: 0000000080200007 R09: 0000000080200006
[    2.322438] R10: 0000000000000001 R11: 0000000000000000 R12: ffff91a940ccc6d0
[    2.322439] R13: ffff91a947f50c00 R14: ffff91a940ccc000 R15: ffff91a940ccca88
[    2.322441] FS:  0000000000000000(0000) GS:ffff91af820c0000(0000) knlGS:0000000000000000
[    2.323737] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    2.323739] CR2: 0000000000000070 CR3: 000000010dfa2000 CR4: 0000000000f50ef0
[    2.323740] PKRU: 55555554
[    2.323740] Call Trace:
[    2.323743]  <TASK>
[    2.326248]  ? __die_body+0x68/0xb0
[    2.326253]  ? page_fault_oops+0x3a3/0x400
[    2.326256]  ? exc_page_fault+0x60/0xf0
[    2.326265]  ? asm_exc_page_fault+0x26/0x30
[    2.326269]  ? btintel_configure_setup+0x245/0x970 [btintel]
[    2.328091]  ? btintel_configure_setup+0x16c/0x970 [btintel]
[    2.328093]  ? __ia32_compat_sys_sysinfo+0x230/0x270
[    2.329006]  hci_dev_open_sync+0x166/0x1610 [bluetooth]
[    2.329013]  ? srso_alias_return_thunk+0x5/0xfbef5
[    2.329015]  ? srso_alias_return_thunk+0x5/0xfbef5
[    2.329016]  ? srso_alias_return_thunk+0x5/0xfbef5
[    2.329018]  hci_alloc_dev_priv+0x164e/0x1bc0 [bluetooth]
[    2.329023]  process_scheduled_works+0x24b/0x450
[    2.329026]  worker_thread+0x2c3/0x420
[    2.329028]  ? __pfx_worker_thread+0x10/0x10
[    2.329030]  kthread+0xe8/0x110
[    2.329032]  ? __pfx_kthread+0x10/0x10
[    2.329033]  ret_from_fork+0x37/0x50
[    2.329036]  ? __pfx_kthread+0x10/0x10
[    2.329038]  ret_from_fork_asm+0x1b/0x30
[    2.329043]  </TASK>
[    2.329043] Modules linked in: amdxcp(+) ac97_bus(+) iwlwifi(+) snd_hda_codec(+) btusb snd_pcm_dmaengine gpu_sched vfat btbcm snd_pci_ps drm_suballoc_helper btintel i2c_algo_bit fat snd_rpl_pci_acp6x kvm(+) drm_ttm_helper snd_hda_core snd_acp_pci btrtl ttm snd_acp_legacy_common btmtk snd_pci_acp6x irqbypass drm_exec snd_hwdep snd_pci_acp5x snd_pcm drm_display_helper bluetooth snd_rn_pci_acp3x wmi_bmof cfg80211 snd_timer snd_acp_config rapl cec snd_soc_acpi snd pcspkr drm_buddy soundcore i2c_piix4 k10temp snd_pci_acp3x rfkill amd_pmc fuse loop nfnetlink crct10dif_pclmul crc32_pclmul crc32c_intel nvme polyval_clmulni polyval_generic ghash_clmulni_intel thunderbolt sha512_ssse3 sha256_ssse3 sha1_ssse3 nvme_core amd_sfh ccp sp5100_tco r8169 nvme_auth realtek video wmi i2c_hid_acpi i2c_hid serio_raw
[    2.329083] CR2: 0000000000000070
[    2.329085] ---[ end trace 0000000000000000 ]---
[    2.329087] RIP: 0010:btintel_configure_setup+0x245/0x970 [btintel]
[    2.329089] Code: 85 ff 75 a1 f0 41 80 8e 51 06 00 00 02 f0 41 80 8e 51 06 00 00 04 f0 41 80 8e 51 06 00 00 08 49 c7 86 38 17 00 00 b0 63 66 c1 <83> 7b 70 0a 75 7b 48 8b 83 d0 00 00 00 80 78 01 37 75 6e 0f 1f 44
[    2.329090] RSP: 0018:ffffa215005cfd48 EFLAGS: 00010202
[    2.329091] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000080200006
[    2.329092] RDX: 0000000080200007 RSI: ffffd3238404d700 RDI: 0000000000000000
[    2.329093] RBP: ffff91a940ccc6c8 R08: 0000000080200007 R09: 0000000080200006
[    2.329093] R10: 0000000000000001 R11: 0000000000000000 R12: ffff91a940ccc6d0
[    2.329094] R13: ffff91a947f50c00 R14: ffff91a940ccc000 R15: ffff91a940ccca88
[    2.329095] FS:  0000000000000000(0000) GS:ffff91af820c0000(0000) knlGS:0000000000000000
[    2.329096] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    2.329096] CR2: 0000000000000070 CR3: 000000010dfa2000 CR4: 0000000000f50ef0
[    2.329097] PKRU: 55555554
[    2.329098] note: kworker/u33:0[185] exited with irqs disabled
Comment 18 Jugoslav Gacas 2024-04-09 12:18:24 UTC
The issue has been fixed for me after upgrading to kernel 6.8.4-arch1-1 on Arch-linux.
Comment 19 Olivier Delierre 2024-04-09 13:04:42 UTC
(In reply to Jugoslav Gacas from comment #18)
> The issue has been fixed for me after upgrading to kernel 6.8.4-arch1-1 on
> Arch-linux.

Can confirm. Upgraded kernel to 6.8.4-arch1-1, removed btusb from the module loading blacklist, powered-off the PC and powering it on again, bluetooth was working.

Tried several things such as rebooting, rebooting on my Windows drive, rebooting to Archlinux again, powering-off: no power-off hanging, and bluetooth was working immediately after each start-up, without having to deal with modprobe anyhow.
Comment 20 Nickolas Gupton 2024-04-09 13:45:43 UTC
I am on kernel 6.8.4 and using firmware 20242312, but Bluetooth is still not working for me:

$ uname -a
Linux andromeda 6.8.4-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 05 Apr 2024 00:14:23 +0000 x86_64 GNU/Linux

$ journalctl -b | grep -E -i bluetooth
Apr 09 07:01:20 andromeda kernel: Bluetooth: Core ver 2.22
Apr 09 07:01:20 andromeda kernel: NET: Registered PF_BLUETOOTH protocol family
Apr 09 07:01:20 andromeda kernel: Bluetooth: HCI device and connection manager initialized
Apr 09 07:01:20 andromeda kernel: Bluetooth: HCI socket layer initialized
Apr 09 07:01:20 andromeda kernel: Bluetooth: L2CAP socket layer initialized
Apr 09 07:01:20 andromeda kernel: Bluetooth: SCO socket layer initialized
Apr 09 07:01:21 andromeda systemd[1]: Reached target Bluetooth Support.
Apr 09 07:01:21 andromeda NetworkManager[794]: <info>  [1712664081.1498] Loaded device plugin: NMBluezManager (/usr/lib/NetworkManager/1.46.0-2/libnm-device-plugin-bluetooth.so)
Apr 09 07:01:23 andromeda kernel: Bluetooth: hci0: Reading Intel version command failed (-110)
Comment 21 Nickolas Gupton 2024-04-09 13:46:50 UTC
Sorry, a typo in my last comment, firmware 20240312 is what I meant.
Comment 22 Gurenko Alex 2024-04-09 14:31:32 UTC
(In reply to Nickolas Gupton from comment #21)
> Sorry, a typo in my last comment, firmware 20240312 is what I meant.

make sure you do full "power on - power off - power on" cycle **with fixed kernel**, it's known that warm boot or older kernel somewhere in this cycle prevent Bluetooth to recover.
Comment 23 Nickolas Gupton 2024-04-09 15:12:14 UTC
Yeah, I turn my PC off every night. Have turned it on from a cold power off every morning for the last year or so this hasn't been working. That doesn't help at all, the only thing that works to get Bluetooth working after boot is running the script I showed in a previous comment.
Comment 24 Wren Turkal 2024-04-09 19:57:44 UTC
Does this have any relation to the message I am seeing in the journal logs after warm boot? Namely this:

Bluetooth: hci0: command 0xfc00 tx timeout

I can confirm that I still get this message on a mainline kernel build.

I have started a thread on linux-bluetooth with the subject "QCA6390 bluetooth doesn't work after warm boot or disable/reenable" if that helps.

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