Bluetooth fails with "Bluetooth: hci0: request failed to create LE connection: status 0x0c" message with Kernel 4.20 and up [9df0:0034]

Bug #1836467 reported by Warren Baird on 2019-07-14
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-firmware (Ubuntu)
Undecided
You-Sheng Yang
Bionic
Undecided
Unassigned
Cosmic
Undecided
Unassigned
Disco
Undecided
Unassigned

Bug Description

SRU Justification:

[Impact]
Bluetooth for Intel Wireless-AC 9560 variant 9df0:0034 still fails to
pair BT LE HID devices on recent (>= 4.19) kernel.

[Fix]
Bluetooth firmware REL0450 or newer is required to fix this issue.

[Test Case]
Install new firmware blob to /lib/firmware/intel, shutdown the machine
completely and wait for a couple minutes to trigger firmware reloading
at the next boot. Then perform Bluetooth LE HID devices pairing to
verify if the proposed fw fixes this issue.

[Regression Risk]
Low. This affects only sub models of Intel JeffersonPeak Bluetooth chip
series using these firmware blobs.

========== Original Bug Description ==========

This is similar to https://bugs.launchpad.net/bugs/1829737 - however the issue was not fixed by linux-firmware 1.173.8 so I was advised to log a new bug.

I have an ASUS ZenBook 14 - UX433FA - which based on this - https://www.notebookcheck.net/ASUS-ZenBook-14-UX433FA-Core-i5-8265U-SSD-FHD-Laptop-Review.403541.0.html - I believe has an Intel 9560 chipset (I am not sure how to independently verify this).
With kernels older than 4.20 I can successfully pair my bluetooth mouse (Logitech MX Master) - but with newer kernels I get "Bluetooth: hci0: request failed to create LE connection: status 0x0c" messages.

I'm running Linux Mint 19.1

I tried installing linux-firmware 1.173.8, and it didn't seem to help - I also downloaded 1.173.9 proposed from here: https://launchpad.net/ubuntu/bionic/amd64/linux-firmware/1.173.9 and that also didn't seem to help.

Both after a cold reboot and a warm reboot I see
[ 14.724438] Bluetooth: hci0: Firmware revision 0.1 build 201 week 49 2017

in my dmesg output.

Bluetooth works just fine with earlier kernels (however other aspects of the laptop like suspend don't work as well, which is why I'm trying the newer kernel.

Linux warren-ZenBook 5.1.16-050116-generic #201907031232 SMP Wed Jul 3 12:35:21 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

dmesg | egrep -i 'blue|firm'
[
[ 0.180273] Spectre V2 : Enabling Restricted Speculation for firmware calls
[ 0.004526] [Firmware Bug]: TSC ADJUST differs within socket(s), fixing all errors
[ 1.417663] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[ 14.641146] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-9000-pu-b0-jf-b0-46.ucode failed with error -2
[ 14.642377] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-9000-pu-b0-jf-b0-45.ucode failed with error -2
[ 14.642392] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-9000-pu-b0-jf-b0-44.ucode failed with error -2
[ 14.652301] iwlwifi 0000:00:14.3: loaded firmware version 43.95eb4e97.0 op_mode iwlmvm
[ 14.675356] Bluetooth: Core ver 2.22
[ 14.675374] Bluetooth: HCI device and connection manager initialized
[ 14.675377] Bluetooth: HCI socket layer initialized
[ 14.675379] Bluetooth: L2CAP socket layer initialized
[ 14.675382] Bluetooth: SCO socket layer initialized
[ 14.724438] Bluetooth: hci0: Firmware revision 0.1 build 201 week 49 2017
[ 15.207800] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 15.207801] Bluetooth: BNEP filters: protocol multicast
[ 15.207804] Bluetooth: BNEP socket layer initialized
[ 22.040223] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 22.040232] Bluetooth: HIDP socket layer initialized
[ 22.042238] input: Logitech K810 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:046D:B319.0004/input/input27
[ 22.042996] input: Logitech K810 Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:046D:B319.0004/input/input28
[ 22.043235] input: Logitech K810 System Control as /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:046D:B319.0004/input/input29
[ 22.043426] hid-generic 0005:046D:B319.0004: input,hidraw3: BLUETOOTH HID v12.02 Keyboard [Logitech K810] on 00:bb:60:09:27:1a
[ 29.296700] Bluetooth: RFCOMM TTY layer initialized
[ 29.296705] Bluetooth: RFCOMM socket layer initialized
[ 29.296711] Bluetooth: RFCOMM ver 1.11
[ 217.675736] Bluetooth: hci0: request failed to create LE connection: status 0x0c
[ 217.709807] Bluetooth: hci0: request failed to create LE connection: status 0x0c
[ 218.537827] Bluetooth: hci0: request failed to create LE connection: status 0x0c
[ 218.767709] Bluetooth: hci0: request failed to create LE connection: status 0x0c
[ 220.244821] Bluetooth: hci0: request failed to create LE connection: status 0x0c

If there are any other debugging things to try, or info you need, let me know...

You-Sheng Yang (vicamo) wrote :

Hi, @wjbarid,

In order to determine the right hardware spec on your device, please attach `sudo lspci -vvnnk` output. It will contains subsystem ID that can be used to find the right iwlwifi model.

For bluetooth firmware blob name, you should try:

1. clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git and replace the intel/ subdirectory. Something like:

  $ sudo mv /lib/firmware/intel /lib/firmware/intel.orig
  $ sudo cp -a _git_cloned_firmwares_/intel /lib/firmware

2. power off your machine completely and turn it on again *after* 30 seconds or so.

3. capture the dmesg output for Bluetooth|hci:

  $ dmesg | egrep -i 'blue|hci'

You should find something like:

  Bluetooth: hci0: Found device firmware: intel/ibt-11-5.sfi

Changed in linux-firmware (Ubuntu):
status: New → Incomplete
Warren Baird (wjbaird) wrote :
Warren Baird (wjbaird) wrote :
Warren Baird (wjbaird) wrote :

Thanks @vicamo - I followed the process you described and attached the output.

Let me know if there's anything else I can do.

You-Sheng Yang (vicamo) wrote :

Hi @wjbaird, thank you for the logs. From your lspci output, we should be able to confirm it's a "Intel(R) Dual Band Wireless AC 9560"[1], and we should have the support in linux-oem-osp1 kernel since bug 1833065. For -generic kernel flavors, the backport-iwlwifi-dkms in ppa:canonical-hwe-team/pc-oem-dkms[2] is required, and we're working on publish it to ubuntu archive.

For bluetooth, unfortunately we still have no luck to retrieve the firmware name from dmesg. I met this before. All I know is that it takes a complete power off, wait for a period, power on and you may find the line that gives firmware name in this first boot. With the blob firmware name, we may begin to find out which revision of that given blob works for you. If the latest one from linux-firmware git repository[3] still doesn't work well, then we'll probably need to file a bug to Intel instead.

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git/tree/drivers/net/wireless/intel/iwlwifi/cfg/9000.c#n218
[2]: https://code.launchpad.net/~canonical-hwe-team/+archive/ubuntu/pc-oem-dkms
[3]: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

Warren Baird (wjbaird) wrote :

Thanks @vicamo. I powered off and let it sit for about 45s before the log I sent you... I'll try again and leave it off for a longer period and see if I see the line...

Warren Baird (wjbaird) wrote :

I tried it for about 3 minutes this time, and I think I see the line you are looking for:
  [ 11.182302] Bluetooth: hci0: Found device firmware: intel/ibt-17-16-1.sfi

I'll attache the entire log...

Warren Baird (wjbaird) wrote :
Warren Baird (wjbaird) wrote :

Oh - and now it looks like bluetooth is working! Is it possible that turning it off for 45s just wasn't enough? I thought that should be plenty...?

You-Sheng Yang (vicamo) wrote :

Ha, thank you. That's what I'm looking for.

So now we have the firmware name, and the next step would be to find out which version will work for you. And so far we have:

  * Bionic: REL0440
  * Cosmic: REL0329
  * Disco: REL0420
  * korg/master: REL0472

Since you mentioned neither linux-firmware version 1.173.8 nor 1.173.9 would work for you, which was last updated to REL0440 at bug 1829737 for the same symptom on also 9560/9462 devices, maybe that's one 9560 variant that we don't have. Then I would like ask you for a favor, to confirm which version(s) works for you:

  * REL0450: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/intel/ibt-17-16-1.sfi?id=abb7cb6465ddaa64eab9ee487024b9aaee780f4b

and/or,

  * REL0472: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/intel/ibt-17-16-1.sfi?id=a5ee41544a092e35fb6b8324687e8a32488f6e26

And please also give me the md5sum of /lib/firmware/intel/ibt-17-16-1.sfi when installed to your system and that fixes this problem.

From your comment #9 I suppose at least REL0472 should work, but I also need to know if REL0450 is sufficient enough. Thank you.

Warren Baird (wjbaird) wrote :

The md5sum of what is current installed and working is:
5740378bfc048108341a204b83ca97c7 /lib/firmware/intel/ibt-17-16-1.sfi

Which is the same md5sum as the rel0472 version you link to above, so yes, that does seem to be working.

I've downloaded the rel0450 version now, I'll install it, and leave my computer off for at least 5 minutes this time, and see what happens...

Warren Baird (wjbaird) wrote :

OK - after installing the rel0450 version, shutting down for 5 minutes and rebooting, Bluetooth is still working for me. Here's the new md5sum
b24eceb411cf63695aac8e0b6d9f1743 /lib/firmware/intel/ibt-17-16-1.sfi

I'll upload the latest output of dmesg | egrep -i "blue|firm", in case that helps.

is there a downside to leaving the firmware content that I got off the git site in my /lib/firmware folder for now, or should I reset it?

Thanks for your help!!!

You-Sheng Yang (vicamo) wrote :

Thank you, Warren. So I think I can begin to send a patch to the series don't have REL0450 ibt-17-16-1.sfi, so that owners of the same devices don't have to manually download again.

For polluted /lib/firmware, I think I would restore what it was and copy only ibt-17-16-1.sfi to keep Bluetooth working. Because I myself run apt updates everyday, and I don't want to break any installation script as possible. Besides, yes, keep things simple would also be nice.

Changed in linux-firmware (Ubuntu):
assignee: nobody → You-Sheng Yang (vicamo)
status: Incomplete → In Progress
Changed in linux-firmware (Ubuntu Cosmic):
status: New → Won't Fix
Changed in linux-firmware (Ubuntu Bionic):
status: New → In Progress
Changed in linux-firmware (Ubuntu Disco):
status: New → In Progress
You-Sheng Yang (vicamo) on 2019-07-17
summary: Bluetooth fails with "Bluetooth: hci0: request failed to create LE
- connection: status 0x0c" message with Kernel 4.20 and up
+ connection: status 0x0c" message with Kernel 4.20 and up [9df0:0034]
Seth Forshee (sforshee) on 2019-07-18
Changed in linux-firmware (Ubuntu):
status: In Progress → Fix Committed
Changed in linux-firmware (Ubuntu Bionic):
status: In Progress → Fix Committed
Changed in linux-firmware (Ubuntu Disco):
status: In Progress → Fix Committed

Hello Warren, or anyone else affected,

Accepted linux-firmware into disco-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware/1.178.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-disco to verification-done-disco. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-disco. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Andy Whitcroft (apw) wrote :

Hello Warren, or anyone else affected,

Accepted linux-firmware into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware/1.173.10 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers