Broken Arduino?

I have an Arduino Mega 2560 which has been sitting without power connected for over a year. It worked the last time I used it and now a year later when I connect it, it doesn't work.

The device appears to receive power by USB and initialize, there is an "ON" LED which turns on immediately and remains lit, without blinking. There is also another LED with the label "L" on it (above the TX and RX LEDs), this LED blinks twice when the device is initially given power by USB, then it remains off. This "L" LED also blinks again if I press the reset switch.

However despite this there is no USB device detected whatsoever. This is not a user fault, I have another Arduino 2560 which shows up as a USB device when I connect it. I'm using the same cable, the same computer. Just to make sure I've tested this in both GNU/Linux and Windows, the device doesn't seem to be detected at all as any kind of USB device.

E.g. in Linux, if I do dmesg -c, then connect the device and do dmesg again, there is nothing at all showing up. The same goes for lsusb, no type of USB device is detected. For my other 2560 it is detected fine, it shows up in both dmesg, on lsusb, I get a ttyACM device, I can program and interact with it with no problems.

My question is simply how does something like this happen, and is is possible to determine what the problem is? There is no visual damage on the Arduino. It appears to be a genuine Arduino.

That is odd.

Have you tried pressing the reset when plugged in to see if anything changes on Linux?

Could you try reloading the firmware on the USB chip?

ChilliTronix:
That is odd.

Have you tried pressing the reset when plugged in to see if anything changes on Linux?

Could you try reloading the firmware on the USB chip?

I've tried pressing it numerous times while it is connected by USB, nothing shows up in dmesg or lsusb.

How do I go about reloading the firmware on the USB chip?

Good question... Post that as a question in the Micro controllers section... Someone there should know.

I didnt worked Linux platform.If you have window OS installed in system.
can you Check Both board being detect in device manager.

The board you faced problem ; Can you attach screen shot of device manager when connected.

Uh - the two Megas you’re using, to demonstrate that the problem isn’t drivers… they’re both using the same serial interface chip? There exist clones of the Mega that use other usb<->serial adapters, instead of the (programmable) atmega16u2.

DrAzzy:
Uh - the two Megas you’re using, to demonstrate that the problem isn’t drivers… they’re both using the same serial interface chip? There exist clones of the Mega that use other usb<->serial adapters, instead of the (programmable) atmega16u2.

I’ll have to check, I’ll report the answer when I have it.

DrAzzy:
Uh - the two Megas you’re using, to demonstrate that the problem isn’t drivers… they’re both using the same serial interface chip? There exist clones of the Mega that use other usb<->serial adapters, instead of the (programmable) atmega16u2.

I have both the modules cdc_acm and ftdi_sio loaded in Linux when I attach the device by USB. There is no action in dmesg, by no action I mean that literally nothing shows up. It is not like some unknown USB device is attached, it is as if no USB device at all was attached.

I really doubt this is related to the problem anyway though, since I get the same results in Windows.

asincos:
I really doubt this is related to the problem anyway though, since I get the same results in Windows.

That statement is somewhat backward!

Generally speaking, most common things will work in Linux even if Windoze drivers cannot be found. So I figure if it will not enumerate in Linux, it really is toast!

The thing is that the Mega2560 as distinct from the "plain" Mega, uses the ATmega16U2 (R3 version) chip as a USB interface (it is not an FTDI) and it can be corrupted. You need to use a ISP programmer (such as a UNO so configured with an adapter lead) to "speak" to the 16U2 and reload its firmware.

Paul__B:
That statement is somewhat backward!

Generally speaking, most common things will work in Linux even if Windoze drivers cannot be found. So I figure if it will not enumerate in Linux, it really is toast!

The thing is that the Mega2560 as distinct from the "plain" Mega, uses the ATmega16U2 (R3 version) chip as a USB interface (it is not an FTDI) and it can be corrupted. You need to use a ISP programmer (such as a UNO so configured with an adapter lead) to "speak" to the 16U2 and reload its firmware.

You're talking about using a procedure akin to this: http://arduino.cc/en/Tutorial/ArduinoISP
I.e. using a working Arduino to reprogram my assumed corrupted non-working Arduino?

ChilliTronix:
That is odd.

Have you tried pressing the reset when plugged in to see if anything changes on Linux?

Could you try reloading the firmware on the USB chip?

He said the board doesn’t show up with lsusb which tells my the 16U2 chip isn’t working. Burning a new bootloader onto the board wouldn’t fix this. ← my mistake, please ignore

@asincos: Have you checked to see that Vdd is getting to the important places (especially the processors)?

Also check the polyfuse… is power going through that? Since the board was stored for a while, might there be a scratch severing a PC board trace? Or maybe a crack? You need to look very closely with a magnifying glass to see some of those cracks.

Check for bad solder joints? I’ve never seen a genuine Arduino board with bad solder joints, but you never know…

Krupski:
He said the board doesn't show up with lsusb which tells me the 16U2 chip isn't working. Burning a new bootloader onto the board wouldn't fix this.

Do please pay attention to what ChilliTronix actually said!

Neither ChilliTronix nor I mentioned the bootloader. It has been reported that the USB firmware on the 16U2 may be corrupted, perhaps through its DFU/ FLIP facility for in-channel reprogramming or in this case, perhaps just some sort of bit fatigue.

The advice therefore is to use the ICSP function of the 16U2 to re-load its firmware. There was no particular suggestion in the OP of a reason for a hardware failure.

Paul__B:
Do please pay attention to what ChilliTronix actually said!

Neither ChilliTronix nor I mentioned the bootloader. It has been reported that the USB firmware on the 16U2 may be corrupted, perhaps through its DFU/ FLIP facility for in-channel reprogramming or in this case, perhaps just some sort of bit fatigue.

The advice therefore is to use the ICSP function of the 16U2 to re-load its firmware. There was no particular suggestion in the OP of a reason for a hardware failure.

You're right. I saw "reloading the firmware..." and "bootloader" popped into my head. My mistake. Sorry.

I have an update. Another Arduino has now failed with exactly the same symptoms. This one appears to be not a genuine Arduino.

Despite not showing up at all on the computer, the Arduino itself works fine. It has been set up to control a small motor and monitor a sensor, and it runs this code fine. However I am not able to see it as a USB device.

By "not able to see it", I mean literally that. It doesn't show up at all as even an unknown device, there is no activity whatsoever from dmesg when I connect the device, reconnect it, give it power externally, hit reset, etc. Nothing does anything, but the Arduino itself works fine.

I cannot imagine how this can be a user mistake. The same laptop, same OS, same modules works on another Arduino board, and both these boards look identical and both were bought from the same store, supposedly same model.

I seem to have pretty much the same problem /symptoms (also a different cause)
May be the two topics can be linked?

I try to work around the 16U2, by using an other Atmel 328P as an ISP