So, wireless and bluetooth on my spankin new Y510p are provided by a single Mini PCI-e Broadcom BCM43142 adapter. The wifi part worked out of the box, most of the time, but the bluetooth did not. There are evidence that this particular chipset is supported on certain Ubuntu certified Dell laptop models, but only up to Ubuntu 12.10. The attached .deb on that post can be installed on 13.10, but bluetooth is still not working. Bummer

Usually, to know what kind of bluetooth adapter do you have, or whether your box has a bluetooth adapter, all you have to do is:

lsusb | grep -i bluetooth

But surprisingly:

ikhsan@M5-X:~/$ lsusb | grep -i bluetooth
ikhsan@M5-X:~/$

No bluetooth adapter was identified. But I know the laptop has one, since it was actually detected by hciconfig

ikhsan@M5-X:~/bt/hex2hcd$ hciconfig 
hci0:    Type: BR/EDR  Bus: USB
    BD Address: 1C:3E:84:E5:BA:68  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING PSCAN ISCAN 
    RX bytes:36699 acl:2135 sco:0 events:273 errors:0
    TX bytes:30967 acl:13 sco:0 commands:213 errors:0

So, unfiltered result of lsusb gave me this:

ikhsan@M5-X:~/bt/hex2hcd$ lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 05e3:0747 Genesys Logic, Inc. 
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 105b:e065  
Bus 003 Device 007: ID 1532:0033 Razer USA, Ltd 
Bus 003 Device 006: ID 041e:30df Creative Technology, Ltd 
Bus 003 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 003 Device 003: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 003 Device 002: ID 174f:1474 Syntek 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

There’s one entry that has no description. Googling  the device id confirms that this is indeed the bluetooth adapter that I’m looking for

dmesg gave me:

[   16.645428] Bluetooth: Core ver 2.16
[   16.645445] Bluetooth: HCI device and connection manager initialized
[   16.645453] Bluetooth: HCI socket layer initialized
[   16.645455] Bluetooth: L2CAP socket layer initialized
[   16.645461] Bluetooth: SCO socket layer initialized
[   18.861363] Bluetooth: hci0 command 0x1003 tx timeout
[   18.923343] Bluetooth: can't load firmware, may not work correctly
[   22.312535] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   22.312538] Bluetooth: BNEP filters: protocol multicast
[   22.312544] Bluetooth: BNEP socket layer initialized
[   22.373769] Bluetooth: RFCOMM TTY layer initialized
[   22.373782] Bluetooth: RFCOMM socket layer initialized
[   22.373784] Bluetooth: RFCOMM ver 1.11

So it’s a firmware issue. After further reading, this particular board requires additional firmware to be pushed during initialization, it supposed to be fixed , but here I am, with an a nonworking bcm43142 bluetooth on my Y510p. These are the steps that I did to get it to work:

  • Obtain .hex file for the bluetooth adapter. The easiest way is to do this is to to your windows partition, and copy the file from C:\windows\system32\drivers. The file should be named BCM43xxxx.hex. If there’s more than one file, consult your Windows device manager which file you should get. Or, if you have the same device id as mine, get it here,  this file is included on version 12.0.0.7820 of the bluetooth driver for Windows 8.1 X64. Put the file somewhere in your home folder, let say /home/ikhsan/bt

    BCMxxxxxx
    BCMxxxxxx
  • The .hex file need to be converted to a .hcd file. Replace 105b_e065 with your device id. Get the tool, convert, and place the hcd file to the firmware directory by performing
    $ cd /home/ikhsan/bt
    $ git clone git://github.com/jessesung/hex2hcd.git
    $ cd hex2hcd
    $ make
    $./hex2hcd ../BCM43142A0_001.001.011.0161.0172.hex fw-105b_e065.hcd
    $ sudo cp fw* /lib/firmware
  • Reload btusb module by performing
    $ sudo modprobe -r btusb
    $ sudo modprobe btusb

    If that doesn’t work, reboot the machine

You should now have a working bluetooth adapter. Dmesg after reboot and attaching my Razer Orochi  now gave me this:

ikhsan@M5-X:~$ dmesg | grep -i bluetooth
[   15.371858] Bluetooth: Core ver 2.16
[   15.371871] Bluetooth: HCI device and connection manager initialized
[   15.371876] Bluetooth: HCI socket layer initialized
[   15.371878] Bluetooth: L2CAP socket layer initialized
[   15.371881] Bluetooth: SCO socket layer initialized
[   16.819444] Bluetooth: firmware loaded
[   21.887192] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   21.887195] Bluetooth: BNEP filters: protocol multicast
[   21.887203] Bluetooth: BNEP socket layer initialized
[   21.889667] Bluetooth: RFCOMM TTY layer initialized
[   21.889675] Bluetooth: RFCOMM socket layer initialized
[   21.889676] Bluetooth: RFCOMM ver 1.11
[   31.580987] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[   31.580996] Bluetooth: HIDP socket layer initialized
[  318.526686] input: Razer Orochi as /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/bluetooth/hci0/hci0:11/input18
[  318.526988] hid-generic 0005:1532:0014.000A: input,hidraw7: BLUETOOTH HID v5.01 Mouse [Razer Orochi] on 1c:3e:84:e5:ba:68

My Razer Orochi works normally, even the pairing survived a reboot. Strangely my Apple Magic mouse can be paired but still not working.

Screenshot from 2014-03-01 11:02:19
Gnome-Shell Bluetooth menu

Update 8/3/2014:
So I decided to replace the Broadcom adapter with an Intel 6235AN adapter. It’s has 2.4GHz and 5GHz radio and  Bluetooth 4.0

By ikhsan

53 thoughts on “Ubuntu 13.10 and Bluetooth on Broadcom BCM43142 WIFI+BT combo adapter”
  1. fab article , thankfully i had the same id as your device , so this patch works i just fixed the problem on lenovo b490 , running ubuntu 14.04 . many thanks

  2. Lenovo G700, ubuntu 14.04 – same bluetooth device. Thenks to your instruction bt wrks fine. That means connnected to Logitech adapter to play music.

  3. Thanks, thannks, thanks a lot , you are a life saver, works like a charme with my dell inspiron 15.

  4. I have the same problem that you used to have but in my case when I tried to find the id from my bluetooth it doesn’t appear. I hope that you can help me. I’d really like to use ubuntu for this.
    eduardo@eduardo-SVF15215CLB:~$ lsusb
    Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 005: ID 5986:0543 Acer, Inc
    Bus 001 Device 004: ID 0489:e062 Foxconn / Hon Hai
    Bus 001 Device 003: ID 03eb:880f Atmel Corp.
    Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 002: ID 0781:5567 SanDisk Corp. Cruzer Blade
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

      1. Yes, you’re right It’s a vaio fit 15

        eduardo@eduardo-SVF15215CLB:~$ hcitool dev
        Devices:
        hci0 B8:76:3F:C5:C4:CC

        eduardo@eduardo-SVF15215CLB:~$ hciconfig dev
        hci0: Type: BR/EDR Bus: USB
        BD Address: B8:76:3F:C5:C4:CC ACL MTU: 1021:8 SCO MTU: 64:1
        UP RUNNING PSCAN ISCAN
        RX bytes:630 acl:0 sco:0 events:40 errors:0
        TX bytes:1439 acl:0 sco:0 commands:40 errors:0

        eduardo@eduardo-SVF15215CLB:~$ rfkill list
        0: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no
        1: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
        2: brcmwl-0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
        3: sony-wifi: Wireless LAN
        Soft blocked: no
        Hard blocked: no
        4: sony-bluetooth: Bluetooth
        Soft blocked: no
        Hard blocked: no
        5: nfc0: NFC
        Soft blocked: no
        Hard blocked: no
        Thanks.

        1. So bluetooth on your notebook is actually running.

          please do:

          dmesg | grep -i bluetooth

          and then, might as well try this. Put one of your bluetooth device in pairing mode (phone, headset, etc), and try to scan by doing:

          hcitool scan

          see if your bluetooth device is detected and listed. Output should be similar to this:

          ikhsan@fragfest:~$ hcitool scan
          Scanning ...
          	74:DE:2B:C7:0D:6F	Jabra CLIPPER
          

          If it is, try to install an alternative bluetooth manager such as blueman

          1. eduardo@eduardo-SVF15215CLB:~$ dmesg | grep -i bluetooth
            [ 7.913198] Bluetooth: Core ver 2.17
            [ 7.913219] Bluetooth: HCI device and connection manager initialized
            [ 7.913226] Bluetooth: HCI socket layer initialized
            [ 7.913229] Bluetooth: L2CAP socket layer initialized
            [ 7.913234] Bluetooth: SCO socket layer initialized
            [ 8.041113] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
            [ 8.041117] Bluetooth: BNEP filters: protocol multicast
            [ 8.041126] Bluetooth: BNEP socket layer initialized
            [ 8.056055] Bluetooth: RFCOMM TTY layer initialized
            [ 8.056068] Bluetooth: RFCOMM socket layer initialized
            [ 8.056075] Bluetooth: RFCOMM ver 1.11
            [ 8.423453] Bluetooth: can’t load firmware, may not work correctly
            Then I tried to do that you told me but I think that it doesn’t work at all because it is the output.
            eduardo@eduardo-SVF15215CLB:~$ hcitool scan
            Scanning …
            and I don’t get anything more.

    1. I’ve actually experience this before. Try to boot with liveCD, do lsusb, and see if it’s detected. One of my install also failed to list the device, and I had to reinstall it from scratch. If it’s still not detected, try to pair something from windows first, reboot, then repeat

  5. I have been trying the whole day but it’s still not working I’m starting to get frustated.

  6. at the moment that’s what I’m reading on the output of dmesg
    eduardo@eduardo-SVF15215CLB:~$ dmesg | grep Blue
    [ 5.078580] Bluetooth: Core ver 2.17
    [ 5.078603] Bluetooth: HCI device and connection manager initialized
    [ 5.078610] Bluetooth: HCI socket layer initialized
    [ 5.078613] Bluetooth: L2CAP socket layer initialized
    [ 5.078618] Bluetooth: SCO socket layer initialized
    [ 5.096716] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    [ 5.096720] Bluetooth: BNEP filters: protocol multicast
    [ 5.096729] Bluetooth: BNEP socket layer initialized
    [ 5.836567] Bluetooth: RFCOMM TTY layer initialized
    [ 5.836576] Bluetooth: RFCOMM socket layer initialized
    [ 5.836581] Bluetooth: RFCOMM ver 1.11
    [ 421.079642] Bluetooth: hci0 urb ffff8801c31dd0c0 failed to resubmit (2)
    [ 430.839441] Bluetooth: hci0 command 0x1003 tx timeout

  7. yeay…bluetooth is working right now on my ideapad Y410p,Ubuntu 14.04.1 😀 thanks saudara ikhsan kerana menyediakan tutorial untuk insan seperti saya yang kurang ilmu ini :3 terima kasih kerana mempermudahkan urusan saya :3 semoga harimu sentiasa berjalan dengan lancar ;3 long live ubuntu,from ubuntu user from Malaysia.. you r0x \m/

  8. I did everything mentioned in the post but it can be paired but still not working, then installed these packages

    sudo apt-get install bluez bluez-alsa bluez-audio bluez-btsco bluez-compat bluez-cups bluez-dbg bluez-gstreamer bluez-hcidump bluez-pcmcia-support bluez-tools bluez-utils python-bluez bluewho indicator-bluetooth libbluetooth-dev libgnome-bluetooth11 libbluetooth3 python-gobject python-dbus

    mentioned in next link http://askubuntu.com/questions/490346/bluetooth-not-working-in-ubuntu-14-04-lts, and is working for me, I rebooted and it still works, I thank you very much, now my bluetooth works. I have a Asus F201e with Ubuntu Studio 14.04

  9. Hi all, lenovo b5400 and kubuntu: my bluetooth doesn’t work. I tried a hciconfig but give no answer and hciconfig dev says “Can’t get device info: No such device”. Any hint?

    1. Google search tells me that the B5400 is equipped with either Intel 7260 or BCM20702.

      Can you tell me what kind of wireless adapter included in your notebook?
      also do:

      lsusb
      dmesg | grep -i Bluetooth

      and paste the output here

  10. lsusb
    Bus 002 Device 003: ID 1bcf:2c0c Sunplus Innovation Technology Inc.
    Bus 002 Device 004: ID 1bcf:0007 Sunplus Innovation Technology Inc. Optical Mouse
    Bus 002 Device 002: ID 8087:8000 Intel Corp.
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 003: ID 105b:e065
    Bus 001 Device 002: ID 8087:8008 Intel Corp.
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 002: ID 0480:a006 Toshiba America Info. Systems, Inc.
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    —-
    dmesg | grep -i Bluetooth
    [ 3.875121] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
    [ 4.244467] Bluetooth: Core ver 2.19
    [ 4.244499] Bluetooth: HCI device and connection manager initialized
    [ 4.244505] Bluetooth: HCI socket layer initialized
    [ 4.244507] Bluetooth: L2CAP socket layer initialized
    [ 4.244516] Bluetooth: SCO socket layer initialized
    [ 4.258984] Bluetooth: RFCOMM TTY layer initialized
    [ 4.258994] Bluetooth: RFCOMM socket layer initialized
    [ 4.259000] Bluetooth: RFCOMM ver 1.11
    [ 4.259377] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    [ 4.259379] Bluetooth: BNEP filters: protocol multicast
    [ 4.259382] Bluetooth: BNEP socket layer initialized

    thanks

    1. the device id is the same as mine, so the module should be similar. Also I did not find error message that indicates your notebook failed to load the firmware. Can you show me the output of:
      rfkill list

      thx

  11. rfkill list
    0: tpacpi_bluetooth_sw: Bluetooth
    Soft blocked: no
    Hard blocked: no
    1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
    2: brcmwl-0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

    for me is a great question too

    1. That is strange. At this point, all I can suggest you is to remove and reinstall bluez and any bluetooth related packages
      you can try
      apt-get install –reinstall bluez

  12. Thanks very much My Lenovo E10-30 bluetooth now working with your way.I already try dosen sites nothing works.Keep up sharing.

  13. Hi ikhsan,
    my bluetooth also doesnt work on Ubuntu 14.04. I’m using 3.16 kernel (for touchpad support). My laptop model is Acer Aspire E5-551G-T0KC.
    “hciconfig” doesn’t give me any output. “hcitool dev” only shows “Devices:”. “rfkill list all” shows:
    0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
    1: brcmwl-0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
    2: acer-wireless: Wireless LAN
    Soft blocked: no
    Hard blocked: no
    3: acer-bluetooth: Bluetooth
    Soft blocked: no
    Hard blocked: no

    “dmesg | grep -i bluetooth” shows:
    [ 16.748468] Bluetooth: Core ver 2.19
    [ 16.748505] Bluetooth: HCI device and connection manager initialized
    [ 16.748516] Bluetooth: HCI socket layer initialized
    [ 16.748519] Bluetooth: L2CAP socket layer initialized
    [ 16.748532] Bluetooth: SCO socket layer initialized
    [ 16.864490] Bluetooth: RFCOMM TTY layer initialized
    [ 16.864504] Bluetooth: RFCOMM socket layer initialized
    [ 16.864515] Bluetooth: RFCOMM ver 1.11
    [ 17.010017] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    [ 17.010022] Bluetooth: BNEP filters: protocol multicast
    [ 17.010034] Bluetooth: BNEP socket layer initialized

    “lusb” output:
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 006 Device 002: ID 06cb:2970 Synaptics, Inc.
    Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 003: ID 04f2:b455 Chicony Electronics Co., Ltd
    Bus 001 Device 006: ID 22b8:2e76 Motorola PCS
    Bus 001 Device 005: ID 046d:c065 Logitech, Inc.
    Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 005 Device 002: ID 04ca:2009 Lite-On Technology Corp.
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    “lspci” output:
    00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1422
    00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri
    00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device 1308
    00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1424
    00:02.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 1425
    00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1424
    00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 1426
    00:03.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 1426
    00:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1424
    00:10.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB XHCI Controller (rev 09)
    00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 40)
    00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB OHCI Controller (rev 11)
    00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller (rev 11)
    00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB OHCI Controller (rev 11)
    00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller (rev 11)
    00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 16)
    00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD] FCH Azalia Controller (rev 01)
    00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 11)
    00:14.4 PCI bridge: Advanced Micro Devices, Inc. [AMD] FCH PCI Bridge (rev 40)
    00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 141a
    00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 141b
    00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 141c
    00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 141d
    00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 141e
    00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 141f
    01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Opal XT [Radeon R7 M265]
    02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5287 (rev 01)
    02:00.1 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 12)
    03:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)

    Device with id 04ca:2009 in lsusieb should be my dvd drive (according to google), but last time i entered “lsusb -v -d 04ca:2009” it showed the product: “BCM43142A0”, which usually is the bluetooth card. After applying your and another guide, i can’t find it anymore.

    I would really appreciate any help.

    1. Hi,

      Please test the bluetooth on windows, and retest it again on Ubuntu. Sadly I’ve encountered a case like this before. I used to run 2 install of ubuntu, one managed to detect the bluetooth adapter, and the other one does not. The only solution that I found back then was to reinstall ubuntu from scratch. If you are set on using ubuntu, you should research whether your BIOS has component whitelist and consider to replace the wifi/bluetooth adapter with a working one

  14. Hello,
    thank you for your solution to this BCM43142 issue, great article. My case was exactly the same as yours. Bluetooth is working well now.

    My laptop is Lenovo B590,
    majo@majopc ~ $ lspci -nn -d 14e4:
    02:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)

  15. Hi Ikshan , I could get my bluetooth working with this procedure with 14.04 , i have lenovo B490 , now i have been trying the same using ubuntu 16.04 but bluetooth doesn’t work , is there something extra one needs to do … thanks for your help in advance

  16. Now I’m bummed that I blew away Windows without saving anything. I think the only way to get Bluetooth working now is to A: get a new wi-fi+BT card, or B: wait for Broadcom to (eventually, maybe) release the driver

    At least I know what the problem is. Thanks!

    1. I think you can extract the file from the Windows driver, without having it installed first. I just took that route because it was the easiest way in my situation

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.