62 votos

Cambiar los permisos en el puerto serie

Estoy usando el IDE de Arduino en Ubuntu, y estoy teniendo problemas con el puerto serie. Ha funcionado en el pasado, pero por razones que pueden ser innecesarias, sentí la necesidad de cambiar la propiedad de algunos de los archivos de la propiedad root a la propiedad de mis usuarios.

Esto hizo que el IDE funcionara correctamente, pero perdí la capacidad de usar el puerto serie correcto. En la carpeta dev, el puerto que necesito está listado como el permiso 166. Alguien (que ya no está en el área para ayudarme) cambió los permisos a 666, lo que hizo que todo funcionara gloriosamente.

Sin embargo, se revirtió tan pronto como reinicié mi ordenador, y si ahora intento usar el comando:

sudo chmod 666 ttyACM0

no pasa nada. No hay mensajes de error, pero tampoco hay cambios en los permisos.

¿Cómo puedo cambiarlo, y cómo puedo hacer que cambie permanentemente.

Me disculpo si esta pregunta es demasiado simplista o poco clara, soy un novato ubuntu, ¡y no me arrepiento de la respuesta!

1 votos

sudo chmod 666 /dev/ttyACM0 Esta fue la única sugerencia en esta página que funcionó en mi entorno vivo 14.04 beta2. Gracias.

92voto

Ayush Goyal Puntos 141

El problema de los permisos para /dev/ttyACM0 puede resolverse de forma permanente añadiéndose a la dialout grupo.

Puedes hacerlo con:

  1. sudo usermod -a -G dialout $USER

  2. Cierre la sesión y vuelva a iniciarla para que los cambios de grupo surtan efecto.

0 votos

Me enteré de esto cuando el IDE de Arduino me pidió que le diera a root para agregarse al "grupo Dailout". Ahora sé lo que es.

0 votos

Acabo de comprar un adaptador Pulse-Eight USB - CEC para utilizarlo con mi nuevo televisor y me he encontrado con que no funciona inicialmente con Kodi en Ubuntu. Después de comprobar el crash-log y buscar en Google el mensaje de error "ERROR: CecLogMessage - error al abrir el puerto serie '/dev/ttyACM0': Permiso denegado", apareció esta página como resultado. Gracias a ti (y a Don Kirkby, más abajo - que también funciona), pude rectificar el problema inmediatamente.

0 votos

Además, la respuesta de "user247020" me dio otra solución: Abre la herramienta GUI "Usuarios y Grupos" y hazte "Administrador". Esto te añadirá al grupo "dialout" (es decir, "Use Modems"), entre otros.

21voto

Grey Panther Puntos 203

No pude conseguir Sugerencia de Rinzwind para trabajar, porque se quejó de que la cuenta de usuario ya existe. En su lugar, utilicé este comando para añadir un usuario existente ( terrik ) a un grupo existente ( dialout ), como se describe en el Wiki de ayuda de Ubuntu .

sudo adduser terrik dialout

También es útil este comando para listar tus grupos actuales, aunque como dice Rinzwind, tienes que salir y entrar antes de que el puerto serie te deje entrar.

groups terrik

15voto

NonStandardModel Puntos 234

Otra posibilidad es crear un archivo de reglas en /etc/udev/rules.d/ directorio. Tuve un problema similar y he creado 50-myusb.rules en el directorio anterior con este contenido:

KERNEL=="ttyACM[0-9]*",MODE="0666"

Tenga en cuenta que esto dará a cualquier dispositivo conectado al socket ttyACM permisos de lectura/escritura. Si necesita que sólo un dispositivo específico obtenga permisos de lectura/escritura, también debe marcar idVendor y idProduct . Puede encontrarlos ejecutando lsusb dos veces, una sin su dispositivo conectado y otra cuando está conectado, entonces observe la línea adicional en la salida. Allí verá algo como Bus 003 Device 005: ID ffff:0005 . En este caso idVendor = ffff y idProduct = 0005 . El tuyo será diferente. Entonces modifica el archivo de reglas a:

ACTION=="add", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="0005", MODE="0666"

Ahora sólo este dispositivo obtiene los permisos. Lee esto para saber más sobre cómo escribir las reglas de udev.

12voto

mackdk Puntos 21

No pude conseguir Respuesta de Terrik funcionando, pero podría si hiciera este ligero ajuste en la ruta para ttyACM0 .

sudo chmod 666 /dev/ttyACM0

Lo publicaría como un comentario, pero todavía no tengo los privilegios para ello...

1 votos

Los permisos parecen restablecerse al desenchufar y volver a enchufar el Arduino.

0 votos

no funciona :(

0 votos

funciona , bien también. pero requiere la regla udev para volver a permitir en repplugging

2voto

sanityinc Puntos 9156

Intenta entrar en Sistema / Usuarios y Grupos y marca la casilla de tu nombre de usuario en el Grupo TTY.

0 votos

[Errno 13] Permission denied: '/dev/ttyACM0' . Así como tty grupo, el usuario también está en dialout grupo. Linux Mint 17.1.

1 votos

@user1063287 Intenta sudo chmod a+rw /dev/ttyACM0

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: