Bug 219387 - Bluetooth: hci0: Reading supported features failed (-16)
Summary: Bluetooth: hci0: Reading supported features failed (-16)
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-10-14 16:40 UTC by alexknoptech
Modified: 2025-03-19 16:17 UTC (History)
4 users (show)

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


Attachments
Dell XPS 13 9370: Linux 6.11.5 messages (output of `dmesg`) (77.05 KB, text/plain)
2024-11-04 13:02 UTC, Paul Menzel
Details
Output of `sudo lsusb -v -s 001:003` (8.88 KB, text/plain)
2024-11-04 13:04 UTC, Paul Menzel
Details

Description alexknoptech 2024-10-14 16:40:51 UTC
I am getting a consistent error when I turn on my bluetooth adapter:

Bluetooth: hci0: Reading supported features failed (-16)



other messages:
[   12.312885] Bluetooth: Core ver 2.22
[   12.312913] NET: Registered PF_BLUETOOTH protocol family
[   12.312915] Bluetooth: HCI device and connection manager initialized
[   12.312919] Bluetooth: HCI socket layer initialized
[   12.312922] Bluetooth: L2CAP socket layer initialized
[   12.312928] Bluetooth: SCO socket layer initialized
[   12.396183] Bluetooth: hci0: Firmware revision 0.0 build 14 week 44 2021
[   12.399179] Bluetooth: hci0: Reading supported features failed (-16)
[   12.399188] Bluetooth: hci0: Error reading debug features
[   12.399191] Bluetooth: hci0: HCI LE Coded PHY feature bit is set, but its usage is not supported.
[   12.505983] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
[   14.073552] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   14.073558] Bluetooth: BNEP filters: protocol multicast
[   14.073563] Bluetooth: BNEP socket layer initialized
[   14.077400] Bluetooth: MGMT ver 1.22
[   20.692302] Bluetooth: RFCOMM TTY layer initialized
[   20.692315] Bluetooth: RFCOMM socket layer initialized
[   20.692332] Bluetooth: RFCOMM ver 1.11

Intel Dual Band Wireless-AC 8260 with integrated bluetooth

Device Info:
System:
  Host: centos Kernel: 5.14.0-514.el9.x86_64 arch: x86_64 bits: 64
  Console: pty pts/0 Distro: CentOS Stream 9
Machine:
  Type: Laptop System: LENOVO product: 20FVS2NK00 v: ThinkPad L460
    serial: PF0IAXCS
  Mobo: LENOVO model: 20FVS2NK00 v: SDK0J40697 WIN serial: L1HF6B701KT
    UEFI: LENOVO v: R08ET71W (1.45 ) date: 08/01/2022
Bluetooth:
  Device-1: Intel Bluetooth wireless interface driver: btusb type: USB
  Report: btmgmt ID: hci0 state: up address: F0:D5:BF:3F:14:1A bt-v: 4.2
Comment 1 The Linux kernel's regression tracker (Thorsten Leemhuis) 2024-10-16 05:51:33 UTC
A few questions:

* Are you testing with vanilla kernels? That "Host: centos Kernel: 5.14.0-514.el9.x86_64" is likely just from a sysinfo query, but looks a bit suspicious.

* Did this happen with earlier kernels as well? Or which was the last one that used to work fine?

* Did you update the kernel, or the firmware files as well?
Comment 2 alexknoptech 2024-10-16 20:44:31 UTC
It fails on kernel 6.11 as well. I am not sure when it first broke and whether it is a regression.
Comment 3 Paul Menzel 2024-10-16 21:02:48 UTC
> I am not sure when it first broke

But you are certain it worked in the past?
Comment 4 alexknoptech 2024-10-17 00:35:40 UTC
I am not to be able to say whether this is a regression. That is why I just marked No for regression. I recently acquired this machine and noticed the error.
Comment 5 Paul Menzel 2024-11-03 14:04:48 UTC
On the Dell XPS 13 9370, Linux also logs this error, but Bluetooth still works.

Does Bluetooth work for you? Can you pair and connect to a device?
Comment 6 Paul Menzel 2024-11-04 13:02:41 UTC
Created attachment 307131 [details]
Dell XPS 13 9370: Linux 6.11.5 messages (output of `dmesg`)

Linux 6.11.5 logs:

    [    9.094743] Bluetooth: Core ver 2.22
    [    9.095249] NET: Registered PF_BLUETOOTH protocol family
    [    9.095252] Bluetooth: HCI device and connection manager initialized
    [    9.095256] Bluetooth: HCI socket layer initialized
    [    9.095259] Bluetooth: L2CAP socket layer initialized
    [    9.095263] Bluetooth: SCO socket layer initialized
    […]
    [   10.698546] Bluetooth: hci0: Waiting for firmware download to complete
    [   10.698731] Bluetooth: hci0: Firmware loaded in 1432875 usecs
    [   10.698774] Bluetooth: hci0: Waiting for device to boot
    [   10.711796] Bluetooth: hci0: Device booted in 12732 usecs
    [   10.711948] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-12-16.ddc
    [   10.714806] Bluetooth: hci0: Applying Intel DDC parameters completed
    [   10.715799] Bluetooth: hci0: Firmware revision 0.1 build 19 week 44 2021
    [   10.717794] Bluetooth: hci0: Reading supported features failed (-16)
    [   10.717812] Bluetooth: hci0: Error reading debug features
    [   10.717815] Bluetooth: hci0: HCI LE Coded PHY feature bit is set, but its usage is not supported.
Comment 7 Paul Menzel 2024-11-04 13:04:08 UTC
Created attachment 307132 [details]
Output of `sudo lsusb -v -s 001:003`

Bluetooth USB device:

    Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bluetooth wireless interface

Output of `sudo lsusb -v -s 001:003` attached.
Comment 8 Paul Menzel 2024-11-04 13:07:06 UTC
The error is logged by `btintel_read_debug_features()` in `drivers/bluetooth/btintel.c`.

```
static int btintel_read_debug_features(struct hci_dev *hdev,
                                       struct intel_debug_features *features)
{
        struct sk_buff *skb; 
        u8 page_no = 1;

        /* Intel controller supports two pages, each page is of 128-bit
         * feature bit mask. And each bit defines specific feature support
         */
        skb = __hci_cmd_sync(hdev, 0xfca6, sizeof(page_no), &page_no,
                             HCI_INIT_TIMEOUT);
        if (IS_ERR(skb)) {
                bt_dev_err(hdev, "Reading supported features failed (%ld)",
                           PTR_ERR(skb));
                return PTR_ERR(skb);
        }

[…]
}
```
Comment 9 alexknoptech 2025-01-27 19:02:22 UTC
If this is normal can we change the log level to a debugging level instead of an error?


If not, can it be fixed?
Comment 10 Luiz Von Dentz 2025-01-27 19:09:08 UTC
(In reply to alexknoptech from comment #9)
> If this is normal can we change the log level to a debugging level instead
> of an error?
> 
> 
> If not, can it be fixed?

Well without that information the whole firmware loading is sort of impossible since we don't have enough information regarding what firmware file to load.
Comment 11 alexknoptech 2025-01-28 04:02:48 UTC
I thought this message came after the firmware file was already loaded:

```
[16265.746551] Bluetooth: hci0: Bootloader revision 0.0 build 2 week 52 2014
[16265.753389] Bluetooth: hci0: Device revision is 5
[16265.753409] Bluetooth: hci0: Secure boot is enabled
[16265.753418] Bluetooth: hci0: OTP lock is enabled
[16265.753426] Bluetooth: hci0: API lock is enabled
[16265.753432] Bluetooth: hci0: Debug lock is disabled
[16265.753439] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[16265.765087] Bluetooth: hci0: Found device firmware: intel/ibt-11-5.sfi
[16267.499721] Bluetooth: hci0: Waiting for firmware download to complete
[16267.500335] Bluetooth: hci0: Firmware loaded in 1694653 usecs
[16267.500403] Bluetooth: hci0: Waiting for device to boot
[16267.512389] Bluetooth: hci0: Device booted in 11752 usecs
[16267.512396] Bluetooth: hci0: Malformed MSFT vendor event: 0x02
[16267.512498] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-11-5.ddc
[16267.516460] Bluetooth: hci0: Applying Intel DDC parameters completed
[16267.517413] Bluetooth: hci0: Firmware revision 0.0 build 14 week 44 2021
>>>>[16267.519407] Bluetooth: hci0: Reading supported features failed (-16)
[16267.519423] Bluetooth: hci0: Error reading debug features

```

But also I am wondering if this log level can be changed to bt_dev_info if this is not actually an issue, since the parent function simply returns that:



```
static int btintel_register_devcoredump_support(struct hci_dev *hdev)
{
	struct intel_debug_features features;
	int err;

	FUNCTION CALLED HERE WHICH LOGS AT THE ERROR LEVEL>>>>
	err = btintel_read_debug_features(hdev, &features);
	if (err) {
		bt_dev_info(hdev, "Error reading debug features");
		return err;
	}

	if (!(features.page1[0] & 0x3f)) {
		bt_dev_dbg(hdev, "Telemetry exception format not supported");
		return -EOPNOTSUPP;
	}

	hci_devcd_register(hdev, btintel_coredump, btintel_dmp_hdr, NULL);

	return err;
}

```

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