Loop-back works, upload doesn't (Uno) [[fixed, with solution]]

Hello,

I've been developing on my Uno board for months and months with no trouble on my old laptop.

I recently upgraded to Windows 7 and a new laptop (HP 8560w).

I downloaded the latest Arduino software (Release 1.0 from 2011.11.30) and using device manager, assigned the latest drivers. (One thing I noticed is that the device is no longer called an Arduino in the devices list, it simply appears as Communication Port COMx, which contradicts the instructions).

I compiled and uploaded "Blink".

It worked once, but doesn't upload anymore.

I performed the loop-back test with Serial Monitor, echoed fine.

I tried new cables, I even dropped in another ATmega (with a bootloader already burned). Nada.

I read the forum, every one else that has this problem resolved it by re-installing drivers (which I tried by uninstalling them first), or discovering they selected the wrong COM port or wrong device.

Here's the typical error (I selected the right COM port and the right Board) after compiling Blink.

avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "C:\Users\me\Desktop\arduino-1.0\hardware/tools/avr/etc/avrdude.conf"

Using Port : \.\COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
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 done. Thank you.

I've tried everything from the forums and from the help pages. No idea what else to test, since the loopback works fine.

Is there any more debug I can try? A verbose compile option? Other diagnostic software?

Oh yeah: when I hit "Upload" the RX LED on the board flashes three times. That's it.

Need help.

Thanks in advance.
PJT

UPDATE!

For the heck of it, I tried selecting a different board from the dropdown list in the configuration, so I picked the Duemilanove Atmega328...

...everything works fine now!

I have no idea why selecting "Arduino Uno" wouldn't work but selecting this other board would, but I"m gonna stick with it.

Some feedback for the developers.

-PJT

UPDATE #2

I created a new board in the "BOARDS.TXT" file by copying the Arudino (UNO) config and switching the default baud rate from 115200 to 57600, and everything works. I'm guessing my old board (or my chip) was set to program at 57600 and the new boards default to 115200. Or something. But it was baud rate.

I think the LoopBack FAQ should include notes about checking baud rate.

-PJT

UPDATE!

For the heck of it, I tried selecting a different board from the dropdown list in the configuration, so I picked the Duemilanove Atmega328...

...everything works fine now!

I have no idea why selecting "Arduino Uno" wouldn't work but selecting this other board would, but I"m gonna stick with it.

Some feedback for the developers.

-PJT

I tried new cables, I even dropped in another ATmega (with a bootloader already burned). Nada.

Selecting the board type tells the Arduino IDE what processor type, processor clock speed, and the baudrate to use for the bootloader installed on the chip amoung other things as specified in the boards.txt file.

So if it works as a Duemilanove board, then that is the type of bootloader you presently have on your chip installed on the board. If you install a chip with a Uno bootloader on it, then you will have to select the Uno as the board type.

Lefty

Thanks Lefty! I was poking around in BOARDS.TXT.

Looks like both

unofix.bootloader.path=optiboot
unofix.bootloader.file=optiboot_atmega328.hex

and

atmega328.bootloader.path=atmega
atmega328.bootloader.file=ATmegaBOOT_168_atmega328.hex

...both work for my bootloader, I made an update, it appears it was the default baud rate that was programmed into my system was not matched with the boards.txt file.

Thanks for replying!
-PJT