[Linux] Usar AVRdude sin ser super usuario

Buenas noches.

Estoy comenzando a programar microcontroladores AVR en C, para lo cual necesito usar un programador, a diferencia de Arduino. La verdad llevo un par de días haciendo todos los comandos a mano, y en ese caso usar sudo con avrdude no es un inconveniente, pero quise probar Eclipse, ya que Atmel Estudio no esta disponible para Linux. Desafortunadamente, para acceder a los puertos usb del computador necesito los privilegios de root, razón por la cual siempre me votaba un error. Después de un rato, logré hacerlo funcionar. He aquí como lo hice:

Nota: Estos pasos funcionaron en mi instalacion de Debian 8 (Jessie) con un programador USBasp.

Primero necesitamos saber un par de datos de nuestro programador. Para ver esta información, con el programador conectado ejecutamos:

lsusb

A mí me salió esto:

Bus 001 Device 006: ID 16c0:05dc Van Ooijen Technische Informatica shared ID for use with libusb

(Yo para saber cual era, ejecuté el comando con el programador conectado y luego sin el programador 😉 )

La información que necesitamos son los números que van después de “ID”, que son 16c0 el “Vendor ID” y 05dc el “Product ID”.

Ahora tenemos que crear un archivo con las reglas de nuestro programador:

sudo nano /lib/udev/rules.d/41-atmega.rules  (Reemplaza nano por el editor que prefieras)

Y luego le ponemos las siguientes líneas:

#Nombre para identificarlo. Este es un comentario
SUBSYSTEM==”usb”, ATTR{product}==”<NOMBRE DEL PROGRAMADOR>”, ATTR{idVendor}==”<VENDOR ID>”, ATTR{idProduct}==”<PRODUCT ID>”, GROUP=”dialout”, MODE=”0666″

No olvides poner la información de tu programador. Por ejemplo, el mío quedó así:

#USBasp
SUBSYSTEM==”usb”, ATTR{product}==”USBasp”, ATTR{idVendor}==”16c0″, ATTR{idProduct}==”05dc”, GROUP=”dialout”, MODE=”0666″

Con esto permitimos a todos los usuarios del grupo “dialout” acceder al programador. Ahora tenemos que meter a nuestro usuario en el grupo dialout:

sudo gpasswd -a <USUARIO> dialout

Y, finalmente, reiniciamos el daemon de udev para que podamos empezar a usarlo:

sudo udevadm trigger

O reiniciamos el equipo.

Fuentes: avr-eclipse micahcarrick

Espero les sea útil. Pienso hacer un pequeño tutorial de programación en AVR con C, por si les interesa 🙂

Saludos.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s