[8087:0a2b] Failed to load bluetooth firmware(might affect some other Intel bt devices)

Bug #1705633 reported by AceLan Kao
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
AceLan Kao
linux (Ubuntu)
Fix Released
Undecided
AceLan Kao
Xenial
Fix Released
Undecided
Unassigned

Bug Description

[Impact]
After this linux-firmware bug[1] update the firmware files, it removes intel/ibt-11-16.{ddc,sfi} and add intel/ibt-12-16.{ddc,sfi}, but in btusb driver, it hardcoded the hw_variant as 11. So we got this kind of error after the linux-firmware package updated and lost the bt functions.

[ 5.516003] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[ 5.516181] bluetooth hci0: Direct firmware load for intel/ibt-11-16.sfi failed with error -2
[ 5.516183] Bluetooth: hci0: Failed to load Intel firmware file (-2)

[Fix]
This patch uses a hw_variant variable to replace the hardcoded 11.

[Test Case]
Verified on the machine has this issue, and confirm this patch works.

[Regression Potential]
The hw_variant variable has shown up since kernel 3.10 in this commit
   dffd30e Bluetooth: Add support for Intel Bluetooth device [8087:07dc]
So, we don't have to worry about old chips don't contains this info, since it exists
and be used for a very long time.

1. https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1686815

Revision history for this message
AceLan Kao (acelankao) wrote :

commit 230b04ac8f439d0797ab85fb356f069f0472306f
Author: Tedd Ho-Jeong An <email address hidden>
Date: Tue Jun 28 08:56:39 2016 -0700

    Bluetooth: Replace constant hw_variant from Intel Bluetooth firmware filename

Revision history for this message
AceLan Kao (acelankao) wrote :

commit d1b7abae666cc4630daa3db4e839626bc179f6f1
Author: Jürg Billeter <email address hidden>
Date: Tue May 23 18:46:25 2017 +0200

    Bluetooth: btintel: Add MODULE_FIRMWARE entries for iBT 3.5 controllers

AceLan Kao (acelankao)
tags: added: originate-from-1704696 somerville
AceLan Kao (acelankao)
Changed in hwe-next:
assignee: nobody → AceLan Kao (acelankao)
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux (Ubuntu Xenial):
status: New → Confirmed
Revision history for this message
AceLan Kao (acelankao) wrote :

This issue requires another 2 commits

From 6c483de1b3c41e939b735df1861759815e125304 Mon Sep 17 00:00:00 2001
From: Loic Poulain <email address hidden>
Date: Sun, 6 Dec 2015 16:18:34 +0100
Subject: [PATCH] Bluetooth: btintel: Create common Intel Version Read function

The Intel Version Read command is used to retrieve information
about hardware and firmware version/revision of Intel Bluetooth
controllers. This is an Intel generic command used in USB and
UART drivers.

Signed-off-by: Loic Poulain <email address hidden>
Signed-off-by: Marcel Holtmann <email address hidden>

From b7da6a69defd195da66bfd6b35efeb376a252557 Mon Sep 17 00:00:00 2001
From: Tedd Ho-Jeong An <email address hidden>
Date: Mon, 6 Mar 2017 15:38:32 -0800
Subject: [PATCH] Bluetooth: hci_intel: Fix firmware file name to use
 hw_variant

The format of Intel Bluetooth firmware for bootloader product is
ibt-<hw_variant>-<device_revision_id>.sfi and .ddc.

This patch uses a hw_variant value read from the device during
runtime to form the firmware filenames instead of using a constant
value, so it can support multiple prouducts.

Signed-off-by: Tedd Ho-Jeong An <email address hidden>
Signed-off-by: Marcel Holtmann <email address hidden>

Revision history for this message
AceLan Kao (acelankao) wrote :

This commit relates to the hw_variant, too.

commit 9268834b60c0b08101c7a8522b6901cf4cd57a14
Author: Tedd Ho-Jeong An <email address hidden>
Date: Mon Mar 6 15:38:26 2017 -0800

    Bluetooth: Use switch statement for Intel hardware variants

    Multiple new hardware variants are planned and the simple if statement
    would get really complicated and unreadable. So instead replace it with
    a simple switch statement.

    The change is applied to both USB and UART.

    Based-on-patch-by: Marcel Holtmann <email address hidden>
    Signed-off-by: Tedd Ho-Jeong An <email address hidden>
    Signed-off-by: Marcel Holtmann <email address hidden>

Changed in linux (Ubuntu Xenial):
status: Confirmed → Fix Committed
AceLan Kao (acelankao)
Changed in hwe-next:
status: In Progress → Fix Committed
Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed-xenial'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-xenial
Revision history for this message
Shih-Yuan Lee (fourdollars) wrote :

4.4.0-93.116 can fix the Bluetooth firmware loading issue for 8087:0a2b.

tags: added: verification-done-xenial
removed: verification-needed-xenial
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (16.2 KiB)

This bug was fixed in the package linux - 4.4.0-93.116

---------------
linux (4.4.0-93.116) xenial; urgency=low

  * linux: 4.4.0-93.116 -proposed tracker (LP: #1709296)

  * Creating conntrack entry failure with kernel 4.4.0-89 (LP: #1709032)
    - Revert "Revert "netfilter: synproxy: fix conntrackd interaction""
    - netfilter: nf_ct_ext: fix possible panic after nf_ct_extend_unregister

  * CVE-2017-1000112
    - Revert "udp: consistently apply ufo or fragmentation"
    - udp: consistently apply ufo or fragmentation

  * CVE-2017-1000111
    - Revert "net-packet: fix race in packet_set_ring on PACKET_RESERVE"
    - packet: fix tp_reserve race in packet_set_ring

  * kernel BUG at [tty_ldisc_reinit] mm/slub.c! (LP: #1709126)
    - tty: Simplify tty_set_ldisc() exit handling
    - tty: Reset c_line from driver's init_termios
    - tty: Handle NULL tty->ldisc
    - tty: Move tty_ldisc_kill()
    - tty: Use 'disc' for line discipline index name
    - tty: Refactor tty_ldisc_reinit() for reuse
    - tty: Destroy ldisc instance on hangup

  * atheros bt failed after S3 (LP: #1706833)
    - SAUCE: Bluetooth: Make request workqueue freezable

  * The Precision Touchpad(PTP) button sends incorrect event code (LP: #1708372)
    - HID: multitouch: handle external buttons for Precision Touchpads

  * Set CONFIG_SATA_HIGHBANK=y on armhf (LP: #1703430)
    - [Config] CONFIG_SATA_HIGHBANK=y

  * xfs slab objects (memory) leak when xfs shutdown is called (LP: #1706132)
    - xfs: fix xfs_log_ticket leak in xfs_end_io() after fs shutdown

  * Adt tests of src:linux time out often on armhf lxc containers (LP: #1705495)
    - [Packaging] tests -- reduce rebuild test to one flavour

  * CVE-2017-7495
    - ext4: fix data exposure after a crash

  * ubuntu/rsi driver downlink wifi throughput drops to 5-6 Mbps when BT
    keyboard is connected (LP: #1706991)
    - SAUCE: Redpine: enable power save by default for coex mode
    - SAUCE: Redpine: uapsd configuration changes

  * [Hyper-V] hv_netvsc: Exclude non-TCP port numbers from vRSS hashing
    (LP: #1690174)
    - hv_netvsc: Exclude non-TCP port numbers from vRSS hashing

  * ath10k doesn't report full RSSI information (LP: #1706531)
    - ath10k: add per chain RSSI reporting

  * ideapad_laptop don't support v310-14isk (LP: #1705378)
    - platform/x86: ideapad-laptop: Add several models to no_hw_rfkill

  * [8087:0a2b] Failed to load bluetooth firmware(might affect some other Intel
    bt devices) (LP: #1705633)
    - Bluetooth: btintel: Create common Intel Version Read function
    - Bluetooth: Use switch statement for Intel hardware variants
    - Bluetooth: Replace constant hw_variant from Intel Bluetooth firmware
      filename
    - Bluetooth: hci_intel: Fix firmware file name to use hw_variant
    - Bluetooth: btintel: Add MODULE_FIRMWARE entries for iBT 3.5 controllers

  * xhci_hcd: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2
    comp_code 13 (LP: #1667750)
    - xhci: Bad Ethernet performance plugged in ASM1042A host

  * OpenPower: Some multipaths temporarily have only a single path
    (LP: #1696445)
    - scsi: ses: don't get power status of SES device slot on probe

  ...

Changed in linux (Ubuntu Xenial):
status: Fix Committed → Fix Released
AceLan Kao (acelankao)
Changed in hwe-next:
status: Fix Committed → Fix Released
Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.