Estoy usando el IDE de Arduino en Ubuntu y tengo 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 raíz 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 de desarrollo, el puerto que necesito figura en el permiso 166. Alguien (que ya no está en el área para ayudarme) cambió los permisos al 666, lo que hizo que todo funcionara gloriosamente.
Sin embargo, se revirtió tan pronto como reinicié mi computadora, y si ahora trato de usar el comando:
sudo chmod 666 ttyACM0
no pasa nada. No hay mensajes de error, pero tampoco hay cambio de permiso.
¿Cómo puedo cambiarlo y cómo puedo hacer que cambie de forma permanente?
Pido disculpas si esta pregunta es demasiado simplista o poco clara, soy un novato de ubuntu y no me disgustarían los comentarios.
fuente
Respuestas:
El problema con los permisos para
/dev/ttyACM0
se puede resolver de forma permanente agregándose aldialout
grupo. Tendrá que cerrar sesión y luego volver a iniciarla antes de que se reconozca el cambio de grupo.Puedes hacer esto con
sudo usermod -a -G dialout $USER
fuente
No pude obtener la sugerencia de Rinzwind para trabajar, porque se quejó de que la cuenta de usuario ya existe. En cambio, utilicé este comando para agregar un usuario existente (
terrik
) a un grupo existente (dialout
), como se describe en el Wiki de Ayuda de Ubuntu .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 permitirle entrar.
fuente
No pude conseguir que la respuesta de Terrik funcionara, pero podría hacerlo si hiciera este pequeño ajuste en el camino
ttyACM0
.Publicaría como un comentario, pero todavía no tengo los privilegios para eso ...
fuente
sudo chmod 666 /dev/ttyACM0
y no funciona cuando vuelvo a comenzar. ¿Alguien tiene una solución?Otra posibilidad es hacer un archivo de reglas en el
/etc/udev/rules.d/
directorio. Tuve un problema similar y he creado un50-myusb.rules
archivo en el directorio anterior con este contenido:Tenga en cuenta que esto le dará a cualquier dispositivo conectado a ttyACM socket permisos de lectura / escritura. Si solo necesita un dispositivo específico para obtener permisos de lectura / escritura, también debe verificar
idVendor
yidProduct
. Puede encontrarlos ejecutando ellsusb
comando dos veces, una vez sin su dispositivo conectado y otra vez cuando está conectado, luego observe la línea adicional en la salida. Allí verás algo asíBus 003 Device 005: ID ffff:0005
. En este casoidVendor = ffff
yidProduct = 0005
. El tuyo será diferente. Luego modifica el archivo de reglas para:Ahora solo este dispositivo obtiene los permisos. Lea esto para saber más sobre cómo escribir reglas udev.
fuente
Intente ir a Sistema / Usuarios y Grupos y marque la casilla de su nombre de usuario en el Grupo TTY.
fuente
[Errno 13] Permission denied: '/dev/ttyACM0'
. Además deltty
grupo, el usuario también está en eldialout
grupo. Linux Mint 17.1.sudo chmod a+rw /dev/ttyACM0