Ethernet Shield Problem

Hallo zusammen,

nachdem ich mein erstes Projekt mit einem Uno + Ethernet Shield + 16 Temp.Sensoren als Webserver erfolgreich am laufen habe, hab ich mir nochmal die gleiche Hardware für ein weiteres Projekt besorgt.

Leider schaffe ich es nicht das neue Ethernet Shield ans laufen zu bekommen!

Habe alle möglichen MAC Adressen ausprobiert, habs mit dem IP-Scanner versucht Shield ist nicht sichtbar kann es auch nicht anpingen.

Wenn ich meinen Rechner direkt mit dem Shield (ohne Switch) verbinde dann funktioniert es. Allerdings wundere ich mich, das die LED's Link, 100M, Fulld nur gelb leuchten und auch am Netzwerkanschluss nur die grüne Led leuchtet.

Hab auch schon Switch + Rechner+Shield probiert (ohne meinen Temperatur Webserver), geht auch nicht.

Am Uno liegt es nicht den hab ich schon mal gegen einen erprobten ausgetauscht.

Bin ratlos.

Hat von euch einer ne Idee??

Mfg mikelle

mikelle: Habe alle möglichen MAC Adressen ausprobiert

Falls Du auch eine "doppelte MAC-Adresse" ausprobiert hast, z.B. für das zweite Ethernet-Shield dieselbe MAC-Adresse wie für das erste Ethernet-Shield in Deinem Netzwerk, hast Du Dir Deine Netzwerkkonfiguration komplett zerschossen. In dem Fall startest Du am besten alle Netzwerkkomponenten komplett neu: - DSL-Modem/Router ==> stromlos machen, 1 Min warten, neu starten - Alle Hubs und Switches im Netzwerk ==> stromlos machen, 1 Min warten, neu starten - Alle Netzwerkgeräte im Netzwerk ==> einmal neu booten

Du darfst im Netzwerk jede MAC-Adresse NUR EINMAL vergeben haben. Bei "fertig gekauften" Netzwerkgeräten ist das dadurch sichergestellt, dass alle Hersteller von Netzwerk-Equipment ihre Geräte mit weltweit einmaligen MAC-Adressen versehen. Für die "von Dir selbstgebauten" Netzwerkgeräte wie Deine Arduinos mit Ethernet-Shield bist Du als Hersteller des Geräts selbst dafür verantwortlich, dass Du (zumindest zuhause bei Dir in Deinem eigenen Netzwerk) niemals zwei Geräte mit derselben MAC-Adresse gleichzeitig am Netzwerk hängen hast.

Wenn es trotz konfliktfreier MAC-Adressen bei Dir nicht läuft ==> Zeige Deinen Test-Sketch!

hab folgendes probiert.

Rechner mit fester IP + Uno+Shield (Temperatursensor Projekt) + Switch (ohne Router)

Ip Scanner zeigt meinen PC 192.168.0.50
und meinen UNO 192.168.0.150 MAC DE:AD:BE:EF:FE:ED

Webseite ist erreichbar, alles i.O.

alles stromlos

neue Configuration
Rechner mit fester IP + Uno+Shield (neue Hardware) + Switch (ohne Router)
Ip Scanner zeigt meinen PC 192.168.0.50
Webseite nicht erreichbar ??

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


byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEE };
IPAddress ip(192,168,0,140);
EthernetServer server(80);
void setup() {
   Serial.begin(9600);
   while (!Serial) {
    ; 
  }

  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}

void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
	  client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            int sensorReading = analogRead(analogChannel);
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(sensorReading);
            client.println("
");       
          }
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        } 
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disconnected");
  }
}

mikelle: neue Configuration Rechner mit fester IP + Uno+Shield (neue Hardware) + Switch (ohne Router) Ip Scanner zeigt meinen PC 192.168.0.50 Webseite nicht erreichbar ??

Der gepostete Sketch ist voll funktionsfähig. Ein "ping" im Netzwerk von einem PC mit der Adresse 192.168.0.50 auf die Adresse des Arduino 192.168.0.140 sollte eine Antwort liefern, wenn der Sketch hochgeladen ist und läuft.

Hast Du den korrekten Sitz des Ethernet-Shields auf dem UNO-Board geprüft?

Die Ethernetverbindung zum Arduino wird dabei NICHT direkt über die seitlichen Headerleisten hergestellt, sondern dafür ist ganz wesentlich, dass der 6-polige ISP-Header zwischen Board und Shield korrekt aufgesteckt ist. Hast Du geprüft, dass der 6-pol ISP-Header korrekt aufgesteckt ist und das aufgesteckte Shield auch keinen Kurzschluß mit dem USB-Anschluss des Boards bildet?

Und was meinst Du oben bei Deiner Beschreibung mit "Switch (ohne Router)"? Hast Du keine "normale" Heimnetzkonfiguration mit DSL-Modem/Router an der Adresse 192.168.0.1?

Den Sitz des Shields habe ich geprüft und die Pins durchgemessen. Verbindungen sind i.O.
Als Testconfig habe ich den Router nicht mitangeschlossen, da dort mein funktionierender UNO mit dranhängt (um MAC Konflikte auszuschließen).
Mit der Testumgebung wollte ich lediglich feststellen ob eine Netzwerkverbindung zwischen UNO und Rechner über einen Switch möglich ist (mit meinem anderen UNO+alten Shield ist das problemlos möglich)

Das einzige was mit dem neuen UNO+Shield funktioniert ist eine direkt Verbindung UNO / Rechner.
In dieser Konstellation kann ich den UNO anpingen und ich kann den Webserver aufrufen.

Bin mit meinem Latein am Ende.

Gibt es möglichkeiten das Shield zu testen?

Mfg
mikelle

mikelle: Das einzige was mit dem neuen UNO+Shield funktioniert ist eine direkt Verbindung UNO / Rechner. In dieser Konstellation kann ich den UNO anpingen und ich kann den Webserver aufrufen.

Bin mit meinem Latein am Ende.

Gibt es möglichkeiten das Shield zu testen?

Das Shield hast Du doch offenbar bereits erfolgreich getestet, mit Anpingen und Aufrufen des Webservers.

Wenn es in Deiner Konfiguration "ohne Switch" funktioniert und "mit Switch" nicht, würde ich mal in Richtung der Kabel suchen. Ethernetkabel gibt es als "Patchkabel" und als "Crosskabel". Das Crosskabel hat die Datenleitungen über Kreuz verbunden.

Normalerweise wäre ein Crosskabel dafür da, dass Du den PC mit einem zweiten Rechner direkt verbindest.

Und Patchkabel wären dafür da, einen PC mit einem Switch, und einen Switch wieder mit einem anderen Rechner zu verbinden.

Da die Leute in der Vergangenheit so oft mit Patch- und Crosskabeln durcheinander gekommen sind, haben moderne Netzwerkkarten, Router und Switches eine "automatische Erkennung" dafür, ob sie mit Patchkabel oder Crosskabel angeschlossen werden, und können mit beidem funktionieren. Ich würde allerdings nicht die Hand dafür ins Feuer legen, dass das in jeder Kombination stets fehlerfrei funktioniert.

Wenn es also "mit einem älteren Ethernet-Shield" funktioniert und "mit einem neuen Ethernet-Shield" in ansonsten derselben Netzwerkkonfiguration nicht funktioniert, würde ich mal prüfen, ob auch dieselbe Kabelkonfiguration verwendet wird. Ggf. mal andere Netzwerkkabel verwenden.

Habe hier auch 3 SaintSmart UNOs mit China Ethernet-Shields drauf mit folgendem Ergebnis:

  • alle 3 funktionieren an einem Netgear 5Port 100MBit Fast Ethernet Switch (WebServer, Ping etc.)

  • alle 3 funktionieren NICHT an einem 5 Port 100MBit D-Link Fast Ethernet Switch

  • alle 3 funktionieren NICHT an einer FritzBox

Immer gleiche Firmware, gleiche Kabel. Am D-Link leuchtet die Link-Led immer für ca 1 Sekunde, dann aus für 3 Sekunden dann wieder an.

Evtl hift ein Wechsel der anderen Netzwerkkomponenten, wenn dies auch nicht der goldene Weg ist.