我對 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 伺服器也會終止。這真是個奇蹟:)