Add me to the list of people running into this problem, I'm pretty disappointed considering I just bought it, I thought perhaps they would have fixed it by now.
Can somebody post a picture (or diagram) of the cap workaround? I tried soldering a 22nf cap between the legs of the reset switch on the ethernet shield and that doesn't seem to do it.
This is the last step to making my project complete, so I'd love any help! Thanks!
Instead of soldering a SMD cap between the button's pins you can also plug a normal cap between the Reset and Ground pin. I used two 100nF in series (together 50nF). Maybe 22nF is too small.
By the way I ended up just 'working around' this problem by instead using the LadyAda ethernet shield, which has the additional advantages of having the wiznet module on a daughterboard and allowing you to very easily independently reset it.
Plus you get to solder it together, which is always fun.
I would recommend that route for anybody who doesn't want the headache of mucking with the current 'official' ethernet shield. Sad but true.
To keep that reset line low for a while, you can stick pretty much any capacitor there. I tried it with 22uF in the reset and ground lines of the stacking header. Worked immediately. (Thanks Stephan).
AGT's technique of using an output pin is theoretically do-able with the hardware as it stands: the Atmega 168 can have the reset pin configured as an output (by changing the hfuse value). Then you can use the power-on reset of the Atmega (or watchdog) and drive the reset line from the CPU to reset any other circuitry -- very nice. BUT the reset line is used by all the ISP programmers, so unless you have a non-ISP programmer you won't be able to modify the bootloader code. (Unless you get it right first time, you won't be able to reprogram the atmega. Thankfully I have a few spare CPUs.)
Hello all,
I had 14 Arduinos, each equipped with ethernet shield and ID-12 RFID integrated reader and ONLY 6 of them experienced the "reset issue". Before reading this post I tried with 100nF cap (I had a lot of BAD RESET experience with Z80 and PICs) and it didn't work. I increased to 470nF and it was OK! I suggest to add a 1N4148 or similar diode from reset line (anode) to +5V (cathode) to fast discharge the capacitor when power goes off, otherwise it will discharge via the ESD diode inside the ATMEL and this is not really safe.
Hope this helps, have fun with the ETH shield + Arduino and HAPPY NEW YEAR.
Rino
I did not manage to bring Ethernet Shield into stable operation. I always have to press reset. There must be a design problem. If Ethernet Shield needs a different Reset timing then it should have its own reset cuircit.
Is there a definitive solution to this now? Judging from the responses, it seems like a capacitor between reset and ground in the stack header looks the easiest solution. Would this be suitable?
don't connect the reset pin of ethernet shield to the arduino (bend it a little bit away)
connect the reset pin of ethernet shield to a digital pin of the arduino
use the following init code:
void init_ethernet()
{
pinMode(DO_RESET_ETH_SHIELD, OUTPUT); // sets the digital pin as output
digitalWrite(DO_RESET_ETH_SHIELD, LOW);
delay(1000); //for ethernet chip to reset
digitalWrite(DO_RESET_ETH_SHIELD, HIGH);
delay(1000); //for ethernet chip to reset
pinMode(DO_RESET_ETH_SHIELD, INPUT); // sets the digital pin input
delay(1000); //for ethernet chip to reset
Ethernet.begin(mac,ip,gateway,subnet);
delay(1000); //for ethernet chip to reset
Ethernet.begin(mac,ip,gateway,subnet);
delay(1000); //for ethernet chip to reset
}
another positive side effect:
it is possible to run init_ethernet() whenever the ethernet chip stops working correctly
We're very happy to announce an updated version of the Arduino Ethernet shield, with some nice new features. This revision incorporates a micro-SD card slot so you can store files to send over the network. It's compatible with the Arduino Mega (using the SPI pins on the ICSP header). It adds a reset controller which should address the problems some people have had getting it to work directly on power-up. All-in-all, we think it's a well-rounded upgrade to a useful product.
It seems that the reset issue is addressed - even if i've not tried this new shield yet.
Any feedback?
I am new to the Arduino and can report I have not had any reset issues using the Rev5 EtherShield on a Arduino Mega. It has been plug and play hardware. I am having some connection refused with the library code with connect which brought me to this thread. It's intermittent failure at 1 per 300 or so connections and it fails with connection refused 6100 error code.
I've created my own ethernet shield board using the WIZNET W5100 and reference designs. Everything works great, however, I just plugged the shield into a Gigbit switch and it fails to start. When I plug it back into a 10/100 it works fine. Any ideas? It should just operate at 10/100, or is the gig-switch having issues?