To start, I have an Arduino UNO clone made by GEEKCREIT.
I am not the Original purchaser. I acquired this UNO in a box of "Stuff" that I bought at a local "HAM Fest" and am trying to get it to work.
I have spent the last week reading and trying everything I can find here and elsewhere with absolutely no luck.
This board DOES NOT have the CH340 serial interface IC.
It has the Atmel Atmega16U2 interface.
The problem seems to be that the Atmega16U2 has the Incorrect PID. The VID seems to be correct.
When connected to a Windows 7 or Windows 10 machine, the Device manager shows the Uno as a libusbK USB Device / AVRISP mkII with a USB\VID 03EB and PID 2104.
When connected to a Linux machine, lsusb shows it as 03eb:2104 Atmel Corp. AVR ISP mkII.
The Atmega16U2 will NOT go into the DFU mode and will not program through its ICSP header.
Can someone point me it the right direction of a fix or solution to getting this UNO Atmega16U2 back to a working bootloader????
Or is this just a LOST cause.
Error while burning bootloader.
Reading | ################################################## | 100% 0.03s
avrdude: Device signature = 0xffffff (probably .avr8x_mega)
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
Are you sure you are loading the bootloader correctly - the error suggests to me you selected UNO when loading the bootloader rather than mega ( which I think is your destination board ?)
Hmmm … I’ve only loaded bootloaders using code provided in the IDE examples folders , there is plenty about this on the internet and it just works .
Alternatively buy a ICSP programmer which is even better .
( in that you set the target board as the board type ) .
The hood loader software can modify both the 2560 programmer and the usb interface chip
your device signatures error might mean you are trying to change the wrong processor .
You seem to be getting in some deep water . If you are starting out , I would put that in a drawer for later and buy a new one . Alternatively just program via the ICSP pins , and forget about the USB
I guess I should clarify. I am not just starting out. I am just learning how to fix this problem with the Atmel Atmega16U2 Identifying as an AVRISPMKII.
I spent 40 years in the communications field. I have been playing and hacking with electronic stuff for close to 60 years. I have built a number of projects using Pro Mini's and Nano's. My one big project being a Fuel Gauge/Sender calibration device. Just a little background.
This issue is not necessarily about burning a bootloader to the Atmega16U2. It is how to get it back to identifying with the correct PID as stated in my first post above.
I am trying to access/program the Atmega16U2 using its ICSP header using my AVRISPMkII or USBASP programmers. Not the USB port.
Using AVRDude or AVRDudess, I get semi random incorrect Device Signatures returned.
Can a fuse be set somehow that blocks the programming mode?
When properly programmed, the ATmega16U2 is a USB device and must present the proper credentials, following the USB protocol, to be recognized by the PC.
The usb-serial code includes all of the USB functions and identifiers like VID and PID, required to behave as a USB device and to perform its various duties.
Did you read my first post? This is a UNO clone. When connected to a windows machine, device manager shows a VID & PID of 03EB &2104. Linux lsusb shows the same thing.
This VID & PID combination I believe is for a AVRISP MkII. I think whoever had it before me programmed it as a AVRISP MkII. The Atmega16U2 should be 03EB & 2FEF.
Now it will not go into the DFU mode no matter what I try. If I try to use the FLIP program I get the error"com.atmel.flip.IspException.
If I use the Arduino AVRDude from the windows command line using this command:
C:\Arduino AVRDude>avrdude -C avrdude.conf -p m16u2 -c avrispmkii -P usb -b 115200 -F -U flash:w:Arduino-usbserial-atmega16u2-Uno-Rev.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4 -U lock:w:oxCF:m -v -v -v
I get this message at the end of the attempt:
Programmer Type : STK500V2
Description : Atmel AVR ISP mkII
Programmer Model: AVRISP mkII
Hardware Version: 1
Firmware Version Master : 1.24
Vtarget : 4.9 V
SCK period : 23.12 us
avrdude: stk500v2_command(): command failed
avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: Target reverse inserted
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000 (retrying)
avrdude: Device signature = 0x000000 (retrying)
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATmega16U2 is 1E 94 89
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude done. Thank you.
I have used my AVRISPMkII, USBASP, and another (Real) Arduino UNO as ISP with the same results.
Yes, I realize that.
I am trying to load a new bootloader to the Atmega16U2 and it will not work, .it will NOT go into the DFU mode. I can not get it to accept any code.
The problem for me is I read this statement and assume you know nothing , it then runs in a circle of responses as people spent time trying to respond to a beginner and you get frustrated with the responses and we get frustrated in having wasted time . (It’s just simple misunderstanding bought about by short txt messages. ).
Manners then go out the window as mud gets thrown .
The only cure is to be precise at the start and to remember no one gets paid to offer help on this forum , play nicely children .