蓝牙/BlueZ-‘rfcomm listen’命令不会终止

蓝牙/BlueZ-‘rfcomm listen’命令不会终止

我在使用 rfcomm 命令时遇到问题 - 调用后rfcomm listen 0 1 我得到了(正确的)Waiting for connection on channel 1。然后,我通过 Android 的应用程序串行蓝牙终端连接到设备并(正确地)接收和发送消息。 Connection from FF:FF:FF:FF:FF:FF to /dev/rfcomm0当我断开手机与设备的连接时,问题就出现了。即使几分钟后,rfcomm 命令也不会终止。我在另一个终端上对其进行了测试,结果如下:

命令:

rfcomm

结果:

rfcomm0: 00:00:00:00:00:00 -> FF:FF:FF:FF:FF:FF channel 1 closed [reuse-dlc release-on-hup tty-attached]

命令:

fuser rfcomm0

结果:

/dev/rfcomm0: 675

命令:

dev# ps -aef | grep '675'

结果:

root 675 649 0 07:36 pts/1 00:00:00 rfcomm listen 0 1 root 694 628 0 07:50 pts/0 00:00:00 grep 675

我的操作系统版本是 Yocto 2.5

在此先感谢您的帮助。

答案1

我在 Raspberry 上遇到了同样的问题。我认为这是 rfcomm 实用程序中的错误。无意中,我找到了一种解决方法:

sudo rfcomm watch hci0 -L 86400

上面的命令中的参数有点错误(-L 86400 必须先执行)。它在 rfcomm 内部产生了一个小错误,但这是骗局!如果我现在关闭 Android 端的连接,rfcomm 服务器也会终止。这真是个奇迹:)

相关内容