RS485 half duplex can be frustrating. You have to eliminate as many variables as possible. I would:
test your system using a colibri dev board using rs485 mode. You can even use two dev boards and link them together using rs485. You’ll then be able to see if your other system is causing the trouble.
what is the PC side in your system? Is it a native rs485 interface or some sort of usb converter? Those things stink and can cause all kinds of trouble. Avoid them and just use rs232 if you have to use a pc (something full duplex).
if you have access to a scope, you should look at the incoming datastream along with the rts line on your linux side.