We have been using MODBUS TCP over Serial Gateway on loads of RUT956 and it has stopped working since firmware version > RUT9M_R_00.07.13.4
To reproduce this problem, please follow these steps:
use a RUT956 with firmware version RUT9M_R_00.07.13.4
configure MODBUS TCP over Serial Gateway: timeout=1 s, Device=rs232, “9600,n,8,1”, Server ID configuration=”User defined”, Server ID=1
connect a MODBUS device with server ID=1
use QModMaster to read Holding Registers (0x03) from IP=192.168.1.1, Start Address=1, Number of Registers=2, Unit ID=1 –> it works
repeat the previous step using Unit ID=2 (same MODBUS device with server ID=1) –> it works
Now, update the firmware version to the late current version RUT9M_R_00.07.20.3_WEBUI.bin and repeat the previous steps:
QModMaster, Read Holding Registers (0x03) from IP=192.168.1.1, Start Address=1, Number of Registers=2, Unit ID=1 –> it works
QModMaster, Read Holding Registers (0x03) from IP=192.168.1.1, Start Address=1, Number of Registers=2, Unit ID=2 (same MODBUS device with server ID=1) –> it doesn’t work
Please, follow these steps and let me know if the result is the same.
I reported the error you experienced to Teltonika back in July 2025. The User defiied ID parameter does not work! We experienced this with the TRB142, TRB145 devices. Unfortunately, the error has not been fixed since then!!!
I have been able to reproduce the issues you described on the latest firmware version (7.21.2). I have forwarded the matter to our R&D team, and I will get back to you as soon as I receive their feedback.
Could you please confirm if the following describes the behavior you are experiencing?
You have configured Modbus functionality on the RUT956 device and set the Server ID to 1.
You are able to successfully read data from the router via the Modbus protocol when using Server ID = 1 in your reading software.
However, you are encountering an issue where data cannot be read if an incorrect Server ID is used (e.g., Modbus ID = 2) in the reading software.
If this summary is accurate, our R&D team has confirmed that this is expected behavior with the latest firmware version. The fact that it worked on the older 00.07.13.4 firmware likely indicates a validation issue in earlier releases.
As long as you can read data using the correct Server ID configured on both the router and your software, the system is functioning as intended.
If you disagree with this, could you please elaborate on your specific use case? In particular, it would be helpful to understand why you need to read Modbus data using an incorrect Server ID.
The summary is accurate but the expected behavior has been modified. You can read in the help:
| Server ID configuration type | User defined | Obtained from TCP; default: User defined | Specifies whether server IDs are user defined or automatically obtained from TCP. |
|----|----|----|
| | | |
As you can read, the behavior is configurable. Your R&D team is assuming now that “User defined = Obtained from TCP“. Considering the new behavior, What would be the difference between them?
Why are we using “User defined”? Our specific use case is that our SCADA Modbus TCP driver uses the ID 255 as server ID and it cannot be modified. So, we need to use the “User defined” option to set the real PLC ID.