I have tried several times to connect my arduino uno and its ethernet shield W5100 to Cayenne but I have failed. I checked the troubleshooting and I opened the serial monitor as they suggest and the result is:
[0] MAC: FE-D9-B1-D3-67-E3
[0] Getting IP…
[0] MAC: FE-D9-B1-D3-67-E3
[0] Getting IP…
[0] MAC: FE-D9-B1-D3-67-E3
[0] Getting IP…
[60504] DHCP Failed!
[0] MAC: FE-D9-B1-D3-67-E3
[1] Getting IP…
[67844] DHCP Failed!
[0] MAC: FE-D9-B1-D3-67-E3
[1] Getting IP…
[63674] DHCP Failed!
[0] MAC: FE-D9-B1-D3-67-E3
[1] Getting IP…
I have tried it in several laptops and routers but the problem still remains.
Can you help me with that?
Thank you in advance
have you tried just a basic ethernet sketch from the examples directory in Arduino to see if it may be a hardware issue with the 5100? Run this example sketch with your ethernet MAC in it & see if you can get a IP that way.
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = {
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02
};
// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
// this check is only needed on the Leonardo:
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
// no point in carrying on, so do nothing forevermore:
for (;;)
;
}
// print your local IP address:
printIPAddress();
}
void loop() {
switch (Ethernet.maintain())
{
case 1:
//renewed fail
Serial.println("Error: renewed fail");
break;
case 2:
//renewed success
Serial.println("Renewed success");
//print your local IP address:
printIPAddress();
break;
case 3:
//rebind fail
Serial.println("Error: rebind fail");
break;
case 4:
//rebind success
Serial.println("Rebind success");
//print your local IP address:
printIPAddress();
break;
default:
//nothing happened
break;
}
}
void printIPAddress()
{
Serial.print("My IP address: ");
for (byte thisByte = 0; thisByte < 4; thisByte++) {
// print the value of each byte of the IP address:
Serial.print(Ethernet.localIP()[thisByte], DEC);
Serial.print(".");
}
Serial.println();
}
1 Like