我在这里写,因为我有一个OBD设备(Veepeak V11)连接到我的树莓pi4的问题。当我将设备连接到我的手机或笔记本电脑时,它工作得很好,但在覆盆子上,我发现了很多问题。说到软件,我使用的是基本的linux命令行命令:bluetoothctl和hcitool。我的内核版本高于6,所以我有可以总线的新驱动程序(从我所理解的内核6之后改变)。我的蓝色版本是5.55。使用这两个命令,当我执行"扫描"找到设备。如果是"pair"设备配对,它甚至要求代码1234,所以它是工作的。但是当一个"连接"的时候;连接最初是正常的,但5秒后自动断开。在互联网上搜索,我发现这可能是硬件或驱动程序问题,所以我想在购买新的OBD设备之前问这里。在我看来,这是一个软件问题,而不是硬件问题。我发送了一个带有失败连接的屏幕截图的声明,以及一个带有命令输出的声明:btmon。希望对你有帮助。
PS:我已经尝试解决bluez错误,但没有成功。我不确定这是否是问题的原因。在下面有趣的部分,您可以找到bluetoothctl连接错误的屏幕截图和btmon的输出。
Bluetoothctl connect error
Btmon输出
我尝试了所有简单的解决方案:检查蓝牙状态和错误,检查版本,检查物理连接,将设备与其他设备一起尝试并且它可以工作,延迟2秒helper服务以避免进程出现问题。使用btmon和bettercap获取更多信息,但没有成功解决问题。
5秒听起来像是一个非活动超时。许多经典BT设备都有这样的超时。尝试频繁地收集一个PID,并检查它是否仍然挂起。