Skip to content

RS485 Hardware Support Brokes Other Uarts Recivers #5578

@theoar

Description

@theoar

Describe the bug

Enabling RS485 support for any UART interferes other UART Receiver. When you enable hw rts/cts support for one UART and start to transmit data from that UART other UART Receiver starts to choke - not all data that were send to that UART can be read via C API read function. The amout/frequency of missing bytes grows when the values of delay_rts_before_send" or "delay_rts_after_send" (struct serial_rs485) are increased. The issue appears on RS485 configuration on different UARTs. Enabling RS485 for one UART can interfere more than one UART Receiver.

Steps to reproduce the behaviour

Configure UART_X to support hardware RTS/CTS signals RS485.
Send data continuously from UART_X.
Send data continuously to UART_Y from external device (or from other UART on board).
Compare data written from UART_Y to data that were recieved by UART_Y - a lot of bytes will be missing.

Device (s)

Raspberry Pi CM4

System

Kernel: 6.1.13 (and above)

Logs

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions