This post details how I managed to get the Broadcom wifi and bluetooth up and running under Ubuntu 16.04.2. Actually, I'm running KDE Neon which is built on 16.04, but the solution should be the same. I used a simple USB3 ethernet dongle for providing initial wired internet connectivity.
wifi
the following card is installed in my device:
$ lspci -nn | grep -i broad
01:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)
steps to support the wifi card:
- deactivate secure boot in the UEFI settings
- install the following packages (run in a terminal)
sudo apt install bcmwl-kernel-source firmware-b43-installerreference: https://askubuntu.com/questions/55868/installing-broadcom-wireless-drivers
bluetooth
The bluetooth device is known in Linux as:$ lsusb | grep BluetoothBy default, the firmware is missing due to legal concerns:
Bus 001 Device 006: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module
$ dmesg | grep -i bluetoThere is a Github repository with recent Broadcom bluetooth firmware files, so you don't have manually extract and convert the relevant files from the usb driver.
[ 7.060475] Bluetooth: Core ver 2.21
[ 7.060503] Bluetooth: HCI device and connection manager initialized
[ 7.061584] Bluetooth: HCI socket layer initialized
[ 7.061593] Bluetooth: L2CAP socket layer initialized
[ 7.061607] Bluetooth: SCO socket layer initialized
[ 7.084378] Bluetooth: hci0: BCM: chip id 70
[ 7.105106] Bluetooth: hci0: michael-Lenovo-Yoga-2-11
[ 7.105112] Bluetooth: hci0: BCM (001.001.011) build 0000
[ 7.110415] bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2
[ 7.110423] Bluetooth: hci0: BCM: Patch **brcm/BCM.hcd not found**
Install the BCM.hcd file in a terminal:
$ sudo apt install gitNow pick and choose the file that matches the usb device id from the lsusb command above.
$ cd
$ git clone https://github.com/winterheart/broadcom-bt-firmware.git
$ cd broadcom-bt-firmware/brcm
$ ls -l BCM43142A*
$ sudo cp BCM43142A0-105b-e065.hcd /lib/firmware/brcm/BCM.hcdFinally power off / on your pc -- askubuntu explicitly advises against a simple reboot. In my case a simple modprobe cycle was enough:
$ sudo modprobe -r btusbReference with much more in depth details: https://askubuntu.com/questions/632336/bluetooth-broadcom-43142-isnt-working
$ sudo modprobe btusb