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 () {}
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)
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 () {}