I try to use modbus in order to switch on or off wifi on a RUT241 router. To do so I use the mbpoll tool on Ubuntu.
I manage to read data, eg name of the device, but I can’t write any data.
For example in the documentation (RUT241 Modbus - Teltonika Networks Wiki) the register number for Wifi is 204, but: mbpoll -t 4 192.168.1.1 -a 1 204 1
return Write output (holding) register failed: Illegal data address
I’ve tested this functionality using the Modbus Master on the device, and everything seems to be working correctly. Could you try setting up Modbus Master using the following parameters:
Then press Save & Apply, re-open the instance and press the TEST button for the created configuration?
Additionally, from what I found online, it seems like the mbpoll service uses Modbus Register Number rather than Modbus Register Address, so please try using 203 instead of 204.
Finally:
Make sure that Modbus Slave is enabled on the device;
Make sure function 6 is used to write the value 1;
With the Modbus Master service on the device I was able to make the change, but I can’t do it remotly.
I try the address register and the register number.
The issue can come from the client I used (mbpoll). Have you a client that work?
You could try using the built-in Modbus Master instance (specify the IP as 127.0.0.1). Additionally, QModMaster is also a good application for testing Modbus Slave devices.