Need Help troubleshooting Ethernet Shield


I'm having problems making my Ethernet shield work.

I've got Arduino Duemilanove with Arduino Ethernet shield both made by DFRobot.

I've tried all the standard examples to make the Ethernet shield work but nothing useful is happening.

Reading in other threads, I've used Wireshark to listen on the Ethernet port and I see that IP address and MAC address is transmitting "Host unreachable" to my computer IP.

I concluded that the wiznet w5100 chip is probably alive but somehow it didn't initialize to the IP address and MAC address in the sketch.

Using Serial debugging messages I know that the sketch was loaded to the Arduino.

Since I'm using an original design Ethernet shield (the one that it having reset issues) I also implemented a reset line using Arduino digital pin 8 but that didn't solve the problem either.

Does anyone have other ideas how to find out why the Ethernet shield doesn't get the IP?


Is your IP address set to a valid local address for your network?


The IP address for the Ethernet shield is a valid IP on the same subnet as my computer.

I have started to add debugging information to the w5100.c and the Ethernet.h and Ethernet.cpp.

As far as I can tell, reading the IP registers of the 5100 doesn't produce the expected results. Maybe I have a problem with the SPI talking to the 5100.
I still have to figure how to debug it.

I'm not familiar with that board, but the ethernet board I used with the 28J60 chip used pins 1 and 2, so I couldn't write to the serial monitor when it was in use - which is my usual approach to debugging.

I ended up doing 'I am here' type trace by using a 'blink' function that took an argument with the number of times to blink, and flashed the LED on pin 13. I called it from various places to determine what route I was taking through the code.

Not ideal, but it works!

I'm using serial debugging by passing values from the C code to the CPP code where I have easier access to the serial communication objects.

Can't use the LED on pin 13 since it is part of the SPI connection to the w5100 chip.