ATmega2560, Windows 7 x64 Driver/Uploading Failure

Hi all,

Issue on Windows 7 x64

Just ordered my first Arduino 2560 Mega from Hacktronics (at hacktronics, link redacted due to post count). It has a PCI ID of
0010 and a Vendor ID of 2341.

Filled with excitement (and a little trepidation, I admit), I carefully took it out of the box and plugged it in via USB. Right away, Windows 7 popped up and informed me that it couldn't find the driver. (Fair enough)

I pointed it to the driver bundled with Arduino-0021 as pointed as the latest release on arduino.cc's download page. Windows informed me it couldn't find a x64 version of the driver.

At this point, I realized that perhaps it was time to grab a new driver version from FTTIs site at (ftdichip[dot]com/Drivers/VCP.htm) and download the 2.08.02 archive. Downloaded, extracted, and pointed device manager to the folder. Once again, it could not automatically detect the USB device. So, I went for manual mode. I forced Windows to load the USB Serial Device driver from that particular driver package.

Still, no go. Windows 7 x64 would load up the USB Serial Driver just fine, but then it would not add another device for the virtual COM port. Still stuck in the same place.

I figured it was time to look into Vendor IDs and PCI IDs to see which IDs the driver was looking for. I found out that apparently the default device ID for a FT4232H chip was 6011 and the vendor ID was 2341 (of course).

Realizing that this might be a vendor ID issue, I set about to modify the INI, but then I searched over FTDI's website a little more and found they'd already written a utility to do so. I installed and downloaded the FTDI INF File Generator at ftdichip[dot]com/Support/Utilities.htm. Now, I admit, I'm not sure which chip my Arduino has on it, but I attempted to set the Vendor ID and PCI ID for each chip, while rewriting the INI file, uninstalling each 'old' inf in Windows using the advanced driver removal function in Device Manager so that the Arduino drops back to Unknown Driver when plugged in a subsequent time.

Eventually, after setting the Vendor and PCI IDs for the FT4242H to that of the undetected Arduino Mega 2560, I got Windows to give me a 'reported' valid installation of the drivers with a virtualized COM port on COM4.

Great I said! Lets upload a sketch.. Not so great. Upon uploading the blinking sketch (and setting my device in the tools menu to 'Arduino Mega 2560') it would just sit in an infinite uploading loop (had to close the application).

I've read that holding shift while clicking upload is supposed to give diagnostic data,but now that I think about it I may have been holding shift while clicking on the menu and not the button on the toolbar..

I reset the Arduino, and tried again.. Still the infinite hang with no status messages.

Somewhat frustrated by now, I said what the heck, I'll try setting the device type to ATMega1280. Upon doing this, I got the following message:
Binary sketch size: 1538 bytes (of a 126976 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Now, of course, it's the wrong board setting, but at least it's evidence that it may be receiving and sending something! Anything!

Now I'm at a point where I've uninstalled all of the drivers, and can't seem to get back to my original success (realtively speaking) of getting the COM port to display.

Ah, have you tried it on another computer? You might ask this, and rightfully so. I've tried to plug the Arduino into 4 different machines I have here (all running Windows 7 x64, admittedly) with no automatic detection or anything. I'm quite sure it's because the Vendor ID/PCI ID doesn't match between the INF and that of my Arduino for some unexplained reason.

I don't have a Windows XP box to test, although I may try it on a virtual machine soon.

Thanks for any help you can offer!

Note: Looking in the FTDI Generator, it appears that..

-FT232/245 has a PCI ID of 6001.
-FT2232D/H has a PCI ID of 6010
-FT4232H has a PCI ID of 6011

Could it be that for some reason my device (PCI ID: 0010) was flashed with it's PCI ID replaced with a 0 instead of a 6?

Wait... wait... wait...
The new boards, Uno and Mega2560 don't have an FTDI chip. There is another AVR on board that acts like an FTDI aka USB to TTL serial. That solves half of your problems :stuck_out_tongue:

I feel quite stupid at this point!

Got it working. I was browsing the directory structure of 'FTDI USB Drivers' and ignoring the small INF hanging out marked in gigantic letters 'Arduino MEGA 2560.INF'

I went into 'lets make this work' mode instead of..
'Could this be the wrong chip driver mode' and wasted a ton of time..

Thanks to anyone who read this thread and replied. The above poster is right, and that's just about it. New serial interface is very fast by the way!

hi

I'm experiencing the same problem as you
what ever method I try, windows just fails to find the driver
could you elaborate what you mean by:
" I was browsing the directory structure of 'FTDI USB Drivers' and ignoring the small INF hanging out marked in gigantic letters 'Arduino MEGA 2560.INF' "

thx