pagina web+sd+arduino ethernet

Sto facendo esattamente la stessa cosa e quello che ho imparato è che arduino legge i file con formato 8.3 cioè 8 caratteri per il nome e 3 per l'estensione; ti consiglio di rinominare così il file che contiene il codice html.

Inoltre prova a cambiare il codice da così:

while (htmlFile.available()) {
     client.println(htmlFile.read());
}

a così:

String html;
while (htmlFile.available()) {
                char c=htmlFile.read();
                html.concat(c);
}
client.println(html);