O non hai copiato tutto o nel loop non chiudi il client client.stop() il buffer assai limitato si satura e saluti.
a cosa serve nel setup questo?
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop()
}
perchè non c'e' ethernet.begin?
tralasciamo il fatto che non specifichi quale shield hai. Se c'e' la sd card vanno specificati i 2 pin di enable/disable 4-10
ciao