我尝试在运行 Raspbian Jessie 的树莓派上使用 BlueZ 5.45,但无法设置 BlueZ 来使用 LE Privacy。当我启动蓝牙守护程序时,我收到以下消息:
Jul 26 22:00:19 raspberrypi bluetoothd[18971]: Bluetooth daemon 5.45
Jul 26 22:00:19 raspberrypi bluetoothd[18971]: Starting SDP server
Jul 26 22:00:19 raspberrypi bluetoothd[18971]: Bluetooth management interface 1.14 initialized
Jul 26 22:00:19 raspberrypi bluetoothd[18971]: No IRK stored
Jul 26 22:00:19 raspberrypi bluetoothd[18971]: Failed to open crypto
Jul 26 22:00:19 raspberrypi systemd[1]: Started Bluetooth service.
BlueZ 尝试设置 LE Privacy,发现没有存储 IRK,但无法访问内核中的加密函数来生成 IRK。
我怎样才能克服这个错误?
通过将行添加Privacy = device
到/etc/bluetooth/main.conf
并在 处添加符号链接来设置隐私/usr/local/etc
。
答案1
在文件中/etc/bluetooth/main.conf
:
设置Privacy = off
和ControllerMode = le
这似乎已经解决了我仍在修补蓝牙以在接近启动时间或启动时间时自动连接到手机的问题。
另外编辑 bluetooth.service 文件, /etc/systemd/system/bluetooth.target.wants/bluetooth.service
如下所示:
ExecStart=/usr/lib/bluetooth/bluetoothd --compat --noplugin=sap -E
...除了服务更改处理错误之外,大多数错误都会消失。