#1069200 linux-image-6.1.0-20-amd64: Intel AX201 bluetooth broken

#1069200#5
Date:
2024-04-17 21:38:13 UTC
From:
To:
Dear Maintainer,

Intel AX201 bluetooth is not working on this new kernel.  It still does work if
I boot the previous kernel (linux-image-6.1.0-18-amd64).
dmesg output contains:
[    2.126027] bluetooth hci0: firmware: failed to load intel/ibt-19-0-4.sfi
(-2)
[    2.126046] bluetooth hci0: firmware: failed to load intel/ibt-19-0-4.sfi
(-2)
[    2.126058] Bluetooth: hci0: Failed to load Intel firmware file
intel/ibt-19-0-4.sfi (-2)

I confirmed that I do have these firmware files.

#1069200#10
Date:
2024-04-22 18:47:20 UTC
From:
To:
I believe this error is occuring on linux-image-6.1.10-20-amd64 and not
linux-image-6.1.18-amd64 because the initramfs includes btusb and btintel
for that image.  I was able to fix the error on my local machine by running
update-initramfs using a module list that did not contain those two modules.

#1069200#15
Date:
2024-12-30 15:48:50 UTC
From:
To:
Dear Maintainer,

I've got a similar problem when booting my laptop with an Intel Corp. AX200
Bluetooth device. The device doesn't come up at boot with the following error
message:

$ sudo dmesg | grep Bluetooth
[    7.442233] Bluetooth: Core ver 2.22
[    7.442258] Bluetooth: HCI device and connection manager initialized
[    7.442262] Bluetooth: HCI socket layer initialized
[    7.442265] Bluetooth: L2CAP socket layer initialized
[    7.442269] Bluetooth: SCO socket layer initialized
[    8.384949] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    8.384953] Bluetooth: BNEP filters: protocol multicast
[    8.384956] Bluetooth: BNEP socket layer initialized
[    9.800251] Bluetooth: hci0: Reading Intel version command failed (-110)

However, when reloading the module later, the driver loads fine:
$ sudo rmmod btusb btintel
$ sudo modprobe btintel
$ sudo modprobe btusb

$ sudo dmesg | grep Bluetooth
[  389.464643] Bluetooth: hci0: Bootloader revision 0.3 build 0 week 24 2017
[  389.466652] Bluetooth: hci0: Device revision is 1
[  389.466657] Bluetooth: hci0: Secure boot is enabled
[  389.466660] Bluetooth: hci0: OTP lock is enabled
[  389.466662] Bluetooth: hci0: API lock is enabled
[  389.466664] Bluetooth: hci0: Debug lock is disabled
[  389.466666] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[  389.474446] Bluetooth: hci0: Found device firmware: intel/ibt-20-1-3.sfi
[  389.474460] Bluetooth: hci0: Boot Address: 0x24800
[  389.474462] Bluetooth: hci0: Firmware Version: 132-3.24
[  390.887075] Bluetooth: hci0: Waiting for firmware download to complete
[  390.887628] Bluetooth: hci0: Firmware loaded in 1380072 usecs
[  390.887698] Bluetooth: hci0: Waiting for device to boot
[  390.902660] Bluetooth: hci0: Device booted in 14629 usecs
[  390.908065] Bluetooth: hci0: Found Intel DDC parameters:
intel/ibt-20-1-3.ddc
[  390.913691] Bluetooth: hci0: Applying Intel DDC parameters completed
[  390.916680] Bluetooth: hci0: Firmware revision 0.3 build 132 week 3 2024
[  390.922724] Bluetooth: hci0: HCI LE Coded PHY feature bit is set, but its
usage is not supported.
[  391.085157] Bluetooth: MGMT ver 1.23
[  391.165905] Bluetooth: RFCOMM TTY layer initialized
[  391.165913] Bluetooth: RFCOMM socket layer initialized
[  391.165919] Bluetooth: RFCOMM ver 1.11

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these template lines ***

#1069200#20
Date:
2025-01-13 11:46:22 UTC
From:
To:
Package: src:linux
Version: 6.1.123-1
Followup-For: Bug #1069200
X-Debbugs-Cc: timo.weingaertner@quantumsimulations.de

Same issue with AX211:

bluetooth hci0: firmware: failed to load intel/ibt-0040-0041.sfi (-2)

On the affected machine the relevant modules (btintel etc.) are included
in initramfs, but the needed firmware file are not. This might be because
only 4 files are listed as firmware for btintel, with the remaining being
generated on the fly in:
https://sources.debian.org/src/linux/6.12.9-1/drivers/bluetooth/btintel.c/?hl=2186#L2186

To fix this either all firmware files need to be listed for the module or
firmware-iwlwifi must grow code to add all of them if btintel is included.

Regards
Timo Weingärtner