Re: serial driver bug: new discoveries

Ulrich Windl (ulrich.windl@rz.uni-regensburg.de)
Mon, 1 Feb 1999 08:14:06 +0100


On 30 Jan 99, at 1:53, Theodore Y. Ts'o wrote:

> From: "Ulrich Windl" <ulrich.windl@rz.uni-regensburg.de>
> Date: Fri, 29 Jan 1999 09:34:48 +0100
>
> That way I found out that receive interrupts are not enabled when DTR is
> set and CTS cleared. When you put the signals in the other direction it
> works! Of course CLOCAL and CREAD were both set. IMHO if CLOCAL is set the
> driver should NOT care about the modem status lines...
>
> Huh? The serial driver keeps UART_IER_RDI set at all times while the
> port is open. Could you explain a bit more about what sort of
> experiments you did which led you to believe this is what's going on?

Hi Ted,

nice that you replied. It's a fact: Same application, same hardware,
only Linux 2.2.0 instead of 2.0.36, and things no longer work.
Setting CTS and clearing DTR also works in 2.2.0.

(I had reported the problem before: Without the change, the driver
receives on FIFO full (10 characters in my case) every 10 seconds
(it's the STROBE timeout) because I'm having one pulse per second.

>
> If DTR is set, then the port is opened; if CTS is cleared, then the
> UART_IER_THRI bit (which is checks for *transmit* interrupts) is
> cleared, for obvious reasons.
>
> My guess is that you misinterpretd the readings. Keep in mind that if
> what you said was true, no one would be able to use the serial driver
> for much of anything.....

During initialization both DTR and CTS are set. My program plays with
TIOCMBIS and TIOCMBIC after the port is open, and it's definitely
true that the receive interrupts are not enabled then.

As soon as I have some spare time, I'll redo the experiments. Wait
for a while (if you can't believe it)...

Regards,
Ulrich

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/