Problema semplice connessione ethernet modalità client

Salve a tutti,
sto affrontando un problema in apparenza banale ma non riesco a venirne fuori… Per questo avrei bisogno del vostro preziosissimo aiuto.
Il mio scopo è quello di utilizzare il mio arduino mega 2560, corredato di Ethernet Shield Aukru W5100, come contatore che invii ciclicamente i dati ad un webserver tramite una get request del tipo:

/counter/counter.php?val1=1&val2=1&val3=1&val4=1

per far si che i quattro valori valx vengano memorizzati in un database mysql.

Ho preso come spunto l’esempio webclient di arduino, ma qualcosa non funziona come si deve. La funzione loop presenta il seguente contenuto:

  for ( int i = 0; i < 4; i++ )
    val[i]++;
  String str = String("GET /counter/counter.php?val1=");
  str += val[0] + String("&val2=") + val[1] + String("&val3=") + val[2] + String("&val4=") + val[3] + String(" HTTP/1.1");
  Serial.println(str);

  if ( client.connect(server, 80))
  {
    Serial.println("Connected");
    delay (2000);
    client.println(str);
    client.println("Host: 10.10.10.1");
    client.println("Connection: close");
    client.println();

    while (client.available()) {
      char c = client.read();
      Serial.print(c);
    }
    Serial.println("disconnecting.");
    client.stop();
  }
  else {
    Serial.println("Connection failed");
  }

L’effetto che crea questo codice è che dopo una prima sequenza regolare delle prime 8 o 10 richieste, arduino si blocca in qualche punto e non capisco perché. Inoltre in risposta alla chiamata della pagina php deve arrivare una stringa di conferma, che invece non vedo mai sulla seriale, pur avendo inserito il ciclo di while apposito.
Ho anche letto in giro che il W5100 un po’ di problemi proprio in quest’ambito.Cosa posso fare?
Grazie mille