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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions