Problem with Ethernet Shield SD Card

You must disable the w5100 SPI before starting the SD card. Like this:

#include <SD.h>
#include <SPI.h>

const int sdpin = 4;    
const int ethpin = 10;

void setup()
{
  Serial.begin(9600);

  // disable w5100 SPI before starting SD card
  pinMode(ethpin, OUTPUT);
  digitalWrite(ethpin, HIGH);

  Serial.print("Trying SD card ... ");
  if (!SD.begin(sdpin)) {
    Serial.println("bad luck.");
  } else {
   Serial.println("job done."); 
  }
}

void loop() {
}