Ubuntu – Bluetooth not working on BCM43142 on 14.10

14.10bluetoothdelldrivers

I have an issue on a Dell Vostro 3560 with a BCM43142 where the Bluetooth doesn't work even with the proprietary drivers installed. The WiFi works just fine. I'm running a fresh installation of Ubuntu 14.10. The only time it worked was when I had Dell preinstalled Ubuntu 12.04.

dmesg | grep Bluetooth gives
[ 4967.683179] Bluetooth: hci0: BCM: patch brcm/BCM43142A0-0a5c-21d7.hcd not found

I don't have a Windows installation I can get files from

From lsusb
Bus 002 Device 005: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0

apt-get shows
bcmwl-kernel-source is already the newest version.

This should have fixed my problem but it did not
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1065400
Why?

Any solution?

Best Answer

I had the same issue. I read some answers and this is the gist of it:

  1. Find ID of your device:

$ lsusb | grep Bluetooth

My output for example:

Bus 001 Device 003: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0

from which 0a5c:21d7 should be remembered.

  1. Get a hex file for your device:
    After searching for bluetooth drivers in Google I have chosen this download: http://drivers.softpedia.com/get/BLUETOOTH/Broadcom/Broadcom-43142-Bluetooth-40-Adapter-Driver-12007030-for-Windows-8.shtml#download

  2. How to get the right hex file.

So I have the id of the chip: 0a5c:21d7 and a bunch of the hex files from the downloaded archive. How can I get the right one for me? The trick is to investigate the .inf file that instructs windows what to install. Searching for 21D7 (note the capital D instead of 'd') I get this:

%Dell1704.DeviceDesc%=RAMUSB21D7, USB\VID_0A5C&PID_21D7 ; BRCM Generic 43142A0 RAMUSB

The USB/VID&PID is what I get on lsusb: capital(0a5c:21d7). The RAMUSB21D7 is what I need to search next in the inf file (it is the device's description).

And this is my result:

;;;;;;;;;;;;;RAMUSB21D7;;;;;;;;;;;;;;;;;

[RAMUSB21D7.CopyList]
bcbtums.sys
btwampfl.sys
BCM43142A0_001.001.011.0122.0126.hex

And the hex file I shall use is BCM43142A0_001.001.011.0122.0126.hex Extract this into home directory.

  1. Type this:

dmesg | grep Bluetooth

Result according to your issue is:

[ 4967.683179] Bluetooth: hci0: BCM: patch brcm/BCM43142A0-0a5c-21d7.hcd not found

It will tell the name and file its looking for. I your case it is:brcm/BCM43142A0-0a5c-21d7.hcd

  1. Convert the correct hex to hcd file. Open terminal and type these commands:

sudo apt-get install git

git clone git://github.com/jessesung/hex2hcd.git

cd hex2hcd

make

./hex2hcd ../BCMxxxx.xxx.xxx.xx.hex BCM43142A0-0a5c-21d7.hcd (Correct hex file and required hcd name here)

sudo cp BCM43142A0-0a5c-21d7.hcd /lib/firmware/brcm

Related Question