Two Arduino Ethernet boards with broken bootloaders

Hello,

I have got two Arduino Ethernet boards, both of these had been programmed via the IDE for just a few (< 5) number of times
and became unresposive to STK500 protocol, namelly avrdude: stk500_recv(): programmer is not responding. I have tried swapping a for another USB2SERIAL dongle and also tried with a standard FTDI cable, neither solved the problem.

Personally I have had this issue a while ago on Decimilia and it had been solved by reflashing the bootloader (pre-optiboot).
So I have attempeted to reflash via the IDE with an original AVRISP (mkII) dongle and it took an awfully long time and
reported no errors. I have have done so a number of times, either through IDE or by running avrdude (from withing Arduino.app)
with the flags that IDE calls it with (which I obtain from ps -ef | grep avrdude while IDE was running it).

I have tried to use different power supplies (once 9V and once 5V) while programming with AVRISP - same result;
and, of course it didn’t work without a power supply connected.

Additionally I have tried to call avrdude first in write mode and then in verify mode, which reported no issue.

Also, I took an Arduino Ethernet board of a friend who have never had no issue with it for a the time being and ran avrdude in read mode, writing to a file which have then attempted to write to one of the broken board and had no success with that either!

I have looked on optiboot’s issue tracker and found no signs of maintence there AND looking into the Arduino repository there were no commits since a long time.

Questions:

  • Is Optiboot such a piece of crap?

  • Are there alternatives that will work on the Arduino Ethernet board?

  • Has anyone else experience this issue with those A.E. boards or since Optiboot ever been around?

  • Are both board possibly of a faulty batch?

  • Can we send these boards back?

Updates:

  • could be same as this

Cheers,

Ilya @ Cosm.com

I have looked on optiboot's issue tracker and found no signs of maintence there

This one? http://code.google.com/p/optiboot/ ? The last changes were in March (added 1284 support), and the last defects reported in May (compile-time issues.)

AND looking into the Arduino repository there were no commits since a long time.

Since the 1.0 update, back in Oct of 2011. This is by design, since Optiboot is essentially a manufacturing-time component. It would only be updated in the case where a major problem has been found. The more recent changes in the optiboot repository were for new (not official arduino) platforms and build improvements, so they don't count.

Is Optiboot such a piece of crap?

Probably not. The vast majority of people reporting problems have been people attempting to burn optiboot into fresh or weird chips/boards, rather than problems with manufacturer-installed optiboot itself. OTOH, optiboot is very tiny, and has little error detection and no error reporting to speak of, so whenever there is a "it doesn't work" report, it is very difficult to debug. This is the first report I've seen of bootloader problems on an Arduino Ethernet. The ethernet board has the ethernet chip in parallel with the SPI pins used to implement ISP, so there could potentially be problems with burning a bootloader, but that should not have an effect on loading sketches USING the bootloader. It could be a RESET issue; have you tried the sketch upload using manual reset?

Are there alternatives that will work on the Arduino Ethernet board?

There shouldn't be anything special about the bootloader for the ethernet board, so you could conceivably use any of the other bootloaders (atmegaboot, adaboot, etc), given appropriate modifications to the boards.txt file to fix the bitrate, max sketch size, and so on.

Has anyone else experience this issue with those A.E. boards or since Optiboot ever been around? Are both board possibly of a faulty batch?

There was a hardware issue discovered on the Uno that might be present on the Ethernet as well. http://arduino.cc/forum/index.php/topic,64256.0.html You could try the "diode fix" to see if it gets you anywhere.

Can we send these boards back?

That's between you and your vendor. And if you can send them back, it would be up to your vendor as to whether there is any failure analysis done, or if you just get a board swap. In general, the Arduino price point doesn't support failure analysis until a lot of people start having problems :-(