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/ttyACM0
Aquí 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 responding
Cualquier sugerencia es bienvenida.
arduino-uno
arduino-ide
linux
fiebre
fuente
fuente
Preferences
menú.dmesg
archivo 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
dialout
grupo.Primero tome nota de la salida de
id
. Guárdelo en el archivo (no dentro,/tmp
ya 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 grupodialout
porque 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
dialout
grupo, emita el siguiente comando:No olvide la
-a
bandera (para agregar grupos en lugar de reemplazar) o tendrá problemas completamente diferentes. Esta es la razón para hacer una copia de laid
salida 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
id
la salida que guardó anteriormente.fuente
dialout
grupo, pero el problema aún parece persistir. He modificado mi pregunta con el resultado delid
comando.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/ttyUSB0
es del gruposerial
y nodialout
, así que agregar mi nombre de usuariodialout
no 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