Bug 1200236

Summary: Bluetooth on Intel AX210 not working with Kernel 5.14
Product: [openSUSE] openSUSE Distribution Reporter: Severin Stampler <severin.stampler>
Component: KernelAssignee: dracut maintainers <dracut-maintainers>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: antonio.feijoo, severin.stampler, suse, tiwai
Version: Leap 15.4   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: dmesg after boot
dmesg after btusb reload
hwinfo after boot
hwinfo after btusb reload
content of /lib/firmware/intel
lsinitrd

Description Severin Stampler 2022-06-05 10:35:28 UTC
Bluetooth on Intel AX210 is not working with the default kernel and firmware (5.14.21, openSUSE Leap 15.4). I tried several other newer kernel versions, all have the same problem.

dmesg output shows "Failed to load Intel firmware ..." (see below), but firmware is installed.

Cold or warm reboot doesn't seem to make a difference (like suggested here: https://bugzilla.kernel.org/show_bug.cgi?id=213829)


dmesg | grep -i bluetooth

[    4.233063] Bluetooth: Core ver 2.22
[    4.233084] NET: Registered PF_BLUETOOTH protocol family
[    4.233085] Bluetooth: HCI device and connection manager initialized
[    4.233089] Bluetooth: HCI socket layer initialized
[    4.233091] Bluetooth: L2CAP socket layer initialized
[    4.233093] Bluetooth: SCO socket layer initialized
[    4.239235] Bluetooth: hci0: Device revision is 0
[    4.239237] Bluetooth: hci0: Secure boot is enabled
[    4.239238] Bluetooth: hci0: OTP lock is enabled
[    4.239238] Bluetooth: hci0: API lock is enabled
[    4.239238] Bluetooth: hci0: Debug lock is disabled
[    4.239239] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[    4.239240] Bluetooth: hci0: Bootloader timestamp 2019.40 buildtype 1 build 38
[    4.239257] Bluetooth: hci0: Failed to load Intel firmware file intel/ibt-0041-0041.sfi (-2)
[    4.240279] Bluetooth: hci0: Failed to read MSFT supported features (-56)
[    4.330250] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.330251] Bluetooth: BNEP filters: protocol multicast
[    4.330253] Bluetooth: BNEP socket layer initialized
[    5.221888] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked


lsusb | grep -i blue
Bus 003 Device 006: ID 8087:0032 Intel Corp. AX210 Bluetooth
Comment 1 Severin Stampler 2022-06-06 11:37:04 UTC
It starts working after reloading the btusb module:

rmmod btusb
modprobe btusb
Comment 2 Takashi Iwai 2022-06-07 11:47:12 UTC
Hm, the error -2 is -ENOENT, that is, the file doesn't exist.

Is the error from initrd, or after switching to the root?  Please upload the full dmesg output, not only the snippet.  Also, give hwinfo output, too.
Comment 3 Severin Stampler 2022-06-07 13:28:21 UTC
Created attachment 859455 [details]
dmesg after boot
Comment 4 Severin Stampler 2022-06-07 13:28:55 UTC
Created attachment 859456 [details]
dmesg after btusb reload
Comment 5 Severin Stampler 2022-06-07 13:29:12 UTC
Created attachment 859457 [details]
hwinfo after boot
Comment 6 Severin Stampler 2022-06-07 13:29:28 UTC
Created attachment 859458 [details]
hwinfo after btusb reload
Comment 7 Severin Stampler 2022-06-07 13:29:51 UTC
Created attachment 859459 [details]
content of /lib/firmware/intel
Comment 8 Severin Stampler 2022-06-07 13:32:04 UTC
(In reply to Takashi Iwai from comment #2)
> Hm, the error -2 is -ENOENT, that is, the file doesn't exist.
> 
> Is the error from initrd, or after switching to the root?  Please upload the
> full dmesg output, not only the snippet.  Also, give hwinfo output, too.

I'm not sure about the initrd. I can see the message flashing up after the boot sequence before the login screen is loaded.

I appended dmesg and hwinfo output after a reboot and after reloading the btusb kernel module. One can see, that after the module reload, the firmware is found and loaded correctly.
Comment 9 Takashi Iwai 2022-06-07 13:34:58 UTC
Could you check the contents of initrd via lsinitrd, and verify whether BT kernel module is included there or not?  If they are there, it'd explain why it failed to load the firmware at first.

If so, we can either omit the loading of BT modules or adding the missing firmware file(s) to initrd.
Comment 10 Severin Stampler 2022-06-07 13:37:11 UTC
Created attachment 859460 [details]
lsinitrd
Comment 11 Severin Stampler 2022-06-07 13:37:32 UTC
(In reply to Takashi Iwai from comment #9)
> Could you check the contents of initrd via lsinitrd, and verify whether BT
> kernel module is included there or not?  If they are there, it'd explain why
> it failed to load the firmware at first.
> 
> If so, we can either omit the loading of BT modules or adding the missing
> firmware file(s) to initrd.

attached lsinitrd, seems like the module is there.
Comment 12 Severin Stampler 2022-06-07 13:39:35 UTC
the firmware files are missing in initrd
Comment 13 Takashi Iwai 2022-06-07 13:58:03 UTC
OK, then could you try to create /etc/dracut.conf.d/60-bluetooth.conf, containing the following line:

omit_dracutmodules+=bluetooth

then rebuild initrd?  This should suppress including the bluetooth stuff.
Comment 14 Severin Stampler 2022-06-07 14:24:28 UTC
with this change bluetooth was loaded correctly now after a reboot.
thanks
Comment 15 Antonio Feijoo 2022-06-08 07:16:16 UTC
(In reply to Severin Stampler from comment #12)
> the firmware files are missing in initrd

This is not a kernel bug. Leap does not follow usrmerge and the dracut bluetooth module takes firmware files from /usr/lib/firmware.

Fix in progress.
Comment 16 Antonio Feijoo 2022-06-08 07:53:44 UTC
*** Bug 1199852 has been marked as a duplicate of this bug. ***
Comment 18 Antonio Feijoo 2022-08-02 10:42:19 UTC
Fix included since dracut-055+suse.279.g3b3c36b2
Comment 19 Swamp Workflow Management 2022-08-02 13:16:56 UTC
SUSE-RU-2022:2625-1: An update that has 12 recommended fixes can now be installed.

Category: recommended (important)
Bug References: 1177461,1184970,1187654,1195047,1195508,1195604,1196267,1197635,1197967,1200236,1200251,1200360
CVE References: 
JIRA References: 
Sources used:
openSUSE Leap 15.4 (src):    dracut-055+suse.279.g3b3c36b2-150400.3.5.1
SUSE Linux Enterprise Module for Basesystem 15-SP4 (src):    dracut-055+suse.279.g3b3c36b2-150400.3.5.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.