Seeedstudio ethernet problem!

I have a couple of seeedstudio ethernet v1.0, and recently I can’t get it to work correctly due to an error trying to get hardware information. I put this code (from Arduino forums) and always get the same EthernetNoHardware error.

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

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xAA};
IPAddress ip(10, 0, 0, 177);

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  Ethernet.begin(mac, ip);

  if (Ethernet.hardwareStatus() == EthernetNoHardware) {
    Serial.println("Ethernet shield was not found.");
  }
  else if (Ethernet.hardwareStatus() == EthernetW5100) {
    Serial.println("W5100 Ethernet controller detected.");
  }
  else if (Ethernet.hardwareStatus() == EthernetW5200) {
    Serial.println("W5200 Ethernet controller detected.");
  }
  else if (Ethernet.hardwareStatus() == EthernetW5500) {
    Serial.println("W5500 Ethernet controller detected.");
  }
}

void loop () {}

Thanks in advance

Hi,

Is that Ethernet Shield V1.0 or Seeeduino Ethernet . Please let me know.

I have a seeedstudio ethernet v1.0 (with wiznet 5100) and have exactly the same problem. there are no way to get the network works (neither with arest, firmata mqtt or single http server)

Hi @arivelli, There are some bugs in the ethernet v1.0 and it’s now discontinued and this product was replaced by an updated version W5200 Ethernet Shield (SLD91000P).

To solve this problem replace the mac address in the exmple code like this
byte mac[] = { 0xDF, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }

full code:

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

byte mac[] = {0xDF, 0xAD, 0xBE, 0xEF, 0xFE, 0xAA};
IPAddress ip(10, 0, 0, 177);

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  Ethernet.begin(mac, ip);

  if (Ethernet.hardwareStatus() == EthernetNoHardware) {
    Serial.println("Ethernet shield was not found.");
  }
  else if (Ethernet.hardwareStatus() == EthernetW5100) {
    Serial.println("W5100 Ethernet controller detected.");
  }
  else if (Ethernet.hardwareStatus() == EthernetW5200) {
    Serial.println("W5200 Ethernet controller detected.");
  }
  else if (Ethernet.hardwareStatus() == EthernetW5500) {
    Serial.println("W5500 Ethernet controller detected.");
  }
}

void loop () {}