Sur Crunchbang Linux (Variante Debian), j'ai un port COM sur ttyS0
, Que j'essaie d'utiliser avec un périphérique NFC. LibnFC a répondu qu'il ne pouvait voir aucun appareil NFC, donc j'ai essayé directement d'ouvrir le port COM. Pour cela, j'ai utilisé:
Sudo cu -l /dev/ttyS0 -s 9600
Cependant, cette commande revient:
cu: open (/dev/ttyS0): Permission denied
cu: /dev/ttyS0: Line in use
Je ne sais pas ce qui pourrait éventuellement utiliser cette connexion. Pour savoir, j'ai essayé de lire tous les processus ouverts et filtrage pour l'utilisation de ttyS0
:
ps -ef | grep tty
mais pour cette commande, rien ne montre que cela utilise ttyS0
. J'ai également essayé de saisir tous les fichiers ouverts et filtrage pour une serrure sur ttyS0
:
lsof | grep tty
mais cela ne renvoie rien en utilisant ttyS0
.
Comment est-il possible le cu
dit que la ligne est utilisée, mais les deux ps
et lsof
ne renvoient rien en utilisant cette ligne?
Il n'y a probablement pas d'utilisation réelle de la ligne, mais un problème d'autorisation. Une façon rapide et sale de tester pour moi était d'exécuter:
ls -la /dev/ttyUSB0
Sudo chmod 666 /dev/ttyUSB0
et réessayer cu
. Si cela commence à fonctionner, vous devez prendre soin du fichier udev
respectif et des autorisations/groupes de l'utilisateur. Pour mon appareil, il ressemblait à ceci (membre du groupe plugdev
group):
> cat /etc/udev/rules.d/42-CP210x.rules
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SUBSYSTEMS=="usb",
ACTION=="add", MODE="0666", GROUP="plugdev"
Les privilèges de périphériques série sont accordés aux membres du groupe dialout
. Se connecter à /dev/ttyS0
J'ai ajouté l'utilisateur actuel au groupe en utilisant:
Sudo adduser <username> dialout
Il semble que c'était un bogue dans cu
. J'ai résolu cela en changeant le groupe de propriétaires de /dev/ttyUSB0
Utilisation de la commande suivante:
chown root:root /dev/ttyUSB0