Ethernet-Shield DNS zuweisen

Habe einen modifizierten Sketch von Fluxx hier am laufen. Ich wollte nun gerne den DNS, Gateway und optional die Subnetsmaske geändert haben.
Somit habe ich diese hinzugefügt. Standard war nur MAC und IP. Jedoch dann wäre mein Arduino nicht über die FritzBox hinaus erreichbar.

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

// MAC-Adresse des Ethernet-Shield
byte mac[] = { 
  0x5A, 0xA2, 0xDA, 0x0D, 0x56, 0x7A }; 
// IP-Adresse des Ethernet-Shield
byte ip[]  = { 
  192, 168, 178, 178 };
byte dns[] = {
  192,168,178,100};
byte gateway[] = {
  192, 168, 178, 100};
byte subnet[] = {
  255, 255, 255, 0};

sketch_jul30a:12: error: ‘byte dns ’ redeclared as different kind of symbol
C:\Program Files (x86)\Arduino\libraries\Ethernet/Dhcp.h:64: error: previous declaration of ’ dns’

Hast du Dhcp.h noch irgendwo included? Sowie sich das liest ist dort in Zeile 64 das DNS Array schon mal definiert.

Ich habe da aber mal kurz gegoogelt und das gefunden. Siehe letztes Post:
http://forum.arduino.cc/index.php?topic=87615.0

Es ist wahrscheinlicher, dass du irgendeinen alten Sketch mit einer alten Version der Lib und/oder Bugs runtergeladen hast.

Also in meiner Ethernet.h ist die Dhcp.h includet. Das ist aber die Standard Lib von der IDE.

In der Dhcp.h selber ist die Zeile 64

enum {
...
	dns			=	6,
...
}

Eine Extra Lib habe ich für den Sketch nicht heruntergeladen.

Sketch wurde dort im März diesen Jahres veröffentlicht.

Hast du dir den Link mal angeschaut? Da hat einer genau den gleichen Fehler und jemand anders hat neuen Code gepostet.

Ja, hab ich mir angesehen. Habe den kompletten Sketch aus dem untersten Post übernommen zum Test.

error: 'IPAddress dns' redeclared as different kind of symbol
C:\Program Files (x86)\Arduino\libraries\Ethernet/Dhcp.h:64: error: previous declaration of '<anonymous enum> dns'

Gleiches Problem.

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network.
// gateway and subnet are optional:
byte mac[] = { 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1, 177);
IPAddress gateway(192,168,1, 1);
IPAddress subnet(255, 255, 0, 0);

Hilft das weiter?

Hab ich schon drin. Hab sie nun weggelassen. Klappt auch ohne. Hab nicht dran gedacht, eine Namensauflösung für den Arduino ist Schwachsinn. Er ruft im Netz ja nichts auf wo er die zugewiesene IP Adresse haben muss.