Bluetooth/BlueZ: el comando 'rfcomm listening' no finaliza

Bluetooth/BlueZ: el comando 'rfcomm listening' no finaliza

Tengo un problema con el comando rfcomm; después de invocarlo, rfcomm listen 0 1 obtuve (correctamente) Waiting for connection on channel 1. Luego, me conecto a un dispositivo a través de la aplicación Serial Bluetooth Terminal de Android y (correctamente) recibo y envío mensajes. Connection from FF:FF:FF:FF:FF:FF to /dev/rfcomm0El problema surge cuando desconecto el teléfono del dispositivo. Incluso después de unos minutos, el comando rfcomm no finaliza. Lo he probado en otro terminal, con resultados:

dominio:

rfcomm

resultado:

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

dominio:

fuser rfcomm0

resultado:

/dev/rfcomm0: 675

dominio:

dev# ps -aef | grep '675'

resultado:

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

La versión de mi sistema operativo es Yocto 2.5.

Gracias de antemano por tu ayuda.

Respuesta1

Tengo el mismo problema con Raspberry. Creo que es un error en la utilidad rfcomm. Accidentalmente, encontré una solución alternativa:

sudo rfcomm watch hci0 -L 86400

Los argumentos van un poco mal en el comando anterior (-L 86400 debe ir primero). Produce un pequeño error dentro de rfcomm, ¡pero hocus-pocus! Si ahora cierro la conexión en el lado de Android, el servidor rfcomm también finaliza. Eso es un milagro :)

información relacionada