Bluetooth not working on new kernels

After updating my kernel from 5.15 to 5.16, Bluetooth wouldn’t enable. This is a continual issue with 5.18. I have had success re-enabling it in 5.15, but after a few restarts, it suddenly fails again

$ dmesg | egrep -i "(intel|bluetooth)"
[    0.025780] Reserving Intel graphics memory at [mem 0x8b800000-0x8f7fffff]
[    0.107507] smpboot: CPU0: Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz (family: 0x6, model: 0x9e, stepping: 0xa)
[    0.107622] Performance Events: PEBS fmt3+, Skylake events, 32-deep LBR, full-width counters, Intel PMU driver.
[    0.453066] intel_pstate: Intel P-state driver initializing
[    0.453735] intel_pstate: Disabling energy efficiency optimization
[    0.453735] intel_pstate: HWP enabled
[    0.454978] intel_pmc_core INT33A1:00:  initialized
[    2.392604] intel-lpss 0000:00:15.0: enabling device (0000 -> 0002)
[    2.392952] idma64 idma64.0: Found Intel integrated DMA 64-bit
[    2.404130] intel-lpss 0000:00:15.1: enabling device (0000 -> 0002)
[    2.405145] idma64 idma64.1: Found Intel integrated DMA 64-bit
[    2.414219] intel-lpss 0000:00:1e.0: enabling device (0000 -> 0002)
[    2.414646] idma64 idma64.2: Found Intel integrated DMA 64-bit
[    2.783617] Intel(R) Wireless WiFi driver for Linux
[    2.912189] snd_hda_intel 0000:01:00.1: Disabling MSI
[    2.912196] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[    3.164948] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.194714] iTCO_wdt iTCO_wdt: Found a Intel PCH TCO device (Version=6, TCOBASE=0x0400)
[    3.217769] iwlwifi 0000:00:14.3: Detected Intel(R) Wireless-AC 9560 160MHz, REV=0x312
[    3.221727] Bluetooth: Core ver 2.22
[    3.221740] NET: Registered PF_BLUETOOTH protocol family
[    3.221741] Bluetooth: HCI device and connection manager initialized
[    3.221743] Bluetooth: HCI socket layer initialized
[    3.221745] Bluetooth: L2CAP socket layer initialized
[    3.221747] Bluetooth: SCO socket layer initialized
[    3.377287] intel_tcc_cooling: Programmable TCC Offset detected
[    3.762310] intel_rapl_common: Found RAPL domain package
[    3.762311] intel_rapl_common: Found RAPL domain core
[    3.762312] intel_rapl_common: Found RAPL domain uncore
[    3.762312] intel_rapl_common: Found RAPL domain dram
[    4.485939] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input20
[    4.502208] Bluetooth: hci0: Bootloader revision 0.1 build 42 week 52 2015
[    4.503207] Bluetooth: hci0: Device revision is 2
[    4.503209] Bluetooth: hci0: Secure boot is enabled
[    4.503210] Bluetooth: hci0: OTP lock is enabled
[    4.503211] Bluetooth: hci0: API lock is enabled
[    4.503212] Bluetooth: hci0: Debug lock is disabled
[    4.503213] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[    4.505745] Bluetooth: hci0: Found device firmware: intel/ibt-17-16-1.sfi
[    4.505770] Bluetooth: hci0: Boot Address: 0x40800
[    4.505771] Bluetooth: hci0: Firmware Version: 214-6.22
[    5.663798] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    5.663800] Bluetooth: BNEP filters: protocol multicast
[    5.663803] Bluetooth: BNEP socket layer initialized
[    5.973658] Bluetooth: hci0: Waiting for firmware download to complete
[    5.974171] Bluetooth: hci0: Firmware loading failed
[    5.975178] Bluetooth: hci0: MSFT supported features length mismatch
$ lsusb                                                                                        
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0408:a060 Quanta Computer, Inc. HD Webcam
Bus 001 Device 002: ID 045e:07a5 Microsoft Corp. Wireless Receiver 1461C
Bus 001 Device 004: ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ bluetoothctl show
No default controller available

No idea if is related with secure boot from BIOS, but that should be disabled anyway.
Enable the bluetooth.service in systemd if is not.
Do you use the laptop-mode tools? Disabling the runtime-pm module might help.
Also, have you tried to add in /etc/modprobe.d/ a file like bt_fix.conf with this content in it:

options iwlwifi 11n_disable=1 swcrypto=0 bt_coex_active=0 power_save=0 uapsd_disable=1
options iwlmvm power_scheme=1

In principle it should let your wifi work while bluetooth also works … once you reboot.

Thank you for the quick response. The Bluetooth service is active so for now, I will keep secure boot enabled. On tlpui, I disabled runtime-pm on battery and will see if that works consistently.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.