Problem with receiving data in RS485 Colibri evaluation board

Hello,

I have a problem to run RS485 interface on Colibri evaluation board.
What I would like to achieve is:

Running two-way communication with master <> multi slave configuration, where Colibri is master device.
Network configuration: RS485 2W speed 9600 8N1.

Steps I did to achieve that target:
I set jumpers on Evaluation board in that way:

JP16 closed - to disable RS232

JP11 closed - echo off

JP13 closed JP15 closed - for 2W option

JP12 open
JP14 closed - to use only one 120ohm resistor on network

Then I connected to pins 4, 5 two USB<>RS485 converters connected to my pc.
When I send message from Colibri I can easily read it on both USB<>RS485 converters, also message from one converter is received on other converters.

But when I try to read message on Colibri board with command cat < /dev/ttymxc1 & entire RS485 network is broken, I can no longer send data between USB<>RS485 converters.
When I try to send data from Colibri it is sent without a problem and received ok on all devices. Also when I enable echo by JP11 jumper, data sent from Colibri is echoed to its interface.

I connected logic analyzer to UARTB pins on the evaluation board, and also to DB9 pins of rs485 interface. I found that when I execute command cat < /dev/ttymxc1 & output UART_B_RTS is changed to low state, then on rs485 network, one line is in permanent low state thus no other device on network can send data.

I was also trying to use minicom running in docker container but there was also a similar issue after turning it on - RS485 network was down.

I was trying everything that comes to my mind but without success, could you help me in this problem?

Thank you for pointing that, I used ioctl commands to change RTS behavior and know RS485 works fine. I’m not sure about device tree, is it something that I can change in existing image? Or I need to prepare it before creating image for board?
Now I’m using torizon image to run docker containers in it.

Did you do what described here - https://developer.toradex.com/knowledge-base/uart-(linux)#RS485 ?

HI @Lukas,

For Torizon specifically, we have a utility container that can apply a device tree overlay that appends new information on an already compiled device tree. More details and documentation can be found here.

Alternatively the traditional way would be to recompile the device tree with your new changes and deploy the new device tree binary to the device.

Do note that either method you choose will still require some knowledge about device tree syntax and the source device tree code.

Best Regards,
Jeremias