Comment 5 for bug 690798

Revision history for this message
Hugh Blemings (hughhalf) wrote :

Had a look at this bug prompted by a request from Alex as I've had some modest experience with Arduino devices and USB serial interfaces as well, albiet a long time ago. I _do_not_ consider myself expert in either however! :)

Couple of observations...

Firstly, the comments in the patch referenced are:

----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< -----

This reverts commit 6a1a82df91fa0eb1cc76069a9efe5714d087eccd.

RTS and DTR should not be modified based on CRTSCTS when calling
set_termios.

Modem control lines are raised at port open by the tty layer and should stay
raised regardless of whether hardware flow control is enabled or not.

This is in conformance with the way serial ports work today and many
applications depend on this behaviour to be able to talk to hardware
implementing hardware flow control (without the applications actually using
it).

Hardware which expects different behaviour on these lines can always
use TIOCMSET/TIOCMBI[SC] after port open to change them.

----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< -----

So it is significant in that it changes behaviour of the kernel back to the way it used to be - ie there was only a short window when the HW flow control lines worked "the other way"

It's also signed off by gkh and a couple of other folk who have a good deal of expertise with serial devices.

Secondly, the FTDI chips in question are used in a multitude of devices, so if the behaviour had long been incorrect, it would, presumably, have affected many other bits of hardware, not just Arduinos.

I suspect some modification to the user space app to explicitly set the HW lines as required may be the correct solution rather than reverting this patch.

Happy to have more of a dig if need be - do have Arduino hardware about and can fish out a Lucid machine if need be.