The sd card and the Ethernet stuff run completely independently and do not affect each other on my Uno.
They do not run independently on my mega2560. They are both SPI devices, and if not disabled or initialized correctly, they will cause failures in the other device.
Have you tried the ethernet part of the shield to check the SPI connection? Try this sketch. Does it show 192.168.2.2 on the serial monitor? Or does it show 0.0.0.0?
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,2,2);
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() {
}
You should be able to leave the SD card in the slot for this test. Note the SD disable in the setup.