Ubuntu: how to make bluetooth working

This post describes step by step solution of how to make Bluetooth working on Lenovo V580c in Ubuntu 17.10. My Lenovo laptop uses BCM43142 chipset. I didn't test it on the previous Ubuntu versions, but I hope it also should work.

Find bluetoth chipset and device ID

First of all we need to make sure that we have appropriate Chipset.
Open terminal and enter the following command:

lsusb | grep Bluetooth

The output will look like:

Bus 001 Device 004: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module

We need ID 105b:e065 and BCM43142A0 from the output. Just rememeber or write it down somewhere. We'll need it in a few seconds later.

Find the reason why bluetooth not working

Now we need to figure out the reason why bluetooth is not working. In my case it was the following error:

bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2

The following error can be found in the output of the following command:

dmesg | egrep -i 'blue|firm'

Download firmware for our chipset:

There's very helpful repository on Github for various Broadcom Bluetooth firmware: https://github.com/winterheart/broadcom-bt-firmware
This repository provides firmware of Broadcom WIDCOMM® Bluetooth devices (including BCM20702, BCM20703, BCM43142 chipsets and other. Also it contains some other usefull details.

We need download this repository (or we can clone it using git).

After repository is downloaded, we need to go to broadcom-bt-firmware/brcm folder and find the file BCM43142A0-105b-e065.hcd and copy it to /lib/firmware/brcm with name BCM.hcd.

Now turn the lap top off and the turn it on.

Verify the output of the command dmesg | egrep -i 'blue|firm' again. The output should not display the error anymore.

Our bluetooth is ready and we can connect devices now. Open Settings -> Bluetooth and turn bluetooth if it was disabled before. Available devices should be displayed.

By default bluetooth will play sound in very poor quality. Sound quality can be changed in sound settings (Settings -> Sound):

Additional packages

In some cases additional packages can (should) be installed:

  • bluez
  • bluez-tools
  • blueman

Alexey Bogdanov

Read more posts by this author.

Subscribe to Development notes

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!