Comment 84 for bug 1065400

Revision history for this message
Karl Kurbjun (kkurbjun) wrote :

I tried creating the appropriate hcd file for my device with the 3.5.0-27-generic kernel and placing it in /lib/firmware, but it did not seem like the current kernel module knows to load firmware for my vendor/product id.

My lsusb output is:
Bus 002 Device 004: ID 0a5c:21e1 Broadcom Corp.

To get HSP/HFP profile working on my machine I went through the following process:

I downloaded the windows driver from broadcom's site:
http://www.broadcom.com/support/bluetooth/update.php

To get the appropriate firmware for my device I ran the windows installer from wine and then copied the files it extracted from my wine temp directory: "~/.wine/drive_c/users/<username>/Temp"

I searched bcbtums-win8x64-brcm.inf for my product id "21e1" and found the required firmware file "BCM20702A1_001.002.014.0889.0920.hex".

Aftter that I ran the hcd converter tool on it from here:
https://github.com/jessesung/hex2hcd

I named the file output "fw-0a5c_21e1.hcd" and placed it in /lib/firmware but the kernel did not seem to pick it up.

As the next step I compiled the patch plus application from here:
http://marc.info/?l=linux-bluetooth&m=132039175324993&w=2

With that tool I was able to manually load the firmware from user space with the following command:
"sudo ./patchram --patchram /lib/firmware/fw-0a5c_21e1.hcd hci0"

After that HSP/HFP profile started working. If I am not using the -proposed kernel should this be working automatically now or is this fix still just in proposed?