Quantcast
Channel: Ikkaro
Viewing all articles
Browse latest Browse all 221

Solución: avrdude: ser_open(): can’t open device en Arduino

$
0
0

En este artículo voy a explicar como solucionar un error común en Arduino:

avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied

Antecedentes

Después de mucho tiempo sin usar Arduino he cogido mis dos plaquitas para hacer unas actividades con mi hija. Las conecto, voy a meter el blink para ver que todo está bien y cuando voy a enviarlo a la placa me devuelve el tan conocido error.

Arduino:1.8.5 (Linux), Tarjeta:"Arduino/Genuino Uno"

avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied
 Problema subiendo a la placa. Visita http://www.arduino.cc/en/Guide/Troubleshooting#upload para sugerencias.

Tanto en mi PC como mi portátil tengo instalado Ubuntu 18.04.

Solución

Empiezo siguiendo el link que me sugieren. Y sigo los pasos

En herramientas / placa está seleccionada Arduino/Genuino Uno

En herramientas / serial port /dev/ttyACM0

problema ide arduino avrdude

y como sugiere la documentación por si hay problemas con los Drivers y permisos abro la terminal y ejecuto:

sudo usermod -a -G tty yourUserName
 sudo usermod -a -G dialout yourUserName

donde yourUserName es tu nombre de usuario

Ahora cierro sesión y vuelvo a loggearme. Y por si acaso reinicio el PC / portátil.

Sigue sin funcionarme y la documentación de Arduino ya no ayuda más. Así que he seguido buscando, en foros y blogs. Si en este punto no te funciona y estás como yo. Sigue los siguientes pasos

ls /dev/ttyACM0 devuelve /dev/ttyACM0
ls -l /dev/ttyACM0 devuelve crw-rw—- 1 root dialout 166, 0 nov 26 16:41 /dev/ttyACM

Con esto confirmamos que el puerto existe

Vamos a dar permisos y a comprobar si nuestro usuario tiene los permisos necesarios.

sudo chmod a+rw /dev/ttyACM0
 id devuelve 20(dialout)

Y veo que el usuario está dentro del grupo dialout así que esta parte la tenemos bien.

A mí lo que me ha funcionado ha sido reinstalar Arduino.

Si compruebas

which avrdude

Y no te devuelve nada reinstalando Arduino deberá solucionarse.

sudo apt install --reinstall arduino

Y si no has conseguido solucionar el problema déjame un comentario e intentaré ayudarte.

Herramienta para solucionar el problema AVRDUDE

Existe un script que han preparado para solucionar este problema. Puedes probar a ver si te ayuda. Yo no he llegado a utilizarlo pero lo dejo porque creo que puede ser un recurso útil.

AVRDUDE

Dejo un poco de información para entender mejor qué es AVRDUDE. El nombre viene de AVRDUDE – AVR Downloader/UploaDEr

AVRDUDE es una utilidad para descargar / cargar / manipular los contenidos ROM y EEPROM de los microcontroladores AVR utilizando la técnica de programación en el sistema (ISP).

https://www.nongnu.org/avrdude/

AVRDUDE fue iniciado por Brian S. Dean como un proyecto privado como programador para la serie de microcontroladores Atmel AVR.

Puedes encontrar el software y mucha más información en la web del proyecto.

The post Solución: avrdude: ser_open(): can’t open device en Arduino appeared first on Ikkaro.


Viewing all articles
Browse latest Browse all 221

Trending Articles