Linux me dice que hay un puerto serie en uso, pero no


12

En CrunchBang Linux (variante de Debian), tengo un puerto COM ttyS0, que estoy tratando de usar con un dispositivo NFC. libnfc respondió que no podía ver ningún dispositivo NFC, así que intenté abrir directamente el puerto COM. Para esto, usé:

sudo cu -l /dev/ttyS0 -s 9600

Sin embargo, este comando devuelve:

cu: open (/dev/ttyS0): Permission denied
cu: /dev/ttyS0: Line in use

No sé qué podría estar usando esta conexión. Para averiguarlo, he intentado leer todos los procesos abiertos y filtrar para usar ttyS0:

ps -ef | grep tty

pero para este comando, no aparece nada que esté usando ttyS0. También intenté tomar todos los archivos abiertos y filtrar para bloquear ttyS0:

lsof | grep tty

pero esto no devuelve nada usando ttyS0.

¿Cómo es posible que cudiga que la línea está en uso, pero ambas psy lsofno devuelven nada usando esa línea?


¿Qué pasa con lsof / dev / ttyS0
Ciclamino

@Ciclamino Eso no lo cambia, tty es una subcadena de /dev/ttyS0. Sin embargo, eso oculta todos los demás ttys.

Tengo el mismo problema. minicomfunciona bien, pero cuy screense niegan a hablar a /dev/ttyUSB0. Me aconsejaron agregar mi usuario a uucpy dialoutgrupos y cerrar sesión que no ayudó.
Vorac

Respuestas:


12

Probablemente no haya un uso real de la línea, sino un problema de permiso. La forma rápida y sucia de probar para mí fue ejecutar:

ls -la /dev/ttyUSB0
sudo chmod 666 /dev/ttyUSB0

y vuelva a intentarlo cu. Si comienza a funcionar, debe cuidar el udevarchivo respectivo y los permisos / grupos de usuarios. Para mi dispositivo se veía así (ser miembro del plugdevgrupo):

> cat /etc/udev/rules.d/42-CP210x.rules 
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SUBSYSTEMS=="usb",
ACTION=="add", MODE="0666", GROUP="plugdev"

2

Los privilegios de los dispositivos en serie se otorgan a los miembros del dialoutgrupo. Para conectarme /dev/ttyS0, agregué el usuario actual al grupo usando:

sudo adduser <username> dialout


1

Parece que esto es un error en cu. Resolví esto cambiando el grupo de propietarios de /dev/ttyUSB0usar el siguiente comando:

chown root:root /dev/ttyUSB0
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.