Computing and Networks

Bluetooth USB dongle firmware error in Ubuntu 16.04 – 16.10

After having a running battle with my, what turns out, cheap Chinese CSR clone bluetooth USB adaptor (maybe more on that in another post).  I purchased a more expensive adaptor to trouble shoot some issues.  The time round I picked up a Targus brand from the local office supply store that based on the  Broadcom BCM20702a1 chip.

When booting up with the adaptor installed I noticed HCI errors in my dmesg

Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
bluetooth hci0: firmware: failed to load brcm/BCM20702A1-0a5c-21e6.hcd (-2)
bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21e6.hcd failed with error -2
Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21e6.hcd not found

It would appear that the distribution I am running doesn’t have the firmware drivers for this adaptor and that this is not that unusual and not that big of an issue.  Installing firmware drivers is not that big a deal and the internet is usually your friend.

My adaptor came with windows drivers but I chose to download updated drivers from the internet that came in a nice packaged windows installer.  Turns out the pakaging was new but the needed hex file contained inside was the same version (windows driver installers tend to be huge full of different drivers for different chipsets).  After a quick search I determined that the BCM20702A1_001.002.014.1483.1669.hex file was the one I needed for my adaptor.

A nifty utility called hex2hcd will convert the hex file into the what linux can load.

$> hex2hcd BCM20702A1_001.002.014.1483.1669.hex

Then copy to the firmware directory with the correct name:

$> sudo cp ./BCM20702A1_001.002.014.1483.1669.hcd /lib/firmware/brcm/BCM20702A1-0a5c-21e6.hcd

Reboot and all should be one with the universe.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s