W5200 does not see lots of UDP packets

I have an arduino mega and a W5200 board.

My sketch is listening to a single UDP port. Another machine is sending UDP packets every 50ms to the W5200.

My W5200 sees these packets and processes them. My problem is that it does not see every packet. Instead it sees nothing for between 1 and 5 seconds and then it sees a packet … then nothing for several seconds again.

I could understand if the W5200 was swamped by the traffic but it is more like it is not even seeing them. It calls parsePacket in the EthernetUDP class hundreds to thousands of times and gets back no data.

Debugging the ardunio ethernet libraries it just does not seem to be seeing the packets and loading data into its buffers.

I am looking for hints … where do I look to understand what is happening. I have read the entire spec sheet and i cant see anything that would explain this.

Further information … these boards also are really patchy in responding to ping requests … responding to 1 in 20 and sometimes less.

I have tried this with different switches, different boards, different cables, different arduinos … I am running out of things it could be other than defects in the W5200.

As I understand it the W5200 handles ping requests pretty much on its own and as such it cant be a code error in my code or the ethernet library I am using.