AVR Studio doesn't recognize USB AVR programmer

Hello all,

I’m having trouble getting AVR Studio to recognize the Pololu usb avr isp. I’ve looked at the other posts on the subject but none have helped.

Here’s my system info:

OS: Vista Ultimate, sp2
uP: ATtiny2313 running at 5V

and the Version info from AVR Studio:

AVR Studio 4.18.684
GUI Version 4, 18, 0, 670
AVR Simulator 1, 0, 2, 1
AvrPluginAvrAsmObject 1, 0, 0, 48
AvrPluginavrgccplugin 1, 0, 0, 11
Stk500Dll 1, 0, 1, 13

The programmer appears to have installed correctly. I can use the config utility, and it shows up in the device mgr and port list as com3. When I connect and power the uP the yellow light blinks regularly on the isp, so Vdd is okay. However, when I try to connect to the programmer using AVR Studio according to the manual, it comes back with “Connect Failed”. The firmware version dialog isn’t shown.

Thanks in advance,
Frank Guida

You should see two COM ports for the programmer in your Device Manager. Which COM port number is assigned to the the Programming Port? Which COM port number is assigned to the TTL Port? Are any other COM ports visible in your device manager? Which COM port did you select in AVR Studio’s “Select AVR Programmer” dialog box?

Please try closing all programs that might be using a COM port, unplugging the USB AVR Programmer from everything, plugging it back in to USB, and then connecting to it in AVR studio. You should be able to get AVR Studio to connect successfully and show the STK500 dialog box even if your microcontroller is not connected to the programmer, so for now just leave the microcontroller disconnected.

Sometimes avrdude will work when AVR Studio doesn’t. You probably have avrdude already because it comes with WinAVR. Try running the following commands (which will erase your ATtiny2313 if successful):

avrdude -p t2313 -P \\.\USBSER000 -c avrispv2 -e
avrdude -p t2313 -P \\.\USBSER001 -c avrispv2 -e
avrdude -p t2313 -P COM3 -c avrispv2 -e

If none of this works, I would also try rebooting.

–David Grayson

Hi David,

Thanks for the response. I had tried everything you suggested prior to my post without success, and then I did a clean reboot just now. The only usb devices are a keybd and mouse (the isp is com3). Still no luck with either avrdude or avrstudio. It seems that the programmer isn’t being identified as a avrispv2 device. The thing that confuses me is it shows up in the Pololu config util just fine.

I’d love to get this working… I love the idea of an isp, scope, and serial interface a nice little board because I’m on the road a bit.

I’ve double-checked all my connnections, spelling, etc., and the makefile I used with avrdude is one that I’ve used for years on a previous machine with a simple bit-bang (dasa) programmer. I may dig that up again just to get a baseline with avrdude.

Please let me know if you think of anything else.

Regards,
Frank

As I said before, you should see two COM ports for the Pololu USB AVR Programmer in your Device Manager so it’s not very accurate to say “the isp is com3”. Maybe you are just using the wrong COM port, which is why I asked you four questions about COM ports in my first post (which you haven’t answered).

The programmer’s configuration utility uses its native USB interface instead of a virtual COM port, so that’s why it is possible for it to work while the COM ports aren’t.

I’m interested in seeing the exact output that you get from avrdude when you run the commands that I suggested above.

I think you should also try connecting to the Programming Port and the TTL Port in a terminal program, such as PuTTY, Tera Term, or the Pololu Serial Transmitter. If you can’t connect, please tell me the error message and the number of the COM port you were trying to connect to.

–David Grayson

David,

Com3 is the programming port, and that’s the one I selected with avrdude and avrstudio (with AVRISP as the platform). I even tried the TTL port (com18) with avrdude just to see if there was a connection (not expecting a successful download). Avrdude timed out.

To specifically answer your questions:

Which COM port number is assigned to the the Programming Port?
-> com3
Which COM port number is assigned to the TTL Port?
-> com18
Are any other COM ports visible in your device manager?
-> com1, which I’ve used with several other devices, and lpt1
Which COM port did you select in AVR Studio’s “Select AVR Programmer” dialog box?
-> com3, and I also tried auto

I successfully connected to the TTL port using Teraterm, and hooked up a scope to the output on the board. The character bitstream is correct, so that part is working. I haven’t tried the sloscope, but I suspect that’s okay too.

I then checked the reset, clock, and data (MOSI) lines with a scope during a download attempt, and there’s no activity at the ISP connector. The uP is running at 5V, and I’ve checked the Vdd monitoring settings in the config app. The yellow light blinks steady when the uP is powered, as the manual describes, so that part of the interface seems to be alright.

Here is the output from avrdude:

“make.exe” program
avrdude -p attiny2313 -c avrispv2 -P com3 -U flash:w:prog.hex
avrdude: stk500v2_getsync(): can’t communicate with device: resp=0x01

avrdude: stk500v2_command(): unknown status 0xc8
avrdude: stk500v2_command(): unknown status 0xc8
avrdude: stk500v2_program_enable(): cannot get connection status
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: stk500v2_command(): unknown status 0x01
avrdude: stk500v2_disable(): failed to leave programming mode

avrdude done. Thank you.

make.exe: *** [program] Error 1

Process Exit Code: 2
Time Taken: 00:01

Unfortunately, bit-bang programmers don’t work under Vista because the of the way the com ports are handled-- the timing is too tight, so I can’t use the setup I had under XP to get a baseline. I have an STK500 kit from Atmel. I’m going to give that a try today.

I’m a EE with 25 years experience working with numerous circuits and systems. I’ve worked with and designed boards using pic, avr, motorola, and other processors with great success. However, nobody is above making a simple mistake. I’m also big on reading user manuals and documentation (the answer is usually there), and you guys have done an excellent job on every product I’ve seen. If I’m doing something wrong, I appreciate the help tracking it down.

Thanks and regards,
Frank

I don’t think I’ve seen this error message before, but I looked it up in the avrdude source code and it means that avrdude sent the Sign On command to the programmer but did not get the response it was expecting. If you send a Sign On command to COM3 using the byte sequence 0x1B,0x01,0x00,0x01,0x0E,0x01,0x14, you should receive this response: 0x1B,0x01,0x00,0x0B,0x0E,0x01,0x00,0x08,‘A’,‘V’,‘R’,‘I’,‘S’,‘P’,’_’,‘2’,0x74. Could you try doing this? You can use the Pololu Transmitter Utility. I did this test on my working programmer, and the result is shown below.

It would also be interesting if you could send that byte sequence to your STK500 kit and see what the result is.

Also what version of avrdude do you have? (Type “avrdude -v”.)

–David Grayson


Hi Frank,

Just recently I have been trying to connect to an ATtiny24 with an AVRDRAGON board via the USB port to WindowsXP PC.

This is what I had to do:

  1. Power supply off the AVRDRAGON was wiggy. I supplied 3v DC from a stack of two alkaline AA batteries to the ATtiny24. ISP header pin 2, VTG, goes to battery +

  2. My chip had a nominal clock of 8 Mhz. I was able to look at the peripheral registers and found that CLKPS, clock prescaler, was configured to divide master clock by 8. This is due to the fuse bit CKDIV8 having factory default to set CLKPS to divide by 8. Read the datasheet for your ATMEL to see what your chip does in these registers.

  3. I ran AVRDRAGON.EXE command line utility to drop the SPI clock rate to 250 000 hz
    avrdragon -dATtiny24 -I250000

Note my device is -dATtiny24, so set to your own device.

  1. Disable DebugWire, bacause programming is to be done with ISP:
    avrdragon -dATtiny24 -W

  2. Finally, I am able to consistently read the chip’s signature:
    avrdragon -d ATtiny24 -s

I hope this helps.

Brendon