I have an application that is taking streaming serial data, parsing it and placing it into modbus registers to be read by another system via modbus tcp. It is working on one board but on a couple of my other boards (mega 2560 with w5100 ethernet shield), if you request too many registers the connection will be lost requiring a restart of the arduino to reconnect. There is a system that is in production (300 miles away, of course) that is working fine and I thought was identical. On the working system you can have multiple clients connected requesting 200 registers at a time with no issues whatsoever. On the non working systems, anything over 20 - 50 registers from one client will cause a disconnect and require a restart. A wireshark capture shows a lot of retransmit requests from the arduino which appears to be due to no ACK being received. The test system is just a laptop and arduino directly connected. Not sure where to go from here although I have ordered some w5200 boards to see if they will work better in this application.
Thanks,
Chris