Solución:
El problema con los permisos para /dev/ttyACM0
puede resolverse permanentemente agregándose a la dialout
grupo.
Puedes hacer esto con:
-
sudo usermod -a -G dialout $USER
-
Cierre la sesión y vuelva a iniciarla para que los cambios de grupo surtan efecto.
No pude hacer que la sugerencia de Rinzwind funcionara, porque se quejaba de que la cuenta de usuario ya existe. En su lugar, utilicé este comando para agregar un usuario existente (terrik
) a un grupo existente (dialout
), como se describe en la Wiki de ayuda de Ubuntu.
sudo adduser terrik dialout
También es útil este comando para enumerar sus grupos actuales, aunque como dice Rinzwind, debe cerrar sesión e iniciar sesión antes de que el puerto serie comience a dejarlo entrar.
groups terrik
Otra posibilidad es crear un archivo de reglas en /etc/udev/rules.d/
directorio. Tuve un problema similar y he creado 50-myusb.rules
archivo en el directorio anterior con este contenido:
KERNEL=="ttyACM[0-9]*",MODE="0666"
Tenga en cuenta que esto le dará permisos de lectura / escritura a cualquier dispositivo conectado al socket ttyACM. Si solo necesita un dispositivo específico para obtener permisos de lectura / escritura, también debe verificar idVendor
y idProduct
. Puedes encontrarlos corriendo lsusb
comando dos veces, una vez sin su dispositivo conectado y una vez cuando está conectado, luego observe la línea adicional en la salida. Allí verás algo como Bus 003 Device 005: ID ffff:0005
. En este caso idVendor = ffff
y idProduct = 0005
. El tuyo será diferente. Luego modifica el archivo de reglas a:
ACTION=="add", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="0005", MODE="0666"
Ahora solo este dispositivo obtiene los permisos. Lea esto para saber más sobre cómo escribir reglas de udev.