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
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
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
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):
In some cases additional packages can (should) be installed: