web-dev-qa-db-fra.com

Impossible de créer RFCOMM TTY: adresse déjà utilisée

L'erreur suivante se produit lorsque j'émets Sudo rfcomm listen rfcomm0

Impossible de créer RFCOMM TTY: adresse déjà utilisée

J'ai reçu au préalable des données Bluetooth série dans un programme Python. Donc, il semble que quelque chose se coince.

Puis je tape Sudo rfcomm release rfcomm0 qui donne:

Impossible de libérer le périphérique: opération déjà en cours

Comment puis-je faire une version dure? Pour l'instant, le seul moyen de le faire fonctionner à nouveau est de redémarrer.

3
Willi Mentzel

Ok puisque le redémarrage est agaçant, j'ai essayé deux approches.

  • Créez un autre appareil et liez le bluetooth à celui-ci. Ensuite, utilisez le nouveau dans votre programme.

Ouvrez /etc/bluetooth/rfcomm.conf et ajoutez un autre périphérique.

rfcomm0 {# lie automatiquement le périphérique au démarrage bind no; # Adresse Bluetooth du périphérique périphérique 00: 06: 66: 68: 20: 61; # Canal RFCOMM pour le canal de connexion 1; # Description du commentaire de connexion "Il s'agit du port série du périphérique 1."; }

rfcomm2 {# lie automatiquement le périphérique au démarrage bind no; # Adresse Bluetooth du périphérique périphérique 20: 15: 12: 08: 62: 95; # Canal RFCOMM pour le canal de connexion 1; # Description du commentaire de connexion "Il s'agit du port série du périphérique 1."; }

rfcomm3 {# lie automatiquement le périphérique au démarrage bind no; # Adresse Bluetooth du périphérique périphérique 20: 15: 12: 08: 62: 95; # Canal RFCOMM pour le canal de connexion 1; # Description du commentaire de connexion "Il s'agit du port série du périphérique 1."; }

Redémarrez le service Bluetooth puis:

userk@dopamine:~$ Sudo rfcomm bind 2 DEV_ADDR CHANNEL
  • La réponse:

Rfcomm ne peut pas libérer le périphérique à cause d'un autre processus dans Ubuntu. Vérifiez lequel avec

userk@dopamine:~$ Sudo lsof | grep /dev/rfcomm2

MATLAB    5554 6868            userk  514u      CHR              216,2       0t0        603 /dev/rfcomm2

Tue le!!

userk@dopamine:~$ ps -ax | grep MATLAB
 7684 pts/5    Sl     0:39 /usr/local/MATLAB/R2015b/bin/glnxa64/MATLAB
 7873 pts/5    S+     0:00 grep --color=auto MATLAB

userk@dopamine:~$ kill -9 7684

Voilà pas de minerai forcé de redémarrer! J'espère que ça aide

1
UserK

Assez tard ici mais j'ai eu le même problème sur Ubuntu 16.04.

Ce que j'ai fait était le suivant:

Sudo service bluetooth restart

Ce qui m'a donné l'erreur:

Warning: bluetooth.service changed on disk. Run 'systemctl daemon-reload' to reload units.

Après avoir exécuté la commande suggérée dans l'avertissement, j'ai pu redémarrer avec succès le service Bluetooth et commencer à écouter sur le port.

Je suppose que dans mon cas, j'ai modifié une configuration (en exécutant bluetoothd avec l'argument --compat) et que, par conséquent, le système init a dû recharger.

1
skepticscript