RUT950 modbus too small register for RX and TX

  • Firmware version RUT9_R_00.07.06.11
  • Firmware build date 2024-05-03 07:26:08
  • Internal modem firmware version SLM750_4.0.6_EQ101
  • Kernel version 5.4.259

Being on a limited data plan with my ISP (mobile) I closely monitor usage. Since quite some time there is a flaw in the size of the modbus registers for mobile rx and tx usage.
Can be tested in the web-UI “Services” → “Modbus” → “Modbus TCP client”. As soon as the amount is bigger than 4GB it rolls over. See the picture where this happens at around 16:00pm and starts counting from zero again.

I have reported this before in RUT950 modbus rx max 4GB
and even much earlier in modbus 32bit unsigned integer too small? - Crowd Support Forum | Teltonika Networks
After this earliest ticket it was fixed but it came back in later versions.

Btw, for the short time I had a (flawed) RUTX50 in my possession this also showed that flaw.

Just noticed in the later firmware version there is a choice to use KB, MB or GB instead of just bytes.
I will amend the setting in the router for modbus and also my node-red flow to calculate correctly.

Hi,

Could you please let us know if changing these settings has resolved the issue you are experiencing, or if it is still persisting?

Best regards,

Changing between KB and MB doesn’t seem to change anything. Testing with the build in “Modbus TCP client” the amount doesn’t change the outcome. My settings to test are:


And rolled over in the middle of the day:
image
While:
image

This morning I was ‘lucky’ enough to have a look at the register and find it on almost the limit of an unsinged 32bit integer, which is 4.294.967.295

1st time: 4.190.030.283
2nd time 4.294.850.204
3rd time 63.415.563 ← rolled over!

The actual usage was indeed little more than 4GB and the setting for “Mobile Data type” is in Kilobytes, as shown in the screenshot above. This setting doesn’t seem to have any influence at all on the result of a query to that register. It is always in bytes, where I would expect to see a result of that divided by 1024 when choosing KB in mentioned setting. I’ve even tried:

/etc/init.d/modbus_server restart
/etc/init.d/modbus_client restart

but the only difference I saw was a reset of the register; started counting all over from zero.

This topic was automatically closed after 15 days. New replies are no longer allowed.