0

I've tried enabling from settings, doing sudo /etc/init.d/bluetooth start, sudo /etc/init.d/bluetooth restart, rfkill list says

2: hci0: Bluetooth
Soft blocked: no
Hard blocked: no

I have rfkill unblock bluetooth in rc.local but it just won't turn on. If I try enabling it via checkbox from settings the checkbox changes state but the text "bluetooth is disabled" is still there. Btw, yes, I've double checked that I didn't disable it with hardware button. How do I make bluetooth work on 16.04?

UPD: requested console output

yxfxmx@yxfxmx-pc:~$ lspci -knn | grep Net -A2; lsusb
13:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)
Subsystem: Hewlett-Packard Company BCM43142 802.11b/g/n [103c:804a]
Kernel driver in use: wl
Bus 001 Device 002: ID 8087:8000 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 05c8:022a Cheng Uei Precision Industry Co., Ltd (Foxlink) 
Bus 002 Device 003: ID 0a5c:216d Broadcom Corp. 
Bus 002 Device 005: ID 22b8:2e76 Motorola PCS 
Bus 002 Device 002: ID 0458:012b KYE Systems Corp. (Mouse Systems) 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

UPD2:

yxfxmx@yxfxmx-pc:~$ dmesg | grep Blue
[    6.446411] Bluetooth: Core ver 2.21
[    6.446433] Bluetooth: HCI device and connection manager  initialized
[    6.446438] Bluetooth: HCI socket layer initialized
[    6.446442] Bluetooth: L2CAP socket layer initialized
[    6.446450] Bluetooth: SCO socket layer initialized
[    8.478642] Bluetooth: hci0 command 0x1001 tx timeout
[    8.827513] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    8.827519] Bluetooth: BNEP filters: protocol multicast
[    8.827526] Bluetooth: BNEP socket layer initialized
[   16.474175] Bluetooth: hci0: BCM: Reading local version info failed (-110)
[   18.478015] Bluetooth: hci0 command 0x1001 tx timeout
[   26.473545] Bluetooth: hci0: BCM: Reading local version info failed   (-110)

UPD3: after installing firmware

yxfxmx@yxfxmx-pc:~$ dmesg | grep Blue
[    6.249804] Bluetooth: Core ver 2.21
[    6.249829] Bluetooth: HCI device and connection manager initialized
[    6.249835] Bluetooth: HCI socket layer initialized
[    6.249839] Bluetooth: L2CAP socket layer initialized
[    6.249858] Bluetooth: SCO socket layer initialized
[    8.393500] Bluetooth: hci0 command 0x1001 tx timeout
[    8.877281] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    8.877286] Bluetooth: BNEP filters: protocol multicast
[    8.877292] Bluetooth: BNEP socket layer initialized
[   16.389750] Bluetooth: hci0: BCM: Reading local version info failed (-110)
[   18.393828] Bluetooth: hci0 command 0x1001 tx timeout
[   26.390149] Bluetooth: hci0: BCM: Reading local version info failed (-110)
[  430.267410] Bluetooth: hci0 command 0x1001 tx timeout
[  438.263237] Bluetooth: hci0: BCM: Reading local version info failed (-110)
[  438.268233] Bluetooth: hci0: BCM: chip id 70
[  438.284219] Bluetooth: hci0: BCM43142A
[  438.284225] Bluetooth: hci0: BCM (001.001.011) build 0000
[  438.742225] Bluetooth: hci0: BCM (001.001.011) build 0227
[  438.758225] Bluetooth: hci0: Broadcom 43142 Bluetooth 4.0 Adapter
[ 3600.950603] Bluetooth: hci0: BCM: chip id 70
[ 3600.966645] Bluetooth: hci0: Broadcom 43142 Bluetooth 4.0 Adapter
[ 3600.966653] Bluetooth: hci0: BCM (001.001.011) build 0227
[ 3601.421687] Bluetooth: hci0: BCM (001.001.011) build 0227
[ 3601.437680] Bluetooth: hci0: Broadcom 43142 Bluetooth 4.0 Adapter
tristantzara
  • 221
  • 1
  • 10
  • Please [edit] your question and add output of `lspci -knn | grep Net -A2; lsusb` terminal command. – Pilot6 Sep 06 '16 at 08:53
  • In Ubuntu 16.04 we have systemd, so to start the service you would do `sudo systemctl start bluetooth` – Zanna Sep 06 '16 at 08:54
  • @Zanna didn't change anything. – tristantzara Sep 06 '16 at 09:00
  • @Pilot6 updated – tristantzara Sep 06 '16 at 09:00
  • I wasn't saying that would fix it (so far I haven't even fixed my own bluetooth after much tinkering) but still, that's the way to start a service now, not using `/etc/init.d` – Zanna Sep 06 '16 at 09:02
  • @Pilot6 I've read your answer in the link, could you please hep me out and tell for what number should I search in my particular case? I mean this step from your instruction `Search this file for VID_0A5C&PID_21D7. These numbers are from your lsusb output` – tristantzara Sep 06 '16 at 09:19
  • Look into your `lsusb` output. It is `0a5c:216d` – Pilot6 Sep 06 '16 at 09:21
  • `Reading local version info failed ` this may be a bug. Anyway install firmware and test again. – Pilot6 Sep 06 '16 at 09:42
  • Worked once after installing firmware, but then I rebooted and it doesn't work again @Pilot6 – tristantzara Sep 06 '16 at 10:45
  • I can only suggest to file a bug. – Pilot6 Sep 06 '16 at 10:46
  • And tinkering with init.d, etc was not good. – Pilot6 Sep 06 '16 at 11:22
  • @Pilot6 are there any undesired consequences of that? – tristantzara Sep 06 '16 at 11:46
  • It depends on what you did. Check `dmesg | grep Blue`. It will show if the firmware is loading. – Pilot6 Sep 06 '16 at 11:48
  • @Pilot6 plz check updated output in my post – tristantzara Sep 06 '16 at 11:51
  • @Pilot6 btw, did I name the fhcd file right - my kernel version is 4.4 and the file is `BCM.hcd`, I also made `BCM-0a5c-216d.hcd` just in case – tristantzara Sep 06 '16 at 11:52
  • It is correct. Maybe it makes sense to remove the other one. Are you 100% sure you converted the right firmware file? The error is the problem, but after that the firmware seems to load. – Pilot6 Sep 06 '16 at 11:56
  • @Pilot6 btw, my system is x64 and in the driver download there was only `bcbtums-win8x64-brcm.inf` file instead of x86. may that be the problem? – tristantzara Sep 06 '16 at 12:01
  • @Pilot6 I''ve searched that file for `VID_0A5C&PID_216D` and the line had `%BRCM43142BtUsbhp.DeviceDesc%=BlueRAMUSB216D` in it. I've searched for `RAMUSB216D` and found `[RAMUSB216D.CopyList] bcbtums.sys btwampfl.sys BCM43142A0_001.001.011.0197.0227.hex` which I've used – tristantzara Sep 06 '16 at 12:02
  • It looks correct. 64 or 32 bit is not relevant. Firmware is same. – Pilot6 Sep 06 '16 at 12:03
  • @Pilot6 one more thing. I hadn't any cab files in driver download. but I've searched through the dir and just found that file under Win64 dir – tristantzara Sep 06 '16 at 12:08
  • It does not matter since you found and extracted the correct file. Drivers can be packed differently. – Pilot6 Sep 06 '16 at 12:12
  • @Pilot6 [This](http://git.kernel.org/cgit/linux/kernel/git/bluetooth/bluetooth-next.git/commit/drivers/bluetooth?id=3af3a594e111474fab03d872f41760e10d4c17c4) looks to be a fix – Jeremy31 Feb 24 '17 at 11:02
  • @Jeremy31 Yes, I saw it some time ago in the mailing list. But I can't test it without the hardware. – Pilot6 Feb 24 '17 at 11:27

1 Answers1

-1

Can you post the output of dmesg | grep Blue and lsusb -t.

Also it could be something as simple as incompatibility with Unity, try running:

sudo apt-get update
sudo apt-get -y install unity-control-center