EthernetShield works, but with a lot of lost packets

I've just connected my new EthernetShield to my ArduinoUNO board and I noticed that when I ping the assigned IP address the packet loss is about 70%! When I change the ping wait time to 3 seconds the drop rate lowers down to about 60%, but it's still staggering... I didn't use anything fancy, I just copied the example from the Arduino IDE and compiled it. The simple WebPage loads but it's very small, so I can't say if this is only impacting the ICMP traffic... Has anyone experienced something like this?

Come on... Am I the only one experiencing this issue?

I don't have the ethernet shield, I have a wiznet810mj.. With that being said I don't have any trouble with pings using the sample sketch.. I did change the IP address to match my network, but other than that the sketch works for me unchanged..

Come on... Am I the only one experiencing this issue?

No info on what type of ethernet shield you have and no info on the code you are using usually equals little help. I have a wiznet w5100 based shield running a simple web server, connected to my router. I ping it from my laptop, 30 sent, 30 received, 0 lost.

Perhaps I wasn't pretty much clear in my first post. I use Arduino UNO and the Arduino IDE, version 0022 under Ubuntu Linux. The EthernetShield is the original Arduino shield, the newest model which also has slot for a smart card. I used the example WebServer sketch from the Arduino IDE just to check if it's working. I'll give it another shot during the weekend and will perform some additional tests.

All right. I finally had time to check this out. Here's the setup. Like I wrote in my previous post. Arduino UNO with the official Ethernet Shield. I'm using the libraries that come with the Arduino IDE. I just compile and upload to the board the WebServer example from the IDE. And off course it works, but again I've got a lot of ICMP packets which are not answered! And it's not like 1 or 2, but usually more than 60%. Interestingly enough I've got no issues at all with the sample Web page from the example! Each time it loads without any issues. So I started Wireshark to check out what's going on exactly over the cable. Here's what I saw: 1. For the ICMP traffic I see the ICMP Echo request packets going out of my laptop and only a few ICMP Echo requests comming back. So nothing strange like I've read in the forum... no malformed packets with 0.0.0.0 as a source address. Also the EthernetShield responds correctly to my ARP requests. Nothing strange. It's just... it doesn't answer to some of my ICMP Echo requests! I also tried out to use longer intervals between the ICMP Echo request packets, and when I increase the interval up to 10 seconds it's getting even worse! 2. The sample Web page. It loads. But I see a lot of lost TCP segments! In this case though I guess that the TCP recovery mechanism kicks in (a lot of retransmitted segments etc.) and that's the reason why the Web page always loads even with some lag. Also I see that my broser (Chrome in this case) resets the TCP connection quite often, I gues in an attempt to recover the session.

I don't think that this is normal. Somewhere in this forum I read that the WIZnet chip is responsible for the ICMP protocol. I think that there's definately an issue there! But the issue doesn't seem to be with the ICMP protocol only, but with the Ethernet connectivity in genral! With a lense that I have at my disposal I examied the Ethernet Shieldq and I see that some of the pins of the TQFP pakage (the WIZnet chip... I'm not sure if it's pure TQFP but anyway...) are soldered together! Is this normal? Do you have the same on your boards? And it also looks like it was soldered on had. Also the chip is a bit (just a little bit, but visible even with my lense) displaced from its position. How is the situation with your Ethernet Shields? Could this be the culprit of the problems I'm experiencing?

An idea just crossed my mind... Is it possible to further debug this issue? I mean, can I add additional code to my sketch so that my Arduino board will output a message on the USB each time it receives and transmits an ICMP message.

can I add additional code to my sketch so that my Arduino board will output a message on the USB each time it receives and transmits an ICMP message.

Sure. Permission is hereby granted.

I'm sorry Paul, but I didn't get it. What do you mean by saying that permission is granted?

I mean, can I add additional code to my sketch so that my Arduino board will output a message on the USB each time it receives and transmits an ICMP message.

This looked to me like you were asking for permission to modify your sketch. It's your sketch. Modify it if you want. You don't need our permission.

Well, it's clear that English isn't my first language :) It's I'm wandering whether there's a way with the standard Ethernet library so that I can filter a particular packet (ICMP Echo request and Echo reply in this case) when it's received or it's about to be sent from the WIZnet chip...

Just to update this post and to mark it as solved. I finally was able to solve this. I went to the distributor and I reproduced the issue I was having. Fortunatelly he had a spare EthernetShield so we tested the sketch with it. No problems what so ever. I can conclude that the issue was in the EthernetShield hardware itself. Now it's time to really start hacking some code ... :0

Now… how could I mark this thread as Solved? I don’t see such a button…

You can change the subject line, since it is your post, to add the word Solved.

Short question: can I connect Ethernet shield and Xbee to Arduino UNO at the same time? I saw on Schematic of Ethernet shield, it needs 10, 11, 12, 13 pins and analog pins A0 through A5 (optional). Xbee needs only tx an rx so they must work together? Or maybe there are underwater stones?

Short question: can I connect Ethernet shield and Xbee to Arduino UNO at the same time? I saw on Schematic of Ethernet shield, it needs 10, 11, 12, 13 pins and analog pins A0 through A5 (optional). Xbee needs only tx an rx so they must work together?

Yes.