Electronic – arduino – Problem building Arduino Uno firmware

arduinoavrfirmware

I am trying to build the Arduino firmware on Win7 using WinAVR and FLIP. I have successfully built the firmware and have a "arduino-usbserial.hex" file to upload, but when I flash the Uno and plug it back in to my computer Windows no longer recognizes the device and won't use the Arduino drivers for it. If I reflash to the "arduino-usbserial-uno.hex" file that comes in the folder everything works fine. Am I missing a part of the build process? My steps are

  • set arduino to DFU mode (connect jumper and release)
  • make clean
  • make all
  • manually download with Flip via USB (run, start application, then unplug and plug in)

The makefile has the ARDUINO_MODEL_PID set to 0x0001 and MCU = atmega8u2

Thanks!

Best Answer

Okay, problem found. The Vendor ID and the Product ID of the firmware was changed in subsequent non-factory firmware releases which prevented the Arduino drivers from recognizing it. The solution is to use either the drivers in the LUFA project folders, or change these lines in Descriptors.c

.VendorID               = 0x03EB, // Atmel
.ProductID              = 0x204B, // LUFA USB to Serial Demo Application

to this

.VendorID               = 0x2341, // Arduino
.ProductID              = 0x0001,

Hope this helps someone in the future.

Related Topic