subscribe to our Youtube


13244 questions

15731 answers


49876 members

0 votes
107 views 4 comments
We need to connect a RUT955 to two engine controllers in a sync panel.

What would be the most effective configuration:
- one RS232 connection via DB9 connector and one USB RS232 connection
- two USB RS232 connections connected via USB HUB

Are there any cautions / considerations regarding USB hub selection or RS232 adapter ?

Do the USB RS232 connections automatically self-configure when connected ?

or do they need to be configured via CLI monkeybusiness ?
When looking in RS 232 configuration I see the Baud etc configuration
I'm guessing that once two serial ports are active and configured, that separate modbus channels can be configured
on each of the serial connections.

Any suggestions for navigating this scenario would be awesome.

1 Answer

0 votes

Could you please clarify what you are trying to achieve? Are you trying to read that data from an external server? Do you want to read information from both devices connected via serial interfaces to RUT955? Is it Modbus TCP or RTU?

Kind Regards,

Best answer


RS232 as a serial connection only supports communication between two devices.

However, it is possible to configure RUT955 to run two Modbus gateway instances. 

The setup is as follows:

Two serial connections: 

  • One connects from DB9 port to USB port on PC (Running Modbus RTU slave simulator) 
  • Second connects from USB port to DB9 port on RUT955 (running as Modbus RTU slave, can be other device)

On the main RUT955 there are two configurations. One for RS232 settings (1st image), and another for USB to Serial settings (2nd image).

Should be possible to use a Public IP on the gateway instances, technically allowing to connect from an external device and read information from the Modbus RTU slave devices.

The TCP connection established on port 502 will read data from the PC running Modbus RTU slave simulator.

The TCP connection established on port 10502 will read data from another RUT955 configured as Modbus RTU slave.

Diagslave sofware was used as a Modbus RTU slave simulator. These are the settings (top) and some information.

More information about Modbus is available HERE.

You can take a look at a somewhat similar case HERE.

Kind Regards,


I want to read the device registers from controller A via one RS232 connection (nothing else available)

I believe that all modbus over non-networked serial connections is RTU.

I also want to read the same set of registers from Controller B via a second RS232 connection and seek clarification whether "it just works" when connecting a USB serial device to USB port ?

Or is there major surgery required to get it to work ?

Would it be better or worse to use 2 USB adapters vs 1 USB and 1 native?

Also, what needs to be done to tag these data sources such that when the data gets pushed up to thingsbored  - via modbus TCP no doubt - I can build two identical widget sets one getting data from A and the other from B

Basically, you will pull the data by sending Modbus TCP/IP queries to your RUT955. The RUT955 will then be able to query your controller over serial according to the Modbus slave ID (defined in the TCP/IP query packet, used to identify a slave device). A Modbus TCP Master application is required to query your controllers. I have used QModMaster application on my PC for this purpose. You will have to configure the application to read the specific registers. If configured as I have described above, then connecting to a one port will pull the data from one controller, while connecting to another port will pull the data from the other controller. RUT955 will receive a response from the RTU slaves (controllers) and forward it back over TCP/IP to your server. You will need to reach the RUT955 (For example, via a public IP address) if you wish to read registers remotely. Alternatively, you can query the data from a server on RUT955 local network.

You will need to enable and configure USB to Serial settings (same applies for RS232) in order to establish a communication channel. USB to Serial and RS232 are two separate instances and can be configured via WebUI. The links are at the bottom of my previous response.

Regarding the USB hub, I cannot guarantee that it will work. There can be different issues as you do not know which chipsets are used, so I would not recommend this option. There are also USB to RS232 hubs on the market, but I have not tested them.

Kind Regards,


I comprehend the modbus side of things
My question relates primarily to the serial stuff
I dove in yesterday, looked around in /dev. noticed that
/dev/rs232 is linked to /dev/ttyUSB0

root@Teltonika-RUT955:/usr/bin# ls -l /dev/rs232
lrwxrwxrwx    1 root     root            12 Dec  9 22:00 /dev/rs232 -> /dev/ttyUSB0

This indicates that there are at least 2 USB ports.
I was curious how the system would respond once the serial adapter was inserted.
I had previously noticed that the USB memory stick was recognized...
I hadn't yet mounted it because I wanted to have the system more fully configured 
prior to the establishment of the backup checkpoints etc...
I noticed in some of the documentation about using USB memory in conjunction with
USB serial devices that the RAM needed to be in the first port of the USB hub - so it
sounded like, with the right kind of hub, and standing on one leg with tongue on correct
side of mouth that combination could be made to work.

I didn't notice any changes upon the serial port being plugged in...
No new links from /dev/rs232b to /dev/ttyUSB1 (or something, were created)
I know that farting around with serial stuff can be a game of whack-a-mole so 
I left it there for now....  I attempted to establish modbus comms with the target
devices, but after randomly wandering among baud rates and parity settings
in modbuspoll, I got nowhere.  I'll have to verify the DTE/DCE stuff - null modem etc...

Is there some system command (or WebUI menu item) which shows the  _currently_ active and mounted
device fleet ? specifically where the new serial device ended up ?
Is there a cli system command to determine whether a given port is out/present/active ?
I assume that it should be possible to script the detection of which ttyUSB device is currently alive
and link rs232b to it, and ideally configure the baud rate etc, so one need not muck about with WebUI.

I know that on Windoze, plugging in a USB serial adapter always plays musical com ports..
One never knows where it will show up - even the same adapter on the same machine on subsequent days