Weird problem while using Ethernet sheild

Hi Everybody please Help me regarding a strange problem,

i am trying to setup a website using arduino ethernet sheild and arduino uno. Ethernet sheild gets its ip by either Dhcp or manually (Serial printing). I can see that arduino has been assigned an ip by router but i cannot ping that ip address from other computer on same network or cannot open the webpage on that ip address ,i get error as “Connection Timed Out”. However when i use a specific Tp-link router ,my problem gets resolved.Can anybody help me why it is not working on other routers/modems.
I also tried Telnet example sketch but was not able to telnet into ip address. Ip address are given in appropriate range when manually assigned.
Code:
created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe

*/

#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:
byte mac = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,177);

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

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

// start the Ethernet connection and the server:
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("");
client.println("");
// 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(””);
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”);
}
}

I don't know what other routers you are trying, but if you are connecting both the computer and the Arduino to the router ports, it depends on how the ports are set up. If they are in a bridge configuration, a router firewall setting may be preventing the connection, If set as a switch, it normally won't prevent the connection.

edit: If you want to check this and you have an ethernet hub or unmanaged switch, connect all your devices to the hub/switch and connect the hub/switch to one port on the router.

Jaildar: Hi Everybody please Help me regarding a strange problem,

i am trying to setup a website using arduino ethernet sheild and arduino uno. Ethernet sheild gets its ip by either Dhcp or manually (Serial printing). I can see that arduino has been assigned an ip by router but i cannot ping that ip address from other computer on same network or cannot open the webpage on that ip address ,i get error as "Connection Timed Out". However when i use a specific Tp-link router ,my problem gets resolved.Can anybody help me why it is not working on other routers/modems.

The code you posted is correct and fully working, if your network configuration mets.

byte mac[] = { 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

Each MAC address MUST BE UNIQUE in your home LAN. If you have more than one Ethernet shield active in your network, you must make sure, that each of them must have a different MAC address. How many Ethernet shields with Arduino sketches are active in your network?

IPAddress ip(192,168,1,177);

Also the IP address must be unique in your network. A fixed setting to 192.168.1.177 would be correct, if: - your router is at address 192.168.1.1 - no other device in your network already has the IP 192.168.1.177

Yes , i have taken care of these problems,but weird part is i am able to connect to telnet if i use one type of modem/router .If i use other type , i am not able to connect to telnet server or any http server i code even if arduino is assigned an ip address via dhcp.

Jaildar: Yes , i have taken care of these problems,but weird part is i am able to connect to telnet if i use one type of modem/router .If i use other type , i am not able to connect to telnet server or any http server i code even if arduino is assigned an ip address via dhcp.

Please check the "security" and the "firewall" settings in the router that is not working with your arduino.

Even the cheapest home routers are able to have different security and firewall settings such like: - Access Control - MAC Filter - URL Blocking - Schedule Rules - Intrusion Detection - DMZ(Demilitarized Zone) Please refer to your router manual about all possible settings that may affect the connections.