3

I have been trying to get my laptop pair with my wireless headphones, I enabled the drivers for my BCM chip as per the instructions here, https://askubuntu.com/a/632348/20245.

Now if do

~ $ hciconfig hci0: Type: BR/EDR Bus: USB
BD Address: 00:71:CC:9D:3F:8A ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING
RX bytes:3677 acl:0 sco:0 events:203 errors:0
TX bytes:29291 acl:0 sco:0 commands:189 errors:0

I can see my device, I can scan with hcitool, however blueman-manager wasn't working, digging deeper I found that my device isn't detected in bluetoothctl.

 ~  $  bluetoothctl 
[bluetooth]# scan on
No default controller available
[bluetooth]# 

How do I make bluetoothhctl see what hcitool detects and interfaces with?

lsusb output

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 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module
Bus 002 Device 003: ID 5986:055e Acer, Inc 
Bus 002 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

rfkill shows something interesting though, it shows 2 wifi devices.

 ~  $  rfkill list
0: ideapad_wlan: Wireless LAN
        Soft blocked: no
        Hard blocked: no
1: ideapad_bluetooth: Bluetooth
        Soft blocked: no
        Hard blocked: no
2: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
3: brcmwl-0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
5: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no

dmesg gives me

[  571.720739] Bluetooth: hci0: BCM: chip id 70
[  571.736769] Bluetooth: hci0: BCM43142A
[  571.736778] Bluetooth: hci0: BCM (001.001.011) build 0000
[  572.226888] Bluetooth: hci0: BCM (001.001.011) build 0215
[  572.242883] Bluetooth: hci0: Broadcom Bluetooth Device (43142)
HackToHell
  • 6,726

2 Answers2

1

Upgrade your Linux kernel to 5.1.6 or above.

The issue fixed in this release has to do with buggy Bluetooth controller firmware, that would send a completion event twice, making the kernel turn the scan into a passive scan, therefore not creating device found events.

Kernel -> controller: LE Set Random Address
Controller -> kernel: Command "LE Set Random Address" Complete
Kernel -> controller: LE Set Scan Parameters (active scan)
Controller -> kernel: Command "LE Set Random Address" Complete

The kernel would previously have assumed it could not set the scan to and active scan, so it resumes as a passive scan instead.

Relevant commit is: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a3d50fb7ce931f08a2c6194fdc4c9a56c9ed4153

You can verify you have this issue by running btmon.

Harmen
  • 126
1

Rebooting a couple of times worked, one of those times where you should be asking yourself, Did you try turning it off and on again?

HackToHell
  • 6,726
  • having that same problem with raspbian! hcitool shows the device, bluetoothctl wont. rebooting does not help. Did you un-/install something or made any configuration changes between the reboot? – MacMartin Jan 10 '17 at 18:58
  • @eli I also added and removed the kernel module. Might help you too. – HackToHell Jan 11 '17 at 02:35
  • thanks for your reply. But, sorry, which one do you mean? some file in here? -> /lib/modules/uname -r/kernel/drivers/bluetooth – MacMartin Jan 11 '17 at 07:04
  • it's btbcm for me, you can check lsmod. Can we continue in the Ask Ubuntu Chat ? https://chat.stackexchange.com/rooms/201/ask-ubuntu-general-room Will be easier to answer questions there – HackToHell Jan 11 '17 at 07:10
  • Also could you try updating bluez (build from git perhaps). – HackToHell Jan 11 '17 at 07:14
  • I have this same problem. It too goes away after a couple of reboots. I'm using Debian Sid. I think it happens only after suspending my system, but I may be wrong. – jojman Aug 01 '18 at 17:52