#801084 bluez-firmware: Please include firmware for Broadcom Corp. BCM20702 Bluetooth 4.0

#801084#5
Date:
2015-10-06 04:46:35 UTC
From:
To:
Hi there,

I have spent yesterday evening with trying to get my Bluetooth
working. After several attempts (e.g. adding my uid to the "lp" group,
because I got "DBusFailedError: No such file or directory" errors from
blueman) I found the following in my 'dmesg' output:

bluetooth hci0: Direct firmware load for brcm/BCM20702A0-0a5c-21e6.hcd
failed with error -2

Apparently, this file is missing for a proper operation of the
Bluetooth dongle on my system. However, it is not available in any
firmware package in Debian. Thus, I am asking you to add it to the
bluez-firmware package which I find most appropriate for this.

Having searched the web for this file name, I found the following site
with instructions on how to download and install it:

http://plugable.com/2014/06/23/plugable-usb-bluetooth-adapter-solving-hfphsp-profile-issues-on-linux

Once I followed the instructions on this site, I could connect all my
Bluetooth devices to my laptop.

Some additional information:

I am using a Lenovo ThinkPad T430.

# dmidecode -s bios-version; dmidecode -s bios-release-date
G1ETA6WW (2.66 )
08/19/2014

$ lsusb | grep Blue
Bus 003 Device 007: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0
[ThinkPad]

$ uname -a
Linux kff50 4.2.0-1-amd64 #1 SMP Debian 4.2.1-2 (2015-09-27) x86_64
GNU/Linux

Please tell me if you think a different package (e.g.
firmware-linux-nonfree, CC:ed) is better suited to hold this firmware,
I will then re-assign this bug there.

Thanks!

 - Fabian

#801084#10
Date:
2016-11-12 00:20:36 UTC
From:
To:
Hello.

You can use https://github.com/winterheart/broadcom-bt-firmware as base for
packaging.

#801084#15
Date:
2017-06-13 12:03:45 UTC
From:
To:
Hi!

I upgraded from jessie to stretch a few days ago and bluetooth stopped
working. With some digging around, it seems I'm affected by this bug.

The trouble is exacerbated by the fact that the firmware file from the github
link does not work on my bt adapter. It loads fine, no error messages, no
nothing. No working hci0 either.

I actually get a hci0:

hci0:	Type: Primary  Bus: USB
	BD Address: 34:23:87:FF:76:12  ACL MTU: 1021:8  SCO MTU: 64:1
	DOWN
	RX bytes:3374 acl:0 sco:0 events:409 errors:0
	TX bytes:36217 acl:0 sco:0 commands:408 errors:0

but it cannot be brought up:

# hciconfig hci0 up
Can't init device hci0: Invalid request code (56)
#

Cheers,
Juha

#801084#20
Date:
2017-09-08 12:58:34 UTC
From:
To:
Hi,
correct one[1] because the firmware driver from winterheart @ github
does not work for my notebook (Lenovo X230). I recently installed the
jessie-backports kernel (to fix another firmware-related kernel bug,
see: #764263) and can confirm that the bluetooth adapter does work
even without a firmware driver loaded.

But be aware: if you load the wrong firmware driver you have to
poweroff the system to unload the firmware (rmmod/modprobe and/or
restarting the system after deleting the firmware from
`/lib/firmware/brcm` is *not* enough).

(Side question: Does anyone know a way to unload the firmware?)


[1] Finding the correct firmware was not easy. On my research I
stumbled over this: https://www.slackwiki.com/Btfirmware-nonfree

He basically downloads the Windows drivers and extracts the firmware
as hex file (BCM20702A1_001.002.014.0449.0462.hex) and converts it
to the hcd format (BCM20702A1-0a5c-21e6.hcd) (via hex2hcd from
jessesung @ github).
As the Thinkpad T430s and my X230 seem to have the same firmware I
attached them for your convenience. Maybe is works for you too.

(Note for Debian/jessie users with Kernel 3.16:
BCM20702A0-0a5c-21e6.hcd is expected as firmware filename).

@Fabian: does the drivers provided by plugable.com really work?
Because they have the ID 0a5c:21e8 whereas your system has a
0a5c:21e6.

@winterheart (aka Azamat): what is difference of the firmware drivers
in your collection and the drivers which are provided by Lenovo?

@bluez-firmware-maintainers:

What needs to be done to bring these firmware drivers in this package?
How can we help?

Regards,
 - Darsha

#801084#25
Date:
2019-01-02 21:30:55 UTC
From:
To:
Hi,

The exact same controller works on Buster, with bluez-firmware/1.2-4,
so I am marking it as fixed there.


Best,

  nicoo

#801084#34
Date:
2019-07-14 19:22:36 UTC
From:
To:
Hi,

after upgrading from stretch to buster with bluez-firmware 1.2-4 the
card stopped working for me, asking for brcm/BCM20702A0-0a5c-21e6.hcd.

After copying
https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-0a5c-21e6.hcd
to /lib/firmware/brcm and shutting down it now works again.

~ $ sudo dmidecode -s bios-version; sudo dmidecode -s bios-release-date
8DET76WW (1.46 )
06/21/2018
~ $ lsusb | grep Blue
Bus 001 Device 005: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0
[ThinkPad]
~ $ uname -a
Linux hostname 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19)
x86_64 GNU/Linux

(This is a ThinkPad x220 where I replaced the bluetooth module.)

@nicoo: Do you maybe still have other firmware files lying around that
make it work?

best,
Malvin

#801084#39
Date:
2020-01-19 08:59:36 UTC
From:
To:
Hi,

I'd like to add to this that installing the bluez-firmware on an up to
date Buster installation (10.2) does not fix it, just like Malvin
points out. My hardware is looking for A1 instead of A0, but the issue
is the same.

Dmesg:

$ sudo dmesg |grep BCM20702A1
[    4.457749] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[    4.458102] bluetooth hci0: firmware: failed to load
brcm/BCM20702A1-0a5c-21e8.hcd (-2)
[    4.458192] bluetooth hci0: Direct firmware load for
brcm/BCM20702A1-0a5c-21e8.hcd failed with error -2
[    4.458194] Bluetooth: hci0: BCM: Patch
brcm/BCM20702A1-0a5c-21e8.hcd not found


bluez-firmware package contents:

$ dpkg -L bluez-firmware
/lib
/lib/firmware
/lib/firmware/BCM2033-FW.bin
/lib/firmware/BCM2033-MD.hex
/lib/firmware/STLC2500_R4_00_03.ptc
/lib/firmware/STLC2500_R4_00_06.ssf
/lib/firmware/STLC2500_R4_02_02_WLAN.ssf
/lib/firmware/STLC2500_R4_02_04.ptc
/usr
/usr/share
/usr/share/doc
/usr/share/doc/bluez-firmware
/usr/share/doc/bluez-firmware/BCM-LEGAL.txt
/usr/share/doc/bluez-firmware/README.Debian
/usr/share/doc/bluez-firmware/changelog.Debian.gz
/usr/share/doc/bluez-firmware/changelog.gz
/usr/share/doc/bluez-firmware/copyright


For me as well, following the instructions on
http://plugable.com/2014/06/23/plugable-usb-bluetooth-adapter-solving-hfphsp-profile-issues-on-linux
fixed this issue.

Thank you

Stijn

#801084#44
Date:
2021-03-07 14:11:27 UTC
From:
To:
Hi,

This is still an issue.

It works after manually copying the firmware found in [1]. However, the
README of this repository warns that those firmwares might have
vulnerabilities (such as CVE-2018-5383, CVE-2019-9506, CVE-2020-10135):
including them in Debian non-free, may not be a great idea.

[1] https://github.com/winterheart/broadcom-bt-firmware/tree/master/brcm

Gabriel