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
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?
It fails on kernel 6.11 as well. I am not sure when it first broke and whether it is a regression.
> I am not sure when it first broke But you are certain it worked in the past?
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.
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?
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.
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.
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); } […] } ```
If this is normal can we change the log level to a debugging level instead of an error? If not, can it be fixed?
(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.
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; } ```