藍牙/BlueZ -「rfcomm 監聽」指令不會終止

藍牙/BlueZ -「rfcomm 監聽」指令不會終止

我對 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

我在樹莓派上也遇到了同樣的問題。我認為這是 rfcomm 實用程式中的錯誤。無意中,我發現了一個解決方法:

sudo rfcomm watch hci0 -L 86400

上面指令中的參數有點錯誤(必須先使用 -L 86400)。它在 rfcomm 內部產生一個小錯誤,但是騙人的!如果我現在關閉 Android 端的連接,rfcomm 伺服器也會終止。這真是個奇蹟:)

相關內容