Bluetooth Firmware failed - Intel NUC7i5 - Intel Wireless-AC 8265 + BT 4.2


#1

Hi,

I have the following error with the Bluetooth controller of the Intel NUC7i5BNK:

dmesg | grep "luetooth"
[    0.415012] Bluetooth: Core ver 2.21
[    0.415024] Bluetooth: HCI device and connection manager initialized
[    0.415029] Bluetooth: HCI socket layer initialized
[    0.415033] Bluetooth: L2CAP socket layer initialized
[    0.415039] Bluetooth: SCO socket layer initialized
[    4.567203] Bluetooth: HCI UART driver ver 2.3
[    4.567204] Bluetooth: HCI UART protocol H4 registered
[    4.567223] Bluetooth: HCI UART protocol Intel registered
[    4.600608] Bluetooth: hci0: Bootloader revision 0.0 build 26 week 38 2015
[    4.602618] Bluetooth: hci0: Device revision is 16
[    4.602619] Bluetooth: hci0: Secure boot is enabled
[    4.602619] Bluetooth: hci0: OTP lock is enabled
[    4.602620] Bluetooth: hci0: API lock is enabled
[    4.602620] Bluetooth: hci0: Debug lock is disabled
[    4.602621] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[    4.603583] bluetooth hci0: Direct firmware load for intel/ibt-12-16.sfi failed with error -2
[    4.603584] Bluetooth: hci0: Failed to load Intel firmware file (-2)
[    5.508321] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    5.508327] Bluetooth: BNEP filters: protocol multicast
[    5.508333] Bluetooth: BNEP socket layer initialized
[  244.762763] Bluetooth: hci0: Bootloader revision 0.0 build 26 week 38 2015
[  244.763781] Bluetooth: hci0: Device revision is 16
[  244.763784] Bluetooth: hci0: Secure boot is enabled
[  244.763785] Bluetooth: hci0: OTP lock is enabled
[  244.763786] Bluetooth: hci0: API lock is enabled
[  244.763787] Bluetooth: hci0: Debug lock is disabled
[  244.763788] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[  244.763799] bluetooth hci0: Direct firmware load for intel/ibt-12-16.sfi failed with error -2
[  244.763801] Bluetooth: hci0: Failed to load Intel firmware file (-2)
[ 1426.729257] Bluetooth: hci0: Bootloader revision 0.0 build 26 week 38 2015
[ 1426.730262] Bluetooth: hci0: Device revision is 16
[ 1426.730265] Bluetooth: hci0: Secure boot is enabled
[ 1426.730266] Bluetooth: hci0: OTP lock is enabled
[ 1426.730268] Bluetooth: hci0: API lock is enabled
[ 1426.730269] Bluetooth: hci0: Debug lock is disabled
[ 1426.730270] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[ 1426.730287] bluetooth hci0: Direct firmware load for intel/ibt-12-16.sfi failed with error -2
[ 1426.730289] Bluetooth: hci0: Failed to load Intel firmware file (-2)

Looks like the Bluetooth firmware and HCI controller isn’t started.
I’m running the resin/%%RESIN_MACHINE_NAME%%-debian:jessie base image, tested also with the Stretch release: same result.

The firmware looks to be present into the /lib/firmware folder : iwlwifi-8265-22.ucode.

I see this is not the only error I have with firmware loading:

dmesg | grep "error"
[    0.534864] i915 0000:00:02.0: Direct firmware load for i915/kbl_dmc_ver1_01.bin failed with error -2
[    4.495443] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8265-24.ucode failed with error -2
[    4.495449] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8265-23.ucode failed with error -2
[    4.603583] bluetooth hci0: Direct firmware load for intel/ibt-12-16.sfi failed with error -2
[  244.763799] bluetooth hci0: Direct firmware load for intel/ibt-12-16.sfi failed with error -2
[ 1426.730287] bluetooth hci0: Direct firmware load for intel/ibt-12-16.sfi failed with error -2

#2

ok , I found out what’s going on.
Looks like you have not the last kernel firmwares into the NUC base images. Quite similar issue as here: Intel Nuc WiFi Issue

After loading manually the official linux firmware from here git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git I was able to load the bluetooth kernel module and the hci0 device up.

I’ll post a request on GitHub to get the last firmwares added into the base image.


#3

Thanks for reporting this @vidupont - I’m pinging the maintainers of the Intel builds of resin OS on this (/lib/firmware is actually bind mounted from the host)


#4

I guess the workaround is what I did (?):

  • into the Debian docker , remount /lib/firmware RW
  • clone the firmwares from the kernel git , copy to /lib/firmware , some into Intel and i915
  • unmount & reboot host

anything better to do if we have multiple NUC, like forking the initial Debian docker or something else?


Question about Bluetooth usage in Intel NUC
#5

Will update with the required files. Keep you posted and will paste here the link with the PR


#6

Created the pull request for adding the missing files: https://github.com/resin-os/resin-intel/pull/79