Bug 197997

Summary: Intel 8265 bluetooth dropping connections, but works with newer firmware from Windows
Product: Drivers Reporter: Jonathan Kohler (kohler.jonathan)
Component: BluetoothAssignee: DO NOT USE - assign "network-wireless-intel" component instead (linuxwifi)
Status: CLOSED CODE_FIX    
Severity: normal CC: bluespring, kohler.jonathan, linuxwifi, tedd.an, the.dmol
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.13.12-1-ARCH Subsystem:
Regression: No Bisected commit-id:
Attachments: Systemd logs and dmesg reports about bluetooth errors and firmware
New BT firmware
btmon output with pre-release firmware

Description Jonathan Kohler 2017-11-26 05:59:10 UTC
Created attachment 260873 [details]
Systemd logs and dmesg reports about bluetooth errors and firmware

I've been having issues in the last few weeks with my bluetooth (Intel dual-band 8265 wifi/bluetooth) adapter consistently dropping connections after a few seconds, after which most bluetooth commands (using bluetoothctl or hciconfig) timeout until the computer is rebooted. (Example output of journalctl | grep -i blue attached)

I dual-boot my laptop with Windows, and have noticed that if I do a warm reboot from Windows into Linux, the bluetooth adapter works fine.  Looking into `dmesg | grep -i blue' (see attachment) indicates that a newer firmware (Firmware revision 0.1 build 151 week 24 2017) persists after rebooting.  However, after a cold start the kernel loads the firmware in linux-firmware (dmesg_coldboot_before.txt), and a subsequent restart shows an older firmware revision (Firmware revision 0.1 build 103 week 50 2016, dmesg_reboot_linux.txt).

If I copy the *.sfi firmware from the windows driver over /lib/firmware/intel/ibt-12-16.sfi, the kernel loads the newer firmware and bluetooth works after a cold boot too.  But I can't find any officially licensed source for the updated firmware.  Can this be updated in linux-firmware somehow?
Comment 1 Emmanuel Grumbach 2017-11-27 11:06:01 UTC
Created attachment 260895 [details]
New BT firmware

Here is a pre-release of the new firmware for BT.
Please copy the files to /lib/firmware/intel/

You'll need a hard power off / on cycle.

After boot,  run btmon in 1 terminal and in the other terminal give the command hcitool cmd 3f 05 in root permission.
After giving the hcitool cmd 3f 05 the btmon log will show the version information.

Please provide the btmon log.

Let us know if things feel better.

Note: this includes BT firmware for 8260 and 8265.
Comment 2 Jonathan Kohler 2017-11-27 18:14:07 UTC
Created attachment 260901 [details]
btmon output with pre-release firmware

Amazing, thanks.

I have booted with the new firmware, and btmon is showing the updated version (attached).  It is working well so far.  I'll test it further tonight, and let you know if I have any issues.
Comment 3 Emmanuel Grumbach 2017-11-27 19:31:46 UTC
changing the assignee just to make it easier to track for me.

This bug is really a BT bug.

I'll ping you later to see if it can be closed.
Comment 4 Emmanuel Grumbach 2017-11-28 21:59:11 UTC
Closing for now. Please reopen if needed.