必须重置适配器后,蓝牙的Python代码会引发错误

必须重置适配器后,蓝牙的Python代码会引发错误,第1张

必须重置适配器后,蓝牙的Python代码会引发错误

此错误是由于BlueZ 5和SDP与

bluetoothd

修复15.10和BlueZ 5

确保运行

sdptool browse local
会出现以下错误:

Failed to connect to SDP server on FF:FF:FF:00:00:00: No such file or directory

事实证明,罪魁祸首是

bluetoothd
蓝牙守护程序。与SDP一起
bluetoothd
使用时,出于某些愚蠢的原因,要求使用不推荐使用的功能,因此要解决此问题,必须在兼容模式下使用
bluetoothd-C
(或
bluetooth --compat
)启动该守护程序。

查找位置

bluetooth.service

systemctl status bluetooth.service

然后编辑

bluetooth.service
并寻找

ExecStart=/usr/libexec/bluetooth/bluetoothd

追加

--compat
到此行的末尾,保存,然后运行

service bluetooth start

如果一切顺利,您应该能够成功运行

sudo sdptool browse local

最后,重置适配器:

sudo hciconfig -a hci0 reset

现在一切正常

旧答案

只是让人们知道,我相信最新

BlueZ
版本在我的系统中被破坏了。我下载,编译并安装了5.35版本,但没有任何效果。我拨到5.34,还是一样。我还注意到,蓝牙适配器在启用后会自动关闭3-4分钟,

sudo hciconfig hci0 up # hci0 is the bt adapter

我使用一个USB蓝牙加密狗进行测试。它没有像内置适配器那样自动关闭,但是问题仍然存在。然后我曾经

apt-get
重新安装
bluez

apt-get install --reinstall bluez

突然之间一切恢复正常。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5662801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存