Official Ethernet Shield after power restore

Hi,

I've noticed something strange happens when I pull the power (via USB) out of my arduino (well, freeduino), wait a few seconds and put it back in - the ethernet shield never properly initialises. The link LED lights up, but it doesn't get a connection, doesn't respond to ping etc.

As soon as I press the restart button on the shield, it properly initialises itself.

I'm planning on powering my setup via USB, but when the host computer turns on/off, it temporarily stops producing power to USB, then the arduino comes back and doesn't respond.

Has anyone else found this, and is there some kind of workaround? I've tried calling Ethernet.begin() several times in the setup, but it doesn't appear to help. The setup() method is definitely being run, as I've got it changing a BlinkM at several points.

Running echo "" > /dev/ttyUSB0 on the host machine kicks it into action, but don't really want to rely on doing that...

Thanks v much,
Ed

Yes I've noticed it, my workaround is to press the reset..... :slight_smile:

It does it on external power and a real Arduino too. :frowning:

You're obviously using Linux, why not put your workaround into /etc/rc.local so it automatically does it when the computer fires up ?

Thanks for the quick reply! Guess I need another battery powered arduino with servo motor to press the reset button :wink:

Time to buy a 5v adapter :S

The /etc/rc.local solution is a lot cheaper and not inelegant IMO.

I can give you some hints if you wish.

Can't you connect the reset pin on the Arduino to the reset pin on the ethernet shield, so that they reset together?

True!! My only concern is if the power is reset when the machine is turning itself off, I won't be able to restart the arduino. Annoyingly can't test at the moment, as it's plugged into my media centre, which is recording something, so can't reboot!!

No worries about the help with rc.local - got plenty in there already!! Thanks for the offer though.

PaulS - unless I've got the wrong end of the stick, the reset pins are always connected together as I'm using two "normal" shields, so all pins are connected to the shield above/below...

Cheers,
Ed

There are a few threads about this issue. I had it too and solved it with a 100nF capacitor between the reset and ground pins on the shield.

Here's where I got the solution from: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1225354009/0