Problème Ethernet Shield HTTP

Pour être tordu ça l'est c'est vrai...

À vrai dire c'est le troisième bout de code servant à faire la même chose que j'écris, mais de toute évidence dans chacun de mes codes il y a le même genre d'erreur.

Le serveur auquel j'accède avec la requête GET est un Apache.

Voici une copie des Serial.print lorsque ça marche :

 libre : 4862
att.ok
Entetes...!HTTP/1.1 200 OK
Date: Tue, 14 Jun 2011 12:37:07 GMT
Server: Apache/2.2.17 (Ubuntu)
X-Powered-By: PHP/5.3.5-1ubuntu7.2
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Length: 20
Connection: close
Content-Type: text/html

Et en voilà une autre quand ça plante :

 libre : 5057
att.Erreur 30
 libre : 5057
att.Erreur 30
 libre : 5057
att.Erreur 30
 libre : 5057
att.Erreur 30
 libre : 5057
att.Erreur 30
 libre : 5057
att.ok
Entetes...!HTTP/1.1 200 OK
Date: Tue, 14 Jun 2011 12:37:54 GMT
Server: Apache/2.2.17 (Ubuntu)
X-Powered-By: PHP/5.3.5-1ubuntu7.2
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cachee-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-(plein de "-e-")Erreur 39
reinit reseau
ok
 libre : 5057
att.ok
Entetes...!HTTP/1.1 200 OK
Date: Tue, 14 Jun 2011 12:38:18 GMT
Server: Apache/2.2.17 (Ubuntu)
X-Powered-By: PHP/5.3.5-1ubuntu7.2
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cachee-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e...Erreur 39
reinit reseau
ok

Et le résultat est complètement aléatoire (varie entre les erreur de déconnexion et les caractères en boucle, et parfois une requête qui passe correctement) dès que ça a planté.

Sinon je me demande aussi d'où sort le point d'exclamation avant la réponse (!HTTP/1.1 200 OK)

Avec wireshark je vois des belles requetes HTTP telle que

GET /mapage HTTP/1.0
[
ack
continuations or non-http,
parfois TCP port reused
TCP windows update
1028 > http [RST]
]
HTTP/1.1 200 ok (text/html)

Mais quand ça se met à planter le module envoie un peu n'importe quoi :

GET /mapageET /mapageGET /mapage HTTP/1.0\r\n

Et là le serveur renvoie des 400 Bad Request.

Je vais remettre un autre code pour retrouver les erreurs sur des fonctions plus simplement codées...