Firmware missing for Thinkpad X-series Bluetooth adapters, leads to headset HSP/HFP profiles not working

Bug #1859223 reported by Christian Reis
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
bluez-firmware (Debian)
New
Unknown
linux-firmware (Ubuntu)
Undecided
Unassigned

Bug Description

Hello there, it's my third or fourth session spending hours trying to debug why a Bluetooth headset would not work in HSP/HFP mode on my x230. The failure more is super obscure because at the time of error the only thing you notice is that no audio comes through in either direction. Using the a2dp_sink profile works fine.

The root cause for the problem is simply missing firmware, which dmesg hints at during bootup:

Jan 7 04:11:12.809444 barbudinho kernel: [490029.978724] Bluetooth: hci0: BCM: chip id 63
Jan 7 04:11:12.809460 barbudinho kernel: [490029.979639] Bluetooth: hci0: BCM: features 0x07
Jan 7 04:11:12.825406 barbudinho kernel: [490029.995655] Bluetooth: hci0: BCM20702A
Jan 7 04:11:12.829543 barbudinho kernel: [490029.996649] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
Jan 7 04:11:12.829560 barbudinho kernel: [490029.996671] bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21e6.hcd failed with error -2
Jan 7 04:11:12.829566 barbudinho kernel: [490029.996673] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21e6.hcd not found

There are at least two firmware packages missing for different common X-series adapters; this is referred to from https://plugable.com/2014/06/23/plugable-usb-bluetooth-adapter-solving-hfphsp-profile-issues-on-linux and also https://wiki.gentoo.org/wiki/Lenovo_Thinkpad_T430.

The actual firmware locations from those are:

- 0a5c:21e8 https://s3.amazonaws.com/plugable/bin/fw-0a5c_21e8.hcd
- 0a5c:21e6 http://dlcdnet.asus.com/pub/ASUS/misc/BT/Bluetooth_V1201650_WHQL_Win10.zip (see Bluetooth_V1201650_WHQL_Win10.zip)

There is a lot of firmware collected here which may not be available on Ubuntu: https://github.com/winterheart/broadcom-bt-firmware/tree/master/brcm

Related Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=801084

Christian Reis (kiko)
affects: linux (Ubuntu) → linux-firmware (Ubuntu)
Revision history for this message
Seth Forshee (sforshee) wrote :

I'll take a look, but usually firmware like this has been extracted from drivers for Windows and does not have a license which allows us to redistribute the files. I'll try to find out what the license is for the files you linked to.

I'm not sure we'd do a wholesale import of everything you've linked to though. Have you determined specific files which fix your issue?

Revision history for this message
Christian Reis (kiko) wrote :

For my laptop, which is an x230 model 2325KZ5, I have:

  Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]

The file which I needed to use was brcm/BCM20702A1-0a5c-21e6.hcd as noted above. That is the only file needed to fix my issue.

The post I linked to is for 0a5c:21e8 that I noted above.

Revision history for this message
Christian Reis (kiko) wrote :

Note that I've found dozens of posts on the web that describe the same symptom, and a subset of those arrive at the same conclusion of this bug. I do agree that the license that the github repo holds indicates that the files are made available for personal use, but perhaps we can address that.

For my information, what licenses cover the firmware files we are shipping today in the brcm/ subdirectory that linux-firmware currently installs? Namely:

bcm4329-fullmac-4.bin
bcm43xx-0.fw
bcm43xx_hdr-0.fw
brcmfmac43143.bin
brcmfmac43143-sdio.bin
brcmfmac43236b.bin
brcmfmac43241b0-sdio.bin
brcmfmac43241b4-sdio.bin
brcmfmac43241b5-sdio.bin
brcmfmac43242a.bin
brcmfmac4329-sdio.bin
brcmfmac4330-sdio.bin
brcmfmac43340-sdio.bin
brcmfmac4334-sdio.bin
brcmfmac4335-sdio.bin
brcmfmac43362-sdio.bin
brcmfmac4339-sdio.bin
brcmfmac43430a0-sdio.bin
brcmfmac43430-sdio.bin
brcmfmac43455-sdio.bin
brcmfmac4350c2-pcie.bin
brcmfmac4350-pcie.bin
brcmfmac4354-sdio.bin
brcmfmac43569.bin
brcmfmac4356-pcie.bin
brcmfmac4356-sdio.bin
brcmfmac43570-pcie.bin
brcmfmac4358-pcie.bin
brcmfmac43602-pcie.ap.bin
brcmfmac43602-pcie.bin
brcmfmac4366b-pcie.bin
brcmfmac4366c-pcie.bin
brcmfmac4371-pcie.bin
brcmfmac4373.bin
brcmfmac4373-sdio.bin

Christian Reis (kiko)
summary: - Firmware missing for Thinkpad X-series Bluetooth adapters, heads to
+ Firmware missing for Thinkpad X-series Bluetooth adapters, leads to
headset HSP/HFP profiles not working
Revision history for this message
Seth Forshee (sforshee) wrote :
Revision history for this message
Christian Reis (kiko) wrote :

OK, let's try with the Broadcom first -- I've sent email and copied you.

Changed in bluez-firmware (Debian):
status: Unknown → New
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in linux-firmware (Ubuntu):
status: New → Confirmed
Revision history for this message
xor (xor) wrote :

This USED TO work on Kubuntu 14.04 for my machine, and then broke upon dist-upgrade to 18.04, with "BCM20702A1-0a5c-21e6.hcd" missing as the others reported.

If 14.04 shipped the file apparently then why can't 18.04 just do the same? :)

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

Other bug subscribers

Remote bug watches

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