Skip to main content
Arduino

Return to Revisions

1 of 2

my arduino ethernet shield is not working

actually I'm using ethernet shield w5100 hanrun HR911105A 16/02 with arduino uno (original)

I tried this code from the examples :

#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network.
// gateway and subnet are optional:
byte mac[] = {
 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02
};
IPAddress ip(192, 168, 1, 177);
IPAddress myDns(192,168,1, 1);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
// telnet defaults to port 23
EthernetServer server(23);
boolean gotAMessage = false; // whether or not you got a message from the client yet
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:
 Serial.println("Trying to get an IP address using DHCP");
 if (Ethernet.begin(mac) == 0) {
 Serial.println("Failed to configure Ethernet using DHCP");
 // initialize the Ethernet device not using DHCP:
 Ethernet.begin(mac, ip, myDns, gateway, subnet);
 }
 // print your local IP address:
 Serial.print("My IP address: ");
 ip = Ethernet.localIP();
 for (byte thisByte = 0; thisByte < 4; thisByte++) {
 // print the value of each byte of the IP address:
 Serial.print(ip[thisByte], DEC);
 Serial.print(".");
 }
 Serial.println();
 // start listening for clients
 server.begin();
}
void loop() {
 // wait for a new client:
 EthernetClient client = server.available();
 // when the client sends the first byte, say hello:
 if (client) {
 if (!gotAMessage) {
 Serial.println("We have a new client");
 client.println("Hello, client!");
 gotAMessage = true;
 }
 // read the bytes incoming from the client:
 char thisChar = client.read();
 // echo the bytes back to the client:
 server.write(thisChar);
 // echo the bytes to the server as well:
 Serial.print(thisChar);
 Ethernet.maintain();
 }
}

that code prints on the serial monitor the following :

Trying to get an IP address using DHCP
Failed to configure Ethernet using DHCP
My IP address: 192.168.1.177.

so what is the problem why it is not connecting I tried all the examples of the ethernet but no one works , i don't know may be the problem is that i don't have a sticker of make address on the shield and I'm using the mac address of the examples . or maybe I'm writing the Ip address wrong , here is the data from the network connection details

Connection-specific DNS Suffix: zte.com.cn
Description: Intel(R) Dual Band Wireless-AC 3165
Physical Address: ‎72-57-C5-BC-66-07
DHCP Enabled: Yes
IPv4 Address: 192.168.1.2
IPv4 Subnet Mask: 255.255.255.0
IPv4 Default Gateway: 192.168.1.1
IPv4 DHCP Server: 192.168.1.1
IPv4 DNS Server: 192.168.1.1
IPv4 WINS Server: 
NetBIOS over Tcpip Enabled: Yes
Link-local IPv6 Address: fe80::b523:b9f2:b43c:6a8a%14
IPv6 Default Gateway: 
IPv6 DNS Server: 

my router is zte , model : ZXHNH108N

lang-cpp

AltStyle によって変換されたページ (->オリジナル) /