bluetoothctl don't find my device whereas hcitool can/Can't find device if not trusted

2.1k Views Asked by At

In relation to this post

Is there any answers to this topic ? Because I have the same problem and HackToHell asked to continue on AskUbuntu chat which is not available anymore

Actually i could find my device on Bluetoothctl, i trusted it once and i could see it everytime, but for now that it is untrusted, i can only see it with btmon, that is painful haha. I set all the devices discovering filters but still no effects. With sudo hcitool lescan --duplicates i can see my devices also

So how can i found it back ?

I tried rebooting, restarting Bluetooth, reconfiguring Bluetooth, putting hci0 to reset, down and up states, etcetc but still nothing comes out ... and i have the flags -C and --experimental in the file /lib/systemd/system/bluetooth.service after execstart=... line

Benjamin

1

There are 1 best solutions below

0
On 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.

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.