Hi Lukas, On Thu, Apr 21, 2022 at 9:38 PM Lukas Wunner <lukas@xxxxxxxxx> wrote: > > On Thu, Apr 21, 2022 at 05:36:26PM +0200, Vicente Bergas wrote: > > 2.- Although "linux,rs485-enabled-at-boot-time" is set in the DTS, > > the RTS/DriverEnable line is asserted all the time the /dev/ttyS1 > > device file is closed. > > As soon as the device file is openned, the RTS line is deasserted. > > Then it works as expected: it is asserted only during transmissions. > > When the device file is closed again, the RTS line goes back to the > > asserted level and stays there. > > When the rs485 mode is enabled, it is expected that the RTS line be > > deasserted by default. > > That's probably the same issue as reported here: > > https://lore.kernel.org/linux-serial/20220329085050.311408-1-matthias.schiffer@xxxxxxxxxxxxxxx/ > > Basically, some drivers have historically used inverse RTS polarity > and others haven't. I'm still busy sorting out which drivers use > which. Sorry, this is quite complex and takes some time. > > Have you configured "rs485-rts-active-low" in the device tree? The UART configuration is the default from rk3328.dtsi plus: &uart1 { linux,rs485-enabled-at-boot-time; pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts_pin>; rs485-rts-delay = <0 52>; rs485-rx-during-tx; rts-gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>; status = "okay"; }; So, it is asserted high and deasserted low. > Which kernel version are you using exactly? 5.17.3 and 5.17.4 Also, i am about to test 5.18-rc3 > Thanks, > > Lukas Regards, Vicente.