Arduino Mega 2560 & Ethernet Shield SD Initialization Failed!

Salve a tutti!!
Sto tentando di scrivere un file all'interno di una scheda SD posta in un Ethernet Shield con SD collocata su di un Arduino Mega 2560.
Il problema è che il modulo funziona perfettamente come scheda eth ma come provo ad accedere alla scheda SD mi da errore nell'inizializzazione.
Ho provato con tutti i suggerimenti che ho trovato in decine di post vari ma niente...
anche con i programmi di test ottengo sempre la stessa cosa.

  • ho provato a formattare piu volte la scheda, anche con SD card formatter
  • ho provato ad inserire le due istruzioni di seguito per disabilitare la parte eth
pinMode(10, OUTPUT); 
 digitalWrite(10, 1);

-ho provato anche ad inserire( sempre prima del SD.begin )

pinMode(4, OUTPUT);
 digitalWrite(4, 0);

il semplice codice dell'esempio che utilizzo è il seguente:

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

File myFile;

void setup() {

  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }


  Serial.print("Initializing SD card...");

  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    while (1);
  }
  Serial.println("initialization done.");

  if (SD.exists("example.txt")) {
    Serial.println("example.txt exists.");
  } else {
    Serial.println("example.txt doesn't exist.");
  }
...

ma non sono mai andato oltre "initialization failed!"

la scheda che ho installato sopra al mio Arduino Mega è la seguente:
http://shieldlist.org/arduino/ethernet-v5

Grazie in anticipo!!

Aggiornamento!!
Sono riuscito ad inizializzare la scheda SD!!
La scheda ha iniziato a funzionare dopo che ho messo un file al suo interno da pc...forse solo formattandola c'era qualcosa che non andava con il filesystem!!
Ora pero ho notato che se tengo il cavo di rete scollegato funziona tutto mentre se lo collego ritorna il problema dell'inizializzazione.
Ho cercato e ho aggiunto le seguenti righe(in un altro post hanno funzionato):

pinMode(4, OUTPUT);
 pinMode(10, OUTPUT);
 pinMode(53, OUTPUT);
 digitalWrite(4, HIGH);
 digitalWrite(10, HIGH);
 digitalWrite(53, HIGH);

ma continua a darmi errore...
avete idee?
TNX!!

Metti una resistenza da 10k o giù di lì tra 5V e il pin 10, ed un'altra tra 5V e il pin 4.