Arduino Uno mit Ethernet Shield bekommt keine IP-Adresse

Hallo Liebe Arduino Freunde,

ich versuche gerade mit einem Arduino Uno und dem Ethernet Shield einen Verbindungsaufbau per DHCP herzustellen.
Lieder bleibt mein Programm vermutlich in der Ethernet.h hängen.
Ich möchte diesen eigentlich nur als Client verwenden um Informationene aus meinem Netzwerk zu holen.
Habe auch schon einige Themen hiet im Forum durchgelesen - bin aber leider nicht weitergekommen.

Der Shield und das Notebook ist an einem 8-fach-Switch angeschlossen. Der Switch wiederum an einem Asus-Router.
Soweit funktioniert in meinem Netzwerk alles.
Die Windows Firewall habe ich auch deaktiviert!

In der Serial Monitor wird nur folgende Zeile angezeigt:
Connecting Arduino to network...

Danach passiert nichts mehr!!!

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

  // Local Network Settings
byte mac[] = { 0x91, 0xA3, 0xAB, 0x42, 0x14, 0xEB }; // Must be unique on local network
//byte ip[] = { 192, 168, 1, 99 };
//byte gw[] = { 192,168,1,1 };
//byte subnet[] = { 255, 255, 255, 0 };

EthernetClient client;

void setup() 
{
  Serial.begin(9600);

  Serial.println("Connecting Arduino to network...");
  Serial.println();  
  delay(1000);
  
    // Connect to network amd obtain an IP address using DHCP
  if (Ethernet.begin(mac) == 0)
  {
    Serial.println("DHCP Failed, reset Arduino to try again");
    Serial.println();
  }
  else
  {
    Serial.println("Arduino connected to network using DHCP");
    Serial.println();
  }
  delay(1000);

}

void loop() 
{
  Serial.println("loop");
}

Ich hoffe Ihr könnt mir weiterhelfen.

THX

Ich halte das erste Byte deiner MAC Adresse für falsch, ändere die doch mal auf 0x92.

Ahh sorry - habe die falsche MAC gepostet! War von einem Beispiel-Sketch!

byte mac[] = { 0x92, 0xA3, 0xAB, 0x42, 0x14, 0xEB };

Funktioniert aber leider auch nicht!

Ich hoffe Ihr könnt mir weiterhelfen.

[/quote]
Hat das Shield einen Wiznet W5100 Chip?

Kannst Du mal die Steckverbindung des Shields prüfen, insbesondere, ob die sechs ISP-Pins ein Stückchen weit in die ISP-Buchse reingesteckt sind?

Bei billigen Ethernet-Shields gibt es manchmal Fertigungstoleranzen, so dass die 6-polige ISP-Steckverbindubg nicht korrekt hergestellt wird.

Das Timeout für Ethernet.begin() liegt bei ca. 30 Sekunden, so dass du auf die Fehlermeldung "DHCP Failed" im Fehlerfall auch lange genug warten musst, um sie zu sehen.

Ist echst schwer den Wert abzulesen.
Aber es schaut eher aus wie: WIZnet W5500...
Vor allem die zweite Ziffer ist schwer zu erkennen!

Die Verbindung habe ich noch einmal kontrolliert, und scheint fest zu sitzen!
Ich könnte sie noch mit einem Durchgangsprüfer testen...

Die LED Act blinkt grün, LINK und FDX läuchten permanent orange, und 100M leuchtet permanent grün.

Ich habe schon eine Stunde gewartet, die Ausgebe bleibt trotzdem bei: Connecting Arduino to network... stehen!

THX

M3rl1n:
Ist echst schwer den Wert abzulesen.
Aber es schaut eher aus wie: WIZnet W5500...
Vor allem die zweite Ziffer ist schwer zu erkennen!

Ein W5500 befindet sich NICHT auf dem Ethernet Shield, sondern auf dem Ehernet Shield2 von Arduino.org! Der Chip arbeitet NICHT mit der Standard Ethernet Library aus der IDE, sondern erfordert eine spezielle Ethernet-Librry, die Du Dir erstmal holen, installieren und in Deinem Programm verwenden müsstest, sonst funktioniert das mit dem W5500 nicht.

Mit der Ethernet2.h Library funktioniert es :slight_smile:

Danke für eure Hilfe!