lowering the ISP frequency using configuration utility (
) or the Main tab of
AVR Studio’s ISP dialog (
).
• If the red error LED is on, then run the configuration utility (
) to
determine the cause of the error.
• There may be a problem with the target device. It is possible to kill a device with a
static shock, by incorrectly connecting power, or by programming the fuses incorrectly.
There could also be a short or cut trace somewhere on your target device. The ideal way
to test for this is to try programming a different device with your USB AVR programmer,
or try using a different programmer to program your target device. If this is not an
option, try verifying that the target device is still functional and perform some continuity
tests to check for shorts or disconnections on the ISP programming lines. Don’t forget
to check the 6-pin ISP cable for shorts as well.
If /dev/ttyACM0 or /dev/ttyACM1 do not exist in Linux:
• Try closing all programs using the programmer, unplugging the programmer, and
plugging it back in.
• If the programmer is connected, the
lsusb
command should output a line like this (the
important thing is the
1ffb:0081
):
Bus 002 Device 002: ID 1ffb:0081
•
If the CDC ACM driver detected the programmer when it was plugged in, then the
dmesg
command should have some output like this:
[ 26.378771] /build/buildd/linux-2.6.24/drivers/usb/class/cdc-acm.c: This
device cannot do calls on its own. It is no modem.
[ 26.380858] cdc_acm 2-1:1.0: ttyACM0: USB ACM device
[ 26.413512] /build/buildd/linux-2.6.24/drivers/usb/class/cdc-acm.c: This
device cannot do calls on its own. It is no modem.
[ 26.413542] cdc_acm 2-1:1.2: ttyACM1: USB ACM device
[ 26.421314] usbcore: registered new interface driver cdc_acm
[ 26.421333] /build/buildd/linux-2.6.24/drivers/usb/class/cdc-acm.c: v0.25:USB
Abstract Control Model driver for USB modems and ISDN adapters
• If the CDC ACM driver is associated with both serial ports of the programmer, then
the
/dev/bus/usb/devices
file (or
/proc/bus/usb/devices
) should have a group of lines like this
(the important thing is that
Driver=cdc_acm
should appear in four places):
T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ef(unk. ) Sub=02 Prot=01 MxPS= 8 #Cfgs= 1
P: Vendor=1ffb ProdID=0081 Rev= 0.01
S: Manufacturer=Pololu Corporation
S: Product=Pololu USB AVR Programmer
S: SerialNumber=00000005
C:* #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=100mA
A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01
A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm
E: Ad=81(I) Atr=03(Int.) MxPS= 10 Ivl=1ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm
E: Ad=02(O) Atr=02(Bulk) MxPS= 8 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 8 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm
E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=1ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm
E: Ad=04(O) Atr=02(Bulk) MxPS= 8 Ivl=0ms
E: Ad=84(I) Atr=02(Bulk) MxPS= 8 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
E: Ad=85(I) Atr=03(Int.) MxPS= 22 Ivl=1ms
Try comparing the outputs on your system to the outputs above to determine what went
wrong.
Pololu USB AVR Programmer User's Guide
© 2001–2010 Pololu Corporation
7. Troubleshooting
Page 33 of 36