Cargar bocetos simples parece funcionar cuando ejecuto el programa Arduino como root ( sudo). Me gustaría ejecutarlo como usuario habitual. ¿Alguien ha enfrentado el mismo problema antes y lo solucionó?
Esto es lo que obtuve de lsusb:
$ lsusb
Bus 002 Device 022: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)Y el programa Arduino lo identifica como /dev/ttyACM0. Aquí están sus permisos:
$ ls -l /dev/ttyACM0 
crw-rw---T 1 root dialout 166, 0 Mar 14 22:03 /dev/ttyACM0Aquí está la salida de id
groups=1000(abhiram),20(dialout),24(cdrom),25(floppy),29(audio),
30(dip),44(video),46(plugdev),105(scanner),110(bluetooth),112(netdev)Cuando subo un boceto de los ejemplos, como usuario habitual, me encuentro con este error:
avrdude:stk500_recv(): programmer not respondingCualquier sugerencia es bienvenida.
                    
                        arduino-uno
                                arduino-ide
                                linux
                                
                    
                    
                        fiebre
fuente
                
                fuente

Preferencesmenú.dmesgarchivo del dispositivo que está registrado./dev/ttyACM0: USB ACM device. Entonces, no me parece un problema. Por otro lado, los registros de compilación y carga (tuvieron que habilitarlos en Preferencias), parecen prometedores. Parece que no puedo copiarlos del programa arduino :(. (¿Pueden estar escribiendo en un archivo en alguna parte?)Respuestas:
La solución más fácil es agregarse al
dialoutgrupo.Primero tome nota de la salida de
id. Guárdelo en el archivo (no dentro,/tmpya que se limpia al reiniciar). Si observa el resultado, notará que su usuario está registrado en varios grupos y esos grupos representan privilegios adicionales en el sistema. De forma predeterminada, su Arduino está asignado al grupodialoutporque se registra como una interfaz en serie y en los viejos tiempos se solía usar para ... marcar, usando un módem.Para agregarse al
dialoutgrupo, emita el siguiente comando:No olvide la
-abandera (para agregar grupos en lugar de reemplazar) o tendrá problemas completamente diferentes. Esta es la razón para hacer una copia de laidsalida en un archivo, por lo que en caso de que se equivoque, al menos ya sabe cómo se configuró su usuario antes.Luego cierre sesión e inicie sesión y debería funcionar desde ese punto.
Opcionalmente, puede verificar dos veces la salida con
idla salida que guardó anteriormente.fuente
dialoutgrupo, pero el problema aún parece persistir. He modificado mi pregunta con el resultado delidcomando.cat /dev/ttyACM0? ¿Lanza un error?cat.El consejo repetido a menudo de "simplemente
sudo usermod -aG dialout <username>nunca funcionó para mí, y finalmente descubrí por qué. En mi máquina,/dev/ttyUSB0es del gruposerialy nodialout, así que agregar mi nombre de usuariodialoutno hizo nada.Finalmente: lo
sudo usermod -aG <group-name> <username>arregló para mí.Vergonzosamente, esto también se menciona explícitamente aquí en "ESTABLECER EL PERMISO". Suspiro.
fuente
Esto me pasa a mi. En mi caso, había actualizado la versión de arduino y parece que el archivo de preferencias estaba causando el problema. Simplemente elimine el archivo ~ / .arduino /ferences.txt (con Arduino IDE cerrado).
Pasos:
ejecuta esto:
rm ~ / .arduino / preferencias.txt
Inicie Arduino IDE
Esto funcionó para mí, espero que funcione para otra persona. Estoy usando Linux Mint 17 y actualicé de Arduino 1.05 a Arduino 1.06 extrayendo el IDE de Arduino, no estoy usando el del repositorio. (Por supuesto, después de agregar a su usuario al grupo correspondiente según lo mencionado por otros, pero si eso no lo ayudará, intente esto)
fuente