Ethernet Shields Not Registering IP Address

I am having problems with my W5100 ethernet shields where it will not accept the IP address when I initialise it.

This is my setup ...

byte mac[6] = {0xDE, 0xBB, 0xCC, 0xDD, 0xEE, 188}; IPAddress ip(192,168,0,188);

void setup() { Serial.begin(115200); Serial.println(F("Setup."));

Serial.println(F("Initialising ethernet ...")); Serial.print(F("Requested IP Address ")); Serial.println(ip);

delay(2000);

Ethernet.begin(mac, ip);

delay(100);

Serial.print(F("Allocated IP Address ")); Serial.println(Ethernet.localIP()); }

void loop() { Serial.println(F("Loop."));

// do absolutely nothing delay(2000); }

And this is the output it produces ...

Setup. Initialising ethernet ... Requested IP Address 192.168.0.188 Allocated IP Address 0.0.0.0 Loop. ...

Why is it not accepting my IP Address?

My setup is an Arduino Mega and a W5100 ethernet shield. I am using a fresh install of arduino-1.6.5-r2.

I am at a loss as to why this might be happening. I don't think I could make the code any simpler.

It appears the SPI bus or the SPI side of your shield is failing. Insure you have the shield pins inserted fully into the Arduino, especially the ICSP pins.