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)
Best Answer
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.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
.