Bluetooth/BlueZ - Befehl „rfcomm listen“ wird nicht beendet

Bluetooth/BlueZ - Befehl „rfcomm listen“ wird nicht beendet

Ich habe ein Problem mit dem Befehl rfcomm – nach dem Aufruf rfcomm listen 0 1 habe ich (korrekt) erhalten Waiting for connection on channel 1. Dann verbinde ich mich über die Android-Anwendung Serial Bluetooth Terminal mit einem Gerät und empfange und sende (korrekt) Nachrichten. Connection from FF:FF:FF:FF:FF:FF to /dev/rfcomm0Das Problem tritt auf, wenn ich das Telefon vom Gerät trenne. Auch nach einigen Minuten wird der Befehl rfcomm nicht beendet. Ich habe ihn in einem anderen Terminal getestet und hatte folgende Ergebnisse:

Befehl:

rfcomm

Ergebnis:

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

Befehl:

fuser rfcomm0

Ergebnis:

/dev/rfcomm0: 675

Befehl:

dev# ps -aef | grep '675'

Ergebnis:

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

Meine Betriebssystemversion ist Yocto 2.5

Vielen Dank im Voraus für Ihre Hilfe.

Antwort1

Ich habe das gleiche Problem auf Raspberry. Ich denke, es ist ein Fehler im Dienstprogramm rfcomm. Zufällig habe ich einen Workaround gefunden:

sudo rfcomm watch hci0 -L 86400

Die Argumente gehen im obigen Befehl etwas in die falsche Richtung (-L 86400 muss zuerst kommen). Es erzeugt einen kleinen Fehler innerhalb von rfcomm, aber Hokuspokus! Wenn ich jetzt die Verbindung auf der Android-Seite schließe, wird auch der rfcomm-Server beendet. Das ist ein Wunder :)

verwandte Informationen