TL:DR, I need someone who knows the ENC28J60, and knows how to keep a tcp connection alive.
I am using this library to handle modbus on my Arduino Ethernet https://github.com/andresarmento/modbus-arduino/tree/dc87cd7600292663a8d270bada5b848340d94d17
On the Arduino Ethernet I can get it to work, but when I switch to this board http://sigma-shop.com/product/72/web-internet-ethernet-controlled-relay-board-arduino-compatible-rs485-usb.html which uses the ENC28J60 chip, I can no longer get it to work.
The way I use it, I got an Universal Robots to control the modbus, and for that to work I need to uncomment #define TCP_KEEP_ALIVE in the ModbusIP.h file. When keep alive is commented out, the green dots are randomly blinking green/gray, but with it uncommented the connection is stable and all dots are green.
With the ENC28J60 based board, the green dots are always blinking gray/green, no matter if keep alive is uncommented or not, so I suspect it got something to do with that. But I cant figure out what is wrong, so I am looking for help from someone who understands the ENC28J60 library better than I do. :)