Hi,
From the internet:
"Connection Reset by peer means the remote side is terminating the session. This error is generated when the OS receives notification of TCP Reset (RST) from the remote server."
So from this I conclude that you are running modbus tcp, right?
Where is the error, on server or client? And where is your sw running?
Are you continuously transcieving data, and over one connection only (not open+close socket, or forgetting to close - so you exhaust the availible number of file descriptors)?
I haven't used the lib for a while, but it seems like a message from os/tcp stack at least, and initiated from the other end.
I suggest adding a lot of debugs/traces or whatever is availible to you in your code so you can follow and know is going on. If possible recompile it for ubuntu and run on a PC (if that isn't what you already do). I think that is very possible and should be easy to do especially since you don't seem to be needing a serial port, just eth.
Good luck,
Hans