bluetoothctl 找不到我的设备而 hcitool can/Can 如果不受信任则找不到设备

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

相对于this post

这个话题有答案吗?因为我有同样的问题,HackToHell 要求继续进行 AskUbuntu 聊天,但该聊天已不可用

实际上我可以在 Bluetoothctl 上找到我的设备,我信任它一次,我每次都能看到它,但现在它不受信任,我只能用 btmon 看到它,这很痛苦哈哈。我设置了所有设备发现过滤器但仍然没有效果。使用 sudo hcitool lescan --duplicates 我也可以看到我的设备

那我怎样才能找到它呢?

我试过重新启动、重新启动蓝牙、重新配置蓝牙、将 hci0 设置为重置、关闭和启动状态等等,但仍然没有任何结果...... 我在文件 /lib/systemd/system/bluetooth.service after execstart=... line

中有标志 -C 和 --experimental

本杰明

将您的 Linux 内核升级到 5.1.6 或更高版本。

此版本中修复的问题与有缺陷的蓝牙控制器固件有关,它会发送两次完成事件,使内核将扫描转变为被动扫描,因此不会创建 device found 事件。

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

内核以前假设它无法将扫描设置为主动扫描,因此它恢复为被动扫描。

相关提交是:https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a3d50fb7ce931f08a2c6194fdc4c9a56c9ed4153

您可以通过 运行 btmon 来验证是否存在此问题。