Re: serial flow control appears broken

From: Lee Howard
Date: Fri Jul 27 2007 - 16:06:41 EST


Tilman Schmidt wrote:

Lee Howard schrieb:


So, does this explain why I wouldn't have a problem at 115200 bps with kernel 2.2.5 but why I do with 2.6.5 and 2.6.18? Both hardware and software flow control work fine with 2.2.5 (meaning I don't see any error message and I don't have any data corruption), but neither works to avoid the "kernel: ttyS1: 1 input overrun(s)" and consequent data corruption issue in 2.6.5 nor 2.6.18.

Was there some associated application change in tty handling that needed to occur between the 2.2 and 2.6 kernels to properly implement flow control?



Could this be related?

http://lkml.org/lkml/2007/7/18/245

Quote:
"I've recently found (using 2.6.21.4) that configuring a serial ports
(ST16654) which use the 8250 driver using setserial results in the
UART's FIFOs being disabled (unless you specify autoconfig)."



I'm not running setserial on the port, myself. But to test to see if it is related, I included this code in the application:

#include <linux/serial.h>
....
struct serial_struct serial;
ioctl(modemFd, TIOCGSERIAL, &serial);
traceModemOp("modem xmit_fifo_size: %u", serial.xmit_fifo_size);

And I get this resulting logging:

"MODEM modem xmit_fifo_size: 16"

So it's clear from here that the xmit_fifo_size is set correctly on this system.

Thanks,

Lee.

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