I'm trying to test the encapsulated modbus rtu over tcp by setting up a dummy TCP server that waits for the request and sends back a sample response. I'm currently a bit stuck as I'm getting "error reading registers - no response from device 2".

I've looked at the messages in wireshark and can confirm that the response is being sent.

The dummy tcp server gives:

RX: 0x02 0x04 0x00 0x00 0x00 0x02 0x71 0xf8
TX: 0x02 0x04 0x04 0x46 0xB0 0xFF 0x6D 0x5C 0x36

which looks fine to me for a modbus RTU read.

Wireshark:

a8a03717-be7b-4199-819f-9ab6e70a071a-image.png

Request at 4, response at 5.

Anyone have any ideas?

UPDATE:
Turns out it was my TCP server, rewrote it from ruby to python and works just fine.