Bluetooth Broadcom 43142 isn't working
Bluetooth is on but can't find or be found by any other devices.
Output of sudo service bluetooth status
:
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since ხუთ 2015-06-04 22:33:18 GET; 13min ago
Main PID: 26678 (bluetoothd)
CGroup: /system.slice/bluetooth.service
└─26678 /usr/sbin/bluetoothd -n
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPAG
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPHS
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSource
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSink
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPAG
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPHS
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSource
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSink
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Adapter /org/bluez/26678/hci0 has been enabled
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Adapter /org/bluez/26678/hci0 has been enabled
Output of lsusb
:
Bus 003 Device 005: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
How can I fix it?
drivers wireless bluetooth broadcom firmware
add a comment |
Bluetooth is on but can't find or be found by any other devices.
Output of sudo service bluetooth status
:
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since ხუთ 2015-06-04 22:33:18 GET; 13min ago
Main PID: 26678 (bluetoothd)
CGroup: /system.slice/bluetooth.service
└─26678 /usr/sbin/bluetoothd -n
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPAG
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPHS
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSource
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSink
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPAG
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPHS
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSource
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSink
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Adapter /org/bluez/26678/hci0 has been enabled
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Adapter /org/bluez/26678/hci0 has been enabled
Output of lsusb
:
Bus 003 Device 005: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
How can I fix it?
drivers wireless bluetooth broadcom firmware
Please edit your question and add output oflsusb
terminal command.
– Pilot6
Jun 4 '15 at 18:48
It's edited already. are you here? @Pilot6
– Guja1501
Jun 4 '15 at 19:02
Yes, I was writing the answer.
– Pilot6
Jun 4 '15 at 19:04
Please also add to your question output ofuname -a
command.
– Pilot6
Jun 4 '15 at 19:15
Similar question with a answer for the 4352 card askubuntu.com/questions/617513/…
– Wilf
May 19 '16 at 20:06
add a comment |
Bluetooth is on but can't find or be found by any other devices.
Output of sudo service bluetooth status
:
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since ხუთ 2015-06-04 22:33:18 GET; 13min ago
Main PID: 26678 (bluetoothd)
CGroup: /system.slice/bluetooth.service
└─26678 /usr/sbin/bluetoothd -n
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPAG
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPHS
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSource
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSink
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPAG
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPHS
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSource
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSink
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Adapter /org/bluez/26678/hci0 has been enabled
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Adapter /org/bluez/26678/hci0 has been enabled
Output of lsusb
:
Bus 003 Device 005: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
How can I fix it?
drivers wireless bluetooth broadcom firmware
Bluetooth is on but can't find or be found by any other devices.
Output of sudo service bluetooth status
:
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since ხუთ 2015-06-04 22:33:18 GET; 13min ago
Main PID: 26678 (bluetoothd)
CGroup: /system.slice/bluetooth.service
└─26678 /usr/sbin/bluetoothd -n
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPAG
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPHS
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSource
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSink
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPAG
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/HFPHS
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSource
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/BlueZ4/A2DPSink
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: Adapter /org/bluez/26678/hci0 has been enabled
ივნ 04 22:39:14 Rangoo bluetoothd[26678]: bluetoothd[26678]: Adapter /org/bluez/26678/hci0 has been enabled
Output of lsusb
:
Bus 003 Device 005: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
How can I fix it?
drivers wireless bluetooth broadcom firmware
drivers wireless bluetooth broadcom firmware
edited Oct 20 at 13:24
pomsky
28.3k1185112
28.3k1185112
asked Jun 4 '15 at 18:45
Guja1501
263147
263147
Please edit your question and add output oflsusb
terminal command.
– Pilot6
Jun 4 '15 at 18:48
It's edited already. are you here? @Pilot6
– Guja1501
Jun 4 '15 at 19:02
Yes, I was writing the answer.
– Pilot6
Jun 4 '15 at 19:04
Please also add to your question output ofuname -a
command.
– Pilot6
Jun 4 '15 at 19:15
Similar question with a answer for the 4352 card askubuntu.com/questions/617513/…
– Wilf
May 19 '16 at 20:06
add a comment |
Please edit your question and add output oflsusb
terminal command.
– Pilot6
Jun 4 '15 at 18:48
It's edited already. are you here? @Pilot6
– Guja1501
Jun 4 '15 at 19:02
Yes, I was writing the answer.
– Pilot6
Jun 4 '15 at 19:04
Please also add to your question output ofuname -a
command.
– Pilot6
Jun 4 '15 at 19:15
Similar question with a answer for the 4352 card askubuntu.com/questions/617513/…
– Wilf
May 19 '16 at 20:06
Please edit your question and add output of
lsusb
terminal command.– Pilot6
Jun 4 '15 at 18:48
Please edit your question and add output of
lsusb
terminal command.– Pilot6
Jun 4 '15 at 18:48
It's edited already. are you here? @Pilot6
– Guja1501
Jun 4 '15 at 19:02
It's edited already. are you here? @Pilot6
– Guja1501
Jun 4 '15 at 19:02
Yes, I was writing the answer.
– Pilot6
Jun 4 '15 at 19:04
Yes, I was writing the answer.
– Pilot6
Jun 4 '15 at 19:04
Please also add to your question output of
uname -a
command.– Pilot6
Jun 4 '15 at 19:15
Please also add to your question output of
uname -a
command.– Pilot6
Jun 4 '15 at 19:15
Similar question with a answer for the 4352 card askubuntu.com/questions/617513/…
– Wilf
May 19 '16 at 20:06
Similar question with a answer for the 4352 card askubuntu.com/questions/617513/…
– Wilf
May 19 '16 at 20:06
add a comment |
3 Answers
3
active
oldest
votes
You need to install firmware.
Distribution of Broadcom firmware is not allowed by Broadcom license. So you need to get it yourself. It is a bit complex, but there is no other legal way.
- Download Broadcom Windows 8 driver or FROM HERE.
If you device is not listed in these drivers, you'll need to find a newer version of it somewhere. Broadcom removed the latest drivers from their site to make it more difficult.
Some laptop vendors have Bluetooth drivers on their sites, but some of them are not unzippable. So it is some quest. I could download the latest Broadcom drivers from their site, but it is not there any more.
- Open this file by Archive Manager and find there
bcbtums-win8x86-brcm.inf
file. Name of the file may differ in some drivers. It can bebcbtums.inf
located at Win32 or Win64 directory. It does not matter 32 or 64 bit to download.
Search this file for VID_0A5C&PID_21D7. These numbers are from your
lsusb
output
0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.
Comment: Some devices are not recognized as Broadcom BT in lsusb
. If you are unsure which one is your BT device, run usb-devices
command, it will give more detailed information. There you can find product and vendor IDs.
You will see some line ending with RAMUSB21D7
Search this file for RAMUSB21D7. You will find a section there like that:
[RAMUSB21D7.CopyList]
bcbtums.sys
btwampfl.sys
BCM43142A0_001.001.011.0122.0126.hex
That's what we are looking for. Name of the firmware file.
BCM43142A0_001.001.011.0122.0126.hex
Now extract that firmware from the same cab file.
Then you need to convert this file from hex to hcd format.
Download the tool for that
git clone git://github.com/jessesung/hex2hcd.git
cd hex2hcd
make
You will get hex2hcd folder in your home directory.
Place the firmware file to your home folder and run
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM43142A0-0a5c-21d7.hcd
You see that 0a5c-21d7 is id of your adapter from lsusb.
Important: For kernels 4.2+ you call this file as BCM.hcd
instead.
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM.hcd
For kernels 4.8+ name of the file should be BCM-<VID>-<PID>.hcd
, like BCM-0a5c-21d7
.
Now just copy
BCM43142A0-0a5c-21d7.hcd
, or another file according to the kernel version to/lib/firmware/brcm
directory by
sudo cp ~/BCM43142A0-0a5c-21d7.hcd /lib/firmware/brcm
For kernels 4.2+
sudo cp ~/BCM.hcd /lib/firmware/brcm
For kernels 4.8+
sudo cp ~/BCM-0a5c-21d7.hcd /lib/firmware/brcm
You can always check if the file name is correct by running dmesg | grep -i blue
. There will be an error message if the file is not found.
Turn your computer off and on again. Not just reboot!
Your adapter will get firmware and bluetooth should work.
All this looks complicated, but it is Broadcom lawyers to blame for that. Most of other vendors allow to re-distribute firmware under condition that it is done acompanied with the license.
That allows linux maintainers to include firmware in distributions.
But not in case of Broadcom. That's why it is not done an easy way.
Many people could convert all hex files to hcd and make them available. Or just add them to linux-firmware package of Ubuntu.
But it is not legal :-((
6
Most of the times when I woke up my laptop, the reloading of the bluetooth module fails with a kernel stack trace. If you need bluetooth without rebooting, you will need to unload the bluetooth module (sudo modprobe -r btusb
) and reload it (sudo modprobe btusb
) for blueooth to work again. bugzilla.kernel.org/show_bug.cgi?id=81821
– solsTiCe
Jun 21 '15 at 18:24
1
In step 6, hex2hcd must be given an output file, like: hex2hcd [input-file] -o [output-file] Can you please update the answer?
– Minas Mina
Jan 23 '16 at 16:51
There is output file in the answer. Or did the author change it. It used to be `hex2hcd input-file output-file
– Pilot6
Jan 23 '16 at 16:54
3
Thanks @Pilot6 for updating main post. In my case I looked the error indmesg
to know my correct file. Example dmesg output:[ 3.479417] bluetooth hci0: Direct firmware load for brcm/BCM-0a5c-6410.hcd failed with error -2 [ 3.479421] Bluetooth: hci0: BCM: Patch brcm/BCM-0a5c-6410.hcd not found
– morhook
Jul 8 '16 at 15:59
3
DUALBOOT USERS: Note that you can extract the correct firmware from your Windows OS. In order to do that, go to Windows Device Manager, find your Bluetooth device, right-click, Properties, Driver, Driver Details. There you will find the path to your.hex
file, which you can copy to your Linux system. After that, follow the steps 5-8. This answer is excellent, by the way.
– Manu CJ
Dec 8 '17 at 23:43
|
show 24 more comments
Here is a project that aims to automate the process a bit:
https://github.com/winterheart/broadcom-bt-firmware
copy the BCM to the right dir/name depending on the kernel (as described above).
On 4.8 I did not need a reboot, simply in a terminal:
sudo modprobe -r btusb
sudo modprobe btusb
dmesg | grep -i blu
should show if it is loaded.
Make sure the hardware ID matched the file.
It can be found with :
lsusb
which shows this on my Lenovo (only that line):
Bus 001 Device 006: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module
I hope that helps :)
In my case (UtechSmart USB Bluetooth 4.0 Device id: 0a5c:21e8) the winterheart drivers loaded buthcitool dev
still didn't show any devices and there was an error in syslog. Found another driver at plugable.com/2014/06/23/… that did work.
– Greg Bray
Dec 2 '17 at 22:30
add a comment |
That's all what you need: https://github.com/winterheart/broadcom-bt-firmware
On this repository you can find more informations and all Broadcom wireless card drivers needed.
To be more concrete I give you the instructions I wrote for myself:
This tutorial is intended to make the wireless/bluetooth network card Broadcom Corporation BCM43142 802.11b/g/n (rev 01) (Device ID: 0a5c:216d) working on Linux systems (I tried it on Elementary OS 0.4.1 Loki, based on Ubuntu 16.04.3 LTS).
It could not work for other devices but it should not vary too much from this procedure for other Broadcom devices.
The needed Broadcom drivers are on this GitHub's reposity folder in .hcd format.
Enter the following command to discover which driver name is the kernel looking for when loading the drives while booting:
dmesg | grep -i 'firmware load'
Try this one if it does not find anything:
dmesg | grep -i 'bluetooth'
The result should be something like this:
bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2
Explanation: in my case the kernel is looking for the file
BCM.hcd
under the directory/lib/firmware/brcm
where the Broadcom drivers are expected to be.
If the Kernel is looking for another driver name, you must rename the driver file (BCM43142A0-0a5c-216c.hcd
in my case for the BCM43142 (0a5c:216d)) to the required name by the kernel.
Move the renamed driver (BCM.hcd) to your home directory (/home/YourUsername/) and run the following command in order to move it to the folder the kernel is looking on while booting:
sudo mv ~/BCM.hcd /lib/firmware/brcm
You must use the corresponding driver depending on your device and rename it if requested for the kernel.
Reboot your computer and it should work!* (you can enter
dmesg | grep -i 'bluetooth'
once again to see if the driver has been loaded)
man, you saved my day, thank you!
– Sergii P
Aug 11 at 20:38
It worked! Thanks a lot! In my case, "BCM43142 802.11b/g/n [14e4:4365] (rev 01)" version wasn't available in the github folder, but I just tried it with BCM43142A0-185f-2167.hcd and it worked!
– Sriram Kannan
Oct 29 at 7:59
add a comment |
protected by Community♦ May 25 '16 at 13:01
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
You need to install firmware.
Distribution of Broadcom firmware is not allowed by Broadcom license. So you need to get it yourself. It is a bit complex, but there is no other legal way.
- Download Broadcom Windows 8 driver or FROM HERE.
If you device is not listed in these drivers, you'll need to find a newer version of it somewhere. Broadcom removed the latest drivers from their site to make it more difficult.
Some laptop vendors have Bluetooth drivers on their sites, but some of them are not unzippable. So it is some quest. I could download the latest Broadcom drivers from their site, but it is not there any more.
- Open this file by Archive Manager and find there
bcbtums-win8x86-brcm.inf
file. Name of the file may differ in some drivers. It can bebcbtums.inf
located at Win32 or Win64 directory. It does not matter 32 or 64 bit to download.
Search this file for VID_0A5C&PID_21D7. These numbers are from your
lsusb
output
0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.
Comment: Some devices are not recognized as Broadcom BT in lsusb
. If you are unsure which one is your BT device, run usb-devices
command, it will give more detailed information. There you can find product and vendor IDs.
You will see some line ending with RAMUSB21D7
Search this file for RAMUSB21D7. You will find a section there like that:
[RAMUSB21D7.CopyList]
bcbtums.sys
btwampfl.sys
BCM43142A0_001.001.011.0122.0126.hex
That's what we are looking for. Name of the firmware file.
BCM43142A0_001.001.011.0122.0126.hex
Now extract that firmware from the same cab file.
Then you need to convert this file from hex to hcd format.
Download the tool for that
git clone git://github.com/jessesung/hex2hcd.git
cd hex2hcd
make
You will get hex2hcd folder in your home directory.
Place the firmware file to your home folder and run
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM43142A0-0a5c-21d7.hcd
You see that 0a5c-21d7 is id of your adapter from lsusb.
Important: For kernels 4.2+ you call this file as BCM.hcd
instead.
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM.hcd
For kernels 4.8+ name of the file should be BCM-<VID>-<PID>.hcd
, like BCM-0a5c-21d7
.
Now just copy
BCM43142A0-0a5c-21d7.hcd
, or another file according to the kernel version to/lib/firmware/brcm
directory by
sudo cp ~/BCM43142A0-0a5c-21d7.hcd /lib/firmware/brcm
For kernels 4.2+
sudo cp ~/BCM.hcd /lib/firmware/brcm
For kernels 4.8+
sudo cp ~/BCM-0a5c-21d7.hcd /lib/firmware/brcm
You can always check if the file name is correct by running dmesg | grep -i blue
. There will be an error message if the file is not found.
Turn your computer off and on again. Not just reboot!
Your adapter will get firmware and bluetooth should work.
All this looks complicated, but it is Broadcom lawyers to blame for that. Most of other vendors allow to re-distribute firmware under condition that it is done acompanied with the license.
That allows linux maintainers to include firmware in distributions.
But not in case of Broadcom. That's why it is not done an easy way.
Many people could convert all hex files to hcd and make them available. Or just add them to linux-firmware package of Ubuntu.
But it is not legal :-((
6
Most of the times when I woke up my laptop, the reloading of the bluetooth module fails with a kernel stack trace. If you need bluetooth without rebooting, you will need to unload the bluetooth module (sudo modprobe -r btusb
) and reload it (sudo modprobe btusb
) for blueooth to work again. bugzilla.kernel.org/show_bug.cgi?id=81821
– solsTiCe
Jun 21 '15 at 18:24
1
In step 6, hex2hcd must be given an output file, like: hex2hcd [input-file] -o [output-file] Can you please update the answer?
– Minas Mina
Jan 23 '16 at 16:51
There is output file in the answer. Or did the author change it. It used to be `hex2hcd input-file output-file
– Pilot6
Jan 23 '16 at 16:54
3
Thanks @Pilot6 for updating main post. In my case I looked the error indmesg
to know my correct file. Example dmesg output:[ 3.479417] bluetooth hci0: Direct firmware load for brcm/BCM-0a5c-6410.hcd failed with error -2 [ 3.479421] Bluetooth: hci0: BCM: Patch brcm/BCM-0a5c-6410.hcd not found
– morhook
Jul 8 '16 at 15:59
3
DUALBOOT USERS: Note that you can extract the correct firmware from your Windows OS. In order to do that, go to Windows Device Manager, find your Bluetooth device, right-click, Properties, Driver, Driver Details. There you will find the path to your.hex
file, which you can copy to your Linux system. After that, follow the steps 5-8. This answer is excellent, by the way.
– Manu CJ
Dec 8 '17 at 23:43
|
show 24 more comments
You need to install firmware.
Distribution of Broadcom firmware is not allowed by Broadcom license. So you need to get it yourself. It is a bit complex, but there is no other legal way.
- Download Broadcom Windows 8 driver or FROM HERE.
If you device is not listed in these drivers, you'll need to find a newer version of it somewhere. Broadcom removed the latest drivers from their site to make it more difficult.
Some laptop vendors have Bluetooth drivers on their sites, but some of them are not unzippable. So it is some quest. I could download the latest Broadcom drivers from their site, but it is not there any more.
- Open this file by Archive Manager and find there
bcbtums-win8x86-brcm.inf
file. Name of the file may differ in some drivers. It can bebcbtums.inf
located at Win32 or Win64 directory. It does not matter 32 or 64 bit to download.
Search this file for VID_0A5C&PID_21D7. These numbers are from your
lsusb
output
0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.
Comment: Some devices are not recognized as Broadcom BT in lsusb
. If you are unsure which one is your BT device, run usb-devices
command, it will give more detailed information. There you can find product and vendor IDs.
You will see some line ending with RAMUSB21D7
Search this file for RAMUSB21D7. You will find a section there like that:
[RAMUSB21D7.CopyList]
bcbtums.sys
btwampfl.sys
BCM43142A0_001.001.011.0122.0126.hex
That's what we are looking for. Name of the firmware file.
BCM43142A0_001.001.011.0122.0126.hex
Now extract that firmware from the same cab file.
Then you need to convert this file from hex to hcd format.
Download the tool for that
git clone git://github.com/jessesung/hex2hcd.git
cd hex2hcd
make
You will get hex2hcd folder in your home directory.
Place the firmware file to your home folder and run
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM43142A0-0a5c-21d7.hcd
You see that 0a5c-21d7 is id of your adapter from lsusb.
Important: For kernels 4.2+ you call this file as BCM.hcd
instead.
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM.hcd
For kernels 4.8+ name of the file should be BCM-<VID>-<PID>.hcd
, like BCM-0a5c-21d7
.
Now just copy
BCM43142A0-0a5c-21d7.hcd
, or another file according to the kernel version to/lib/firmware/brcm
directory by
sudo cp ~/BCM43142A0-0a5c-21d7.hcd /lib/firmware/brcm
For kernels 4.2+
sudo cp ~/BCM.hcd /lib/firmware/brcm
For kernels 4.8+
sudo cp ~/BCM-0a5c-21d7.hcd /lib/firmware/brcm
You can always check if the file name is correct by running dmesg | grep -i blue
. There will be an error message if the file is not found.
Turn your computer off and on again. Not just reboot!
Your adapter will get firmware and bluetooth should work.
All this looks complicated, but it is Broadcom lawyers to blame for that. Most of other vendors allow to re-distribute firmware under condition that it is done acompanied with the license.
That allows linux maintainers to include firmware in distributions.
But not in case of Broadcom. That's why it is not done an easy way.
Many people could convert all hex files to hcd and make them available. Or just add them to linux-firmware package of Ubuntu.
But it is not legal :-((
6
Most of the times when I woke up my laptop, the reloading of the bluetooth module fails with a kernel stack trace. If you need bluetooth without rebooting, you will need to unload the bluetooth module (sudo modprobe -r btusb
) and reload it (sudo modprobe btusb
) for blueooth to work again. bugzilla.kernel.org/show_bug.cgi?id=81821
– solsTiCe
Jun 21 '15 at 18:24
1
In step 6, hex2hcd must be given an output file, like: hex2hcd [input-file] -o [output-file] Can you please update the answer?
– Minas Mina
Jan 23 '16 at 16:51
There is output file in the answer. Or did the author change it. It used to be `hex2hcd input-file output-file
– Pilot6
Jan 23 '16 at 16:54
3
Thanks @Pilot6 for updating main post. In my case I looked the error indmesg
to know my correct file. Example dmesg output:[ 3.479417] bluetooth hci0: Direct firmware load for brcm/BCM-0a5c-6410.hcd failed with error -2 [ 3.479421] Bluetooth: hci0: BCM: Patch brcm/BCM-0a5c-6410.hcd not found
– morhook
Jul 8 '16 at 15:59
3
DUALBOOT USERS: Note that you can extract the correct firmware from your Windows OS. In order to do that, go to Windows Device Manager, find your Bluetooth device, right-click, Properties, Driver, Driver Details. There you will find the path to your.hex
file, which you can copy to your Linux system. After that, follow the steps 5-8. This answer is excellent, by the way.
– Manu CJ
Dec 8 '17 at 23:43
|
show 24 more comments
You need to install firmware.
Distribution of Broadcom firmware is not allowed by Broadcom license. So you need to get it yourself. It is a bit complex, but there is no other legal way.
- Download Broadcom Windows 8 driver or FROM HERE.
If you device is not listed in these drivers, you'll need to find a newer version of it somewhere. Broadcom removed the latest drivers from their site to make it more difficult.
Some laptop vendors have Bluetooth drivers on their sites, but some of them are not unzippable. So it is some quest. I could download the latest Broadcom drivers from their site, but it is not there any more.
- Open this file by Archive Manager and find there
bcbtums-win8x86-brcm.inf
file. Name of the file may differ in some drivers. It can bebcbtums.inf
located at Win32 or Win64 directory. It does not matter 32 or 64 bit to download.
Search this file for VID_0A5C&PID_21D7. These numbers are from your
lsusb
output
0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.
Comment: Some devices are not recognized as Broadcom BT in lsusb
. If you are unsure which one is your BT device, run usb-devices
command, it will give more detailed information. There you can find product and vendor IDs.
You will see some line ending with RAMUSB21D7
Search this file for RAMUSB21D7. You will find a section there like that:
[RAMUSB21D7.CopyList]
bcbtums.sys
btwampfl.sys
BCM43142A0_001.001.011.0122.0126.hex
That's what we are looking for. Name of the firmware file.
BCM43142A0_001.001.011.0122.0126.hex
Now extract that firmware from the same cab file.
Then you need to convert this file from hex to hcd format.
Download the tool for that
git clone git://github.com/jessesung/hex2hcd.git
cd hex2hcd
make
You will get hex2hcd folder in your home directory.
Place the firmware file to your home folder and run
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM43142A0-0a5c-21d7.hcd
You see that 0a5c-21d7 is id of your adapter from lsusb.
Important: For kernels 4.2+ you call this file as BCM.hcd
instead.
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM.hcd
For kernels 4.8+ name of the file should be BCM-<VID>-<PID>.hcd
, like BCM-0a5c-21d7
.
Now just copy
BCM43142A0-0a5c-21d7.hcd
, or another file according to the kernel version to/lib/firmware/brcm
directory by
sudo cp ~/BCM43142A0-0a5c-21d7.hcd /lib/firmware/brcm
For kernels 4.2+
sudo cp ~/BCM.hcd /lib/firmware/brcm
For kernels 4.8+
sudo cp ~/BCM-0a5c-21d7.hcd /lib/firmware/brcm
You can always check if the file name is correct by running dmesg | grep -i blue
. There will be an error message if the file is not found.
Turn your computer off and on again. Not just reboot!
Your adapter will get firmware and bluetooth should work.
All this looks complicated, but it is Broadcom lawyers to blame for that. Most of other vendors allow to re-distribute firmware under condition that it is done acompanied with the license.
That allows linux maintainers to include firmware in distributions.
But not in case of Broadcom. That's why it is not done an easy way.
Many people could convert all hex files to hcd and make them available. Or just add them to linux-firmware package of Ubuntu.
But it is not legal :-((
You need to install firmware.
Distribution of Broadcom firmware is not allowed by Broadcom license. So you need to get it yourself. It is a bit complex, but there is no other legal way.
- Download Broadcom Windows 8 driver or FROM HERE.
If you device is not listed in these drivers, you'll need to find a newer version of it somewhere. Broadcom removed the latest drivers from their site to make it more difficult.
Some laptop vendors have Bluetooth drivers on their sites, but some of them are not unzippable. So it is some quest. I could download the latest Broadcom drivers from their site, but it is not there any more.
- Open this file by Archive Manager and find there
bcbtums-win8x86-brcm.inf
file. Name of the file may differ in some drivers. It can bebcbtums.inf
located at Win32 or Win64 directory. It does not matter 32 or 64 bit to download.
Search this file for VID_0A5C&PID_21D7. These numbers are from your
lsusb
output
0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.
Comment: Some devices are not recognized as Broadcom BT in lsusb
. If you are unsure which one is your BT device, run usb-devices
command, it will give more detailed information. There you can find product and vendor IDs.
You will see some line ending with RAMUSB21D7
Search this file for RAMUSB21D7. You will find a section there like that:
[RAMUSB21D7.CopyList]
bcbtums.sys
btwampfl.sys
BCM43142A0_001.001.011.0122.0126.hex
That's what we are looking for. Name of the firmware file.
BCM43142A0_001.001.011.0122.0126.hex
Now extract that firmware from the same cab file.
Then you need to convert this file from hex to hcd format.
Download the tool for that
git clone git://github.com/jessesung/hex2hcd.git
cd hex2hcd
make
You will get hex2hcd folder in your home directory.
Place the firmware file to your home folder and run
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM43142A0-0a5c-21d7.hcd
You see that 0a5c-21d7 is id of your adapter from lsusb.
Important: For kernels 4.2+ you call this file as BCM.hcd
instead.
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM.hcd
For kernels 4.8+ name of the file should be BCM-<VID>-<PID>.hcd
, like BCM-0a5c-21d7
.
Now just copy
BCM43142A0-0a5c-21d7.hcd
, or another file according to the kernel version to/lib/firmware/brcm
directory by
sudo cp ~/BCM43142A0-0a5c-21d7.hcd /lib/firmware/brcm
For kernels 4.2+
sudo cp ~/BCM.hcd /lib/firmware/brcm
For kernels 4.8+
sudo cp ~/BCM-0a5c-21d7.hcd /lib/firmware/brcm
You can always check if the file name is correct by running dmesg | grep -i blue
. There will be an error message if the file is not found.
Turn your computer off and on again. Not just reboot!
Your adapter will get firmware and bluetooth should work.
All this looks complicated, but it is Broadcom lawyers to blame for that. Most of other vendors allow to re-distribute firmware under condition that it is done acompanied with the license.
That allows linux maintainers to include firmware in distributions.
But not in case of Broadcom. That's why it is not done an easy way.
Many people could convert all hex files to hcd and make them available. Or just add them to linux-firmware package of Ubuntu.
But it is not legal :-((
edited Sep 1 '17 at 9:42
answered Jun 4 '15 at 19:03
Pilot6
51.5k15107196
51.5k15107196
6
Most of the times when I woke up my laptop, the reloading of the bluetooth module fails with a kernel stack trace. If you need bluetooth without rebooting, you will need to unload the bluetooth module (sudo modprobe -r btusb
) and reload it (sudo modprobe btusb
) for blueooth to work again. bugzilla.kernel.org/show_bug.cgi?id=81821
– solsTiCe
Jun 21 '15 at 18:24
1
In step 6, hex2hcd must be given an output file, like: hex2hcd [input-file] -o [output-file] Can you please update the answer?
– Minas Mina
Jan 23 '16 at 16:51
There is output file in the answer. Or did the author change it. It used to be `hex2hcd input-file output-file
– Pilot6
Jan 23 '16 at 16:54
3
Thanks @Pilot6 for updating main post. In my case I looked the error indmesg
to know my correct file. Example dmesg output:[ 3.479417] bluetooth hci0: Direct firmware load for brcm/BCM-0a5c-6410.hcd failed with error -2 [ 3.479421] Bluetooth: hci0: BCM: Patch brcm/BCM-0a5c-6410.hcd not found
– morhook
Jul 8 '16 at 15:59
3
DUALBOOT USERS: Note that you can extract the correct firmware from your Windows OS. In order to do that, go to Windows Device Manager, find your Bluetooth device, right-click, Properties, Driver, Driver Details. There you will find the path to your.hex
file, which you can copy to your Linux system. After that, follow the steps 5-8. This answer is excellent, by the way.
– Manu CJ
Dec 8 '17 at 23:43
|
show 24 more comments
6
Most of the times when I woke up my laptop, the reloading of the bluetooth module fails with a kernel stack trace. If you need bluetooth without rebooting, you will need to unload the bluetooth module (sudo modprobe -r btusb
) and reload it (sudo modprobe btusb
) for blueooth to work again. bugzilla.kernel.org/show_bug.cgi?id=81821
– solsTiCe
Jun 21 '15 at 18:24
1
In step 6, hex2hcd must be given an output file, like: hex2hcd [input-file] -o [output-file] Can you please update the answer?
– Minas Mina
Jan 23 '16 at 16:51
There is output file in the answer. Or did the author change it. It used to be `hex2hcd input-file output-file
– Pilot6
Jan 23 '16 at 16:54
3
Thanks @Pilot6 for updating main post. In my case I looked the error indmesg
to know my correct file. Example dmesg output:[ 3.479417] bluetooth hci0: Direct firmware load for brcm/BCM-0a5c-6410.hcd failed with error -2 [ 3.479421] Bluetooth: hci0: BCM: Patch brcm/BCM-0a5c-6410.hcd not found
– morhook
Jul 8 '16 at 15:59
3
DUALBOOT USERS: Note that you can extract the correct firmware from your Windows OS. In order to do that, go to Windows Device Manager, find your Bluetooth device, right-click, Properties, Driver, Driver Details. There you will find the path to your.hex
file, which you can copy to your Linux system. After that, follow the steps 5-8. This answer is excellent, by the way.
– Manu CJ
Dec 8 '17 at 23:43
6
6
Most of the times when I woke up my laptop, the reloading of the bluetooth module fails with a kernel stack trace. If you need bluetooth without rebooting, you will need to unload the bluetooth module (
sudo modprobe -r btusb
) and reload it (sudo modprobe btusb
) for blueooth to work again. bugzilla.kernel.org/show_bug.cgi?id=81821– solsTiCe
Jun 21 '15 at 18:24
Most of the times when I woke up my laptop, the reloading of the bluetooth module fails with a kernel stack trace. If you need bluetooth without rebooting, you will need to unload the bluetooth module (
sudo modprobe -r btusb
) and reload it (sudo modprobe btusb
) for blueooth to work again. bugzilla.kernel.org/show_bug.cgi?id=81821– solsTiCe
Jun 21 '15 at 18:24
1
1
In step 6, hex2hcd must be given an output file, like: hex2hcd [input-file] -o [output-file] Can you please update the answer?
– Minas Mina
Jan 23 '16 at 16:51
In step 6, hex2hcd must be given an output file, like: hex2hcd [input-file] -o [output-file] Can you please update the answer?
– Minas Mina
Jan 23 '16 at 16:51
There is output file in the answer. Or did the author change it. It used to be `hex2hcd input-file output-file
– Pilot6
Jan 23 '16 at 16:54
There is output file in the answer. Or did the author change it. It used to be `hex2hcd input-file output-file
– Pilot6
Jan 23 '16 at 16:54
3
3
Thanks @Pilot6 for updating main post. In my case I looked the error in
dmesg
to know my correct file. Example dmesg output: [ 3.479417] bluetooth hci0: Direct firmware load for brcm/BCM-0a5c-6410.hcd failed with error -2 [ 3.479421] Bluetooth: hci0: BCM: Patch brcm/BCM-0a5c-6410.hcd not found
– morhook
Jul 8 '16 at 15:59
Thanks @Pilot6 for updating main post. In my case I looked the error in
dmesg
to know my correct file. Example dmesg output: [ 3.479417] bluetooth hci0: Direct firmware load for brcm/BCM-0a5c-6410.hcd failed with error -2 [ 3.479421] Bluetooth: hci0: BCM: Patch brcm/BCM-0a5c-6410.hcd not found
– morhook
Jul 8 '16 at 15:59
3
3
DUALBOOT USERS: Note that you can extract the correct firmware from your Windows OS. In order to do that, go to Windows Device Manager, find your Bluetooth device, right-click, Properties, Driver, Driver Details. There you will find the path to your
.hex
file, which you can copy to your Linux system. After that, follow the steps 5-8. This answer is excellent, by the way.– Manu CJ
Dec 8 '17 at 23:43
DUALBOOT USERS: Note that you can extract the correct firmware from your Windows OS. In order to do that, go to Windows Device Manager, find your Bluetooth device, right-click, Properties, Driver, Driver Details. There you will find the path to your
.hex
file, which you can copy to your Linux system. After that, follow the steps 5-8. This answer is excellent, by the way.– Manu CJ
Dec 8 '17 at 23:43
|
show 24 more comments
Here is a project that aims to automate the process a bit:
https://github.com/winterheart/broadcom-bt-firmware
copy the BCM to the right dir/name depending on the kernel (as described above).
On 4.8 I did not need a reboot, simply in a terminal:
sudo modprobe -r btusb
sudo modprobe btusb
dmesg | grep -i blu
should show if it is loaded.
Make sure the hardware ID matched the file.
It can be found with :
lsusb
which shows this on my Lenovo (only that line):
Bus 001 Device 006: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module
I hope that helps :)
In my case (UtechSmart USB Bluetooth 4.0 Device id: 0a5c:21e8) the winterheart drivers loaded buthcitool dev
still didn't show any devices and there was an error in syslog. Found another driver at plugable.com/2014/06/23/… that did work.
– Greg Bray
Dec 2 '17 at 22:30
add a comment |
Here is a project that aims to automate the process a bit:
https://github.com/winterheart/broadcom-bt-firmware
copy the BCM to the right dir/name depending on the kernel (as described above).
On 4.8 I did not need a reboot, simply in a terminal:
sudo modprobe -r btusb
sudo modprobe btusb
dmesg | grep -i blu
should show if it is loaded.
Make sure the hardware ID matched the file.
It can be found with :
lsusb
which shows this on my Lenovo (only that line):
Bus 001 Device 006: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module
I hope that helps :)
In my case (UtechSmart USB Bluetooth 4.0 Device id: 0a5c:21e8) the winterheart drivers loaded buthcitool dev
still didn't show any devices and there was an error in syslog. Found another driver at plugable.com/2014/06/23/… that did work.
– Greg Bray
Dec 2 '17 at 22:30
add a comment |
Here is a project that aims to automate the process a bit:
https://github.com/winterheart/broadcom-bt-firmware
copy the BCM to the right dir/name depending on the kernel (as described above).
On 4.8 I did not need a reboot, simply in a terminal:
sudo modprobe -r btusb
sudo modprobe btusb
dmesg | grep -i blu
should show if it is loaded.
Make sure the hardware ID matched the file.
It can be found with :
lsusb
which shows this on my Lenovo (only that line):
Bus 001 Device 006: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module
I hope that helps :)
Here is a project that aims to automate the process a bit:
https://github.com/winterheart/broadcom-bt-firmware
copy the BCM to the right dir/name depending on the kernel (as described above).
On 4.8 I did not need a reboot, simply in a terminal:
sudo modprobe -r btusb
sudo modprobe btusb
dmesg | grep -i blu
should show if it is loaded.
Make sure the hardware ID matched the file.
It can be found with :
lsusb
which shows this on my Lenovo (only that line):
Bus 001 Device 006: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module
I hope that helps :)
answered Dec 13 '16 at 11:12
Vincent Gerris
68459
68459
In my case (UtechSmart USB Bluetooth 4.0 Device id: 0a5c:21e8) the winterheart drivers loaded buthcitool dev
still didn't show any devices and there was an error in syslog. Found another driver at plugable.com/2014/06/23/… that did work.
– Greg Bray
Dec 2 '17 at 22:30
add a comment |
In my case (UtechSmart USB Bluetooth 4.0 Device id: 0a5c:21e8) the winterheart drivers loaded buthcitool dev
still didn't show any devices and there was an error in syslog. Found another driver at plugable.com/2014/06/23/… that did work.
– Greg Bray
Dec 2 '17 at 22:30
In my case (UtechSmart USB Bluetooth 4.0 Device id: 0a5c:21e8) the winterheart drivers loaded but
hcitool dev
still didn't show any devices and there was an error in syslog. Found another driver at plugable.com/2014/06/23/… that did work.– Greg Bray
Dec 2 '17 at 22:30
In my case (UtechSmart USB Bluetooth 4.0 Device id: 0a5c:21e8) the winterheart drivers loaded but
hcitool dev
still didn't show any devices and there was an error in syslog. Found another driver at plugable.com/2014/06/23/… that did work.– Greg Bray
Dec 2 '17 at 22:30
add a comment |
That's all what you need: https://github.com/winterheart/broadcom-bt-firmware
On this repository you can find more informations and all Broadcom wireless card drivers needed.
To be more concrete I give you the instructions I wrote for myself:
This tutorial is intended to make the wireless/bluetooth network card Broadcom Corporation BCM43142 802.11b/g/n (rev 01) (Device ID: 0a5c:216d) working on Linux systems (I tried it on Elementary OS 0.4.1 Loki, based on Ubuntu 16.04.3 LTS).
It could not work for other devices but it should not vary too much from this procedure for other Broadcom devices.
The needed Broadcom drivers are on this GitHub's reposity folder in .hcd format.
Enter the following command to discover which driver name is the kernel looking for when loading the drives while booting:
dmesg | grep -i 'firmware load'
Try this one if it does not find anything:
dmesg | grep -i 'bluetooth'
The result should be something like this:
bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2
Explanation: in my case the kernel is looking for the file
BCM.hcd
under the directory/lib/firmware/brcm
where the Broadcom drivers are expected to be.
If the Kernel is looking for another driver name, you must rename the driver file (BCM43142A0-0a5c-216c.hcd
in my case for the BCM43142 (0a5c:216d)) to the required name by the kernel.
Move the renamed driver (BCM.hcd) to your home directory (/home/YourUsername/) and run the following command in order to move it to the folder the kernel is looking on while booting:
sudo mv ~/BCM.hcd /lib/firmware/brcm
You must use the corresponding driver depending on your device and rename it if requested for the kernel.
Reboot your computer and it should work!* (you can enter
dmesg | grep -i 'bluetooth'
once again to see if the driver has been loaded)
man, you saved my day, thank you!
– Sergii P
Aug 11 at 20:38
It worked! Thanks a lot! In my case, "BCM43142 802.11b/g/n [14e4:4365] (rev 01)" version wasn't available in the github folder, but I just tried it with BCM43142A0-185f-2167.hcd and it worked!
– Sriram Kannan
Oct 29 at 7:59
add a comment |
That's all what you need: https://github.com/winterheart/broadcom-bt-firmware
On this repository you can find more informations and all Broadcom wireless card drivers needed.
To be more concrete I give you the instructions I wrote for myself:
This tutorial is intended to make the wireless/bluetooth network card Broadcom Corporation BCM43142 802.11b/g/n (rev 01) (Device ID: 0a5c:216d) working on Linux systems (I tried it on Elementary OS 0.4.1 Loki, based on Ubuntu 16.04.3 LTS).
It could not work for other devices but it should not vary too much from this procedure for other Broadcom devices.
The needed Broadcom drivers are on this GitHub's reposity folder in .hcd format.
Enter the following command to discover which driver name is the kernel looking for when loading the drives while booting:
dmesg | grep -i 'firmware load'
Try this one if it does not find anything:
dmesg | grep -i 'bluetooth'
The result should be something like this:
bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2
Explanation: in my case the kernel is looking for the file
BCM.hcd
under the directory/lib/firmware/brcm
where the Broadcom drivers are expected to be.
If the Kernel is looking for another driver name, you must rename the driver file (BCM43142A0-0a5c-216c.hcd
in my case for the BCM43142 (0a5c:216d)) to the required name by the kernel.
Move the renamed driver (BCM.hcd) to your home directory (/home/YourUsername/) and run the following command in order to move it to the folder the kernel is looking on while booting:
sudo mv ~/BCM.hcd /lib/firmware/brcm
You must use the corresponding driver depending on your device and rename it if requested for the kernel.
Reboot your computer and it should work!* (you can enter
dmesg | grep -i 'bluetooth'
once again to see if the driver has been loaded)
man, you saved my day, thank you!
– Sergii P
Aug 11 at 20:38
It worked! Thanks a lot! In my case, "BCM43142 802.11b/g/n [14e4:4365] (rev 01)" version wasn't available in the github folder, but I just tried it with BCM43142A0-185f-2167.hcd and it worked!
– Sriram Kannan
Oct 29 at 7:59
add a comment |
That's all what you need: https://github.com/winterheart/broadcom-bt-firmware
On this repository you can find more informations and all Broadcom wireless card drivers needed.
To be more concrete I give you the instructions I wrote for myself:
This tutorial is intended to make the wireless/bluetooth network card Broadcom Corporation BCM43142 802.11b/g/n (rev 01) (Device ID: 0a5c:216d) working on Linux systems (I tried it on Elementary OS 0.4.1 Loki, based on Ubuntu 16.04.3 LTS).
It could not work for other devices but it should not vary too much from this procedure for other Broadcom devices.
The needed Broadcom drivers are on this GitHub's reposity folder in .hcd format.
Enter the following command to discover which driver name is the kernel looking for when loading the drives while booting:
dmesg | grep -i 'firmware load'
Try this one if it does not find anything:
dmesg | grep -i 'bluetooth'
The result should be something like this:
bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2
Explanation: in my case the kernel is looking for the file
BCM.hcd
under the directory/lib/firmware/brcm
where the Broadcom drivers are expected to be.
If the Kernel is looking for another driver name, you must rename the driver file (BCM43142A0-0a5c-216c.hcd
in my case for the BCM43142 (0a5c:216d)) to the required name by the kernel.
Move the renamed driver (BCM.hcd) to your home directory (/home/YourUsername/) and run the following command in order to move it to the folder the kernel is looking on while booting:
sudo mv ~/BCM.hcd /lib/firmware/brcm
You must use the corresponding driver depending on your device and rename it if requested for the kernel.
Reboot your computer and it should work!* (you can enter
dmesg | grep -i 'bluetooth'
once again to see if the driver has been loaded)
That's all what you need: https://github.com/winterheart/broadcom-bt-firmware
On this repository you can find more informations and all Broadcom wireless card drivers needed.
To be more concrete I give you the instructions I wrote for myself:
This tutorial is intended to make the wireless/bluetooth network card Broadcom Corporation BCM43142 802.11b/g/n (rev 01) (Device ID: 0a5c:216d) working on Linux systems (I tried it on Elementary OS 0.4.1 Loki, based on Ubuntu 16.04.3 LTS).
It could not work for other devices but it should not vary too much from this procedure for other Broadcom devices.
The needed Broadcom drivers are on this GitHub's reposity folder in .hcd format.
Enter the following command to discover which driver name is the kernel looking for when loading the drives while booting:
dmesg | grep -i 'firmware load'
Try this one if it does not find anything:
dmesg | grep -i 'bluetooth'
The result should be something like this:
bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2
Explanation: in my case the kernel is looking for the file
BCM.hcd
under the directory/lib/firmware/brcm
where the Broadcom drivers are expected to be.
If the Kernel is looking for another driver name, you must rename the driver file (BCM43142A0-0a5c-216c.hcd
in my case for the BCM43142 (0a5c:216d)) to the required name by the kernel.
Move the renamed driver (BCM.hcd) to your home directory (/home/YourUsername/) and run the following command in order to move it to the folder the kernel is looking on while booting:
sudo mv ~/BCM.hcd /lib/firmware/brcm
You must use the corresponding driver depending on your device and rename it if requested for the kernel.
Reboot your computer and it should work!* (you can enter
dmesg | grep -i 'bluetooth'
once again to see if the driver has been loaded)
edited Jan 23 at 0:49
muru
1
1
answered Dec 10 '17 at 17:41
Juan Gómez Carrillo
9115
9115
man, you saved my day, thank you!
– Sergii P
Aug 11 at 20:38
It worked! Thanks a lot! In my case, "BCM43142 802.11b/g/n [14e4:4365] (rev 01)" version wasn't available in the github folder, but I just tried it with BCM43142A0-185f-2167.hcd and it worked!
– Sriram Kannan
Oct 29 at 7:59
add a comment |
man, you saved my day, thank you!
– Sergii P
Aug 11 at 20:38
It worked! Thanks a lot! In my case, "BCM43142 802.11b/g/n [14e4:4365] (rev 01)" version wasn't available in the github folder, but I just tried it with BCM43142A0-185f-2167.hcd and it worked!
– Sriram Kannan
Oct 29 at 7:59
man, you saved my day, thank you!
– Sergii P
Aug 11 at 20:38
man, you saved my day, thank you!
– Sergii P
Aug 11 at 20:38
It worked! Thanks a lot! In my case, "BCM43142 802.11b/g/n [14e4:4365] (rev 01)" version wasn't available in the github folder, but I just tried it with BCM43142A0-185f-2167.hcd and it worked!
– Sriram Kannan
Oct 29 at 7:59
It worked! Thanks a lot! In my case, "BCM43142 802.11b/g/n [14e4:4365] (rev 01)" version wasn't available in the github folder, but I just tried it with BCM43142A0-185f-2167.hcd and it worked!
– Sriram Kannan
Oct 29 at 7:59
add a comment |
protected by Community♦ May 25 '16 at 13:01
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
Please edit your question and add output of
lsusb
terminal command.– Pilot6
Jun 4 '15 at 18:48
It's edited already. are you here? @Pilot6
– Guja1501
Jun 4 '15 at 19:02
Yes, I was writing the answer.
– Pilot6
Jun 4 '15 at 19:04
Please also add to your question output of
uname -a
command.– Pilot6
Jun 4 '15 at 19:15
Similar question with a answer for the 4352 card askubuntu.com/questions/617513/…
– Wilf
May 19 '16 at 20:06