AVRISP MKII doesn't work with AVRDUDE on Linux AVRISP MKII doesn't work with AVRDUDE on Linux linux linux

AVRISP MKII doesn't work with AVRDUDE on Linux


It turns out that Ubuntu will acknowledge that the object is there but not play nicely with it until you fix up some of your udev rules. Thanks to http://steve.kargs.net/bacnet/avr-isp-mkii-on-ubuntu-hardy/ which provided files that only needed a little updating.

Create new file /etc/udev/avrisp.rules

SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"# Atmel Corp. JTAG ICE mkIIATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="660", GROUP="dialout"# Atmel Corp. AVRISP mkIIATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"# Atmel Corp. DragonATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="660", GROUP="dialout"LABEL="avrisp_end"

Now create a virtual link to the file and give it a rule priority

cd /etc/udev/rules.dsudo ln ../avrisp.rules 60-avrisp.rules

Check you're in the dialout group

groups

Restart udev

sudo service udev restart

Hooray!


For Ubuntu 12.04, there's a minor change that must be carried out to the configuration that Katy posted:

All occurrences of SYSFS should be replaced with ATTR

Additionally, if you're still having problems, make sure you have installed all the required dependent libraries. I found that I had to install the uisp package as well.

If restarting udev doesn't make a difference, unplugging the programmer and plugging it in back in does.


Updated rule that works for 13.10:

SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"# Atmel Corp. JTAG ICE mkIIATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="660", GROUP="dialout"# Atmel Corp. AVRISP mkIIATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"# Atmel Corp. DragonATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="660", GROUP="dialout"LABEL="avrisp_end"

Based on previous posts about changes.