W5100 ethernet shield - I can ping it but get no IP

Hi!

I’m having a problem with my ethernet shield. I’ve read several posts regarding the same issue, but my case seems to be a bit different. It’s the problem regarding getting IP 0.0.0.0 after connecting with Ethernet.begin(mac,ip). My setup is:

  • Arduino duemilanove
  • Clone version of the W5100 based ethernet shield with SD card slot
  • IDE 1.05

The code I’m using is this:

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,50);

void setup() {
  Serial.begin(9600);
  
  // disable SD card if one in the slot
  pinMode(4,OUTPUT);
  digitalWrite(4,HIGH);

  Serial.println("Starting w5100");
  Ethernet.begin(mac,ip);

  Serial.println(Ethernet.localIP());
}

void loop() {

}

The output in serial monitor is: Starting w5100
0.0.0.0

I tried several other codes, including the webserver example, with no success. I also tried to assign other IP addresses.

There is no SD card in the slot. I tried powering it with a 12V 1A power supply. The ICSP connector seems to be fully connected to Arduino.

I kept pingging the address 192.168.1.50 for some time, with ping -t, and I always received the response in less than 1ms. No packet was lost. If I try to connect with just Ethernet.begin(mac) the code seems to freeze, although there is no device with the same MAC address in my network. I also tried to connect passing the gateway and subnet, with no better results. The leds states are:

  • Power: ON
  • Link: ON, but blinks from time to time
  • 100: ON
  • FULLD: ON
  • CON: always OFF
  • RX: OFF, but when “Link” goes OFF, it goes ON
  • TX: OFF

When I ping the board, both RX and TX starts to blink on a “regular” basis.

In the posts I read, people usually say they can’t ping the board and some concluded that there was a HW failure. But in my case, since the board is responding in the designated address it would also suggests a HW failure?

Any help would be highly appreciated!

This looks like you can write to the W5100 but not read from it. Is it possible that the ICSP pins connect except the MISO pin? Because that would explain the symptoms you describe.