Arduino Duemilanove with Vista can't Upload Sketch

IDE reports:
Binary sketch size: 1124 bytes (of a 14336 byte maximum)

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51


Arduino IDE is 0012 Alpha.

Uploading works properly with a diecimila. I have two and can just swap them.

LED lights with both boards follow:

Arduino Diecimila with Vista
On power up, the PWR LED goes green. The L LED blinks irregularly for about 3 seconds, goes on for about 1/2 second and then executes the previously loaded sketch.

Blinks 3 times rapidly, goes dark for about 15 seconds, resumes the last loaded sketch.

Arduino Duemilanove with Vista
On power up, the PWR LED goes green.
The L LED
blinks once quickly
is off for about 1 second
blinks 3 times, 3 times, 3 times, 2 times over about 3 seconds
goes dark for about 1/2 second
blinks rapidly forever.
The TX and RX lights blink 3 times.

Pressing reset causes the L LED to blink rapidly forever.
The TX and RX lights stay dark.

I'm guessing the rapid blinking is the last uploaded sketch running.

Does the rapid blinking of the LED on reset indicate a problem with the bootlegger?

Uploading with upload.verbose on:
-v -v -pm168 -cstk500v1 -P\.\COM4 -b19200 -D -Uflash:w:C:\Users\Andrew\Documents\Arduino\test_blink\applet\test_blink.hex:i

avrdude: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

System wide configuration file is "C:\dev\arduino\arduino-0012\hardware/tools/avr/etc/avrdude.conf"

Using Port : \.\COM4
Using Programmer : stk500v1
Overriding Baud Rate : 19200
avrdude: ser_open(): setting dtr
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Recv:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: Send: Q [51] [20]
avrdude: Recv:
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

avrdude done. Thank you.

Sounds like same issue as "Re: avrdude: not in sync again"

Swapped ATMEGA168, downloaded and got some error message.

So wait, let me make sure I understand this. You have a duemilanove AND a diecimila, and are swapping a single AVR chip between the two, and it works when it is in the Diecimila, but does NOT work when it is in the Duemilanove? (running Vista in the host in both cases?)

This is very interesting. It suggests to me that the problems might be due not to mis-programmed AVR chips, but to mis-programmed FTDI chips (the chip that provides the USB/Serial translation.) It's a little-known fact that these chips actually contain some of its own non-volatile configuration that can be read and written by the USB host using an FTDI utility called MPROG (seems to be windows only.) Perhaps it's not even a mis-programming, but a simple incompatibility between one batch of FTDI chips and the version of the FTDI drivers that are included with the Arduino environment.

I would try the following:

  1. download and install the latest version of the FTDI drivers from the FTDI site. See if that fixes the upload issues.
  2. download the MPROG utility (and associated direct mode FTDI drivers) and use the "read and parse" function to compare working and non-working arduinos. Report here. Try changing the non-working arduino's FTDI config to look like the working one, if there are any obvious differences...

See Arduino Playground - FTDI
"(Re)programming the default settings into the FTDI FT232RL chip"

Not exactly.

I have a diecimila, a duemilanove, and a spare AVR.

diecimila - works
duemilanove - can't upload
duemilanove with spare AVR - can't upload

Since diecimila works, failure is probably due to duemilanove incompatibility or duemilanove hardware failure.

If RX and TX lights are controlled by FTDI chip, then FTDI chip failure sounds likely.

MProg hung. Couldn't kill from task manager. Vista !#$@s
Drivers installed in November. Have reinstalled before.
Maybe its FTDI. Maybe its Vista. Maybe its driver.
AdaFruit says they will replace board.
Time to let it go. >:(
Thanks for the help westfw. :wink:

diecimila - works
duemilanove - can't upload
duemilanove with spare AVR - can't upload

Ah, rats; I thought I was on to something. You might try swapping the working AVR from the diecimila with the AVR in the duemilanove. If the
dieceimila stops working at that point and the duemilanove works, it points at the avr chip pretty definitely. If the duemilanove still doesn't work, but the diecimila DOES, it points to something else on the duemilanove board (could be the FTDI, could be something else.) I suspect that LadyAda would not mind this level of experimentation before returning the non-working board, and I'm pretty sure the two boards use the same rom monitor/etc. (The chances of breaking the working processor chip from the diecimila SHOULD be very low...)