linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* serial flow control appears broken
@ 2007-07-26  1:52 Lee Howard
  2007-07-26 12:34 ` Uwe Kleine-König
  2007-07-26 15:51 ` Tosoni
  0 siblings, 2 replies; 56+ messages in thread
From: Lee Howard @ 2007-07-26  1:52 UTC (permalink / raw)
  To: linux-serial, tytso, rmk, linux-kernel

Hello.

I have fax modems that will, in their proper behavior with certain 
features, send up to 64 kilobytes of data to the host DTE all at once.  
(So, the fax modem handles an incoming fax and periodically will send 
between 256 bytes and 64 kilobytes of data in bursts.)

When the DCE-DTE (modem-to-host) communication rate is established at 
115200 bps data loss occurs systems using at least Linux kernels 2.6.5 
and 2.6.18 (and probably everything in-beween and then some more).  This 
is because the modem overflows the host's buffer.  This is evidenced in 
kernel logging:

Jul 23 14:01:30 gollum kernel: ttyS1: 1 input overrun(s)
Jul 23 17:09:45 gollum kernel: ttyS1: 1 input overrun(s)

Normally I would blame the modem itself for not honoring the host's flow 
control signals.  However, I have worked with the modem manufacturer 
closely on this matter for over three months now.  In that process they 
have improved the responsiveness of the modem and have fixed other 
problems, but the end result is that it truly does appear that the 
serial tty driver is not using flow control.  Whether software flow 
control (XON/XOFF) or hardware flow control (RTS/CTS) is used the result 
is the same.

This is evidenced in hardware flow control by a little LED labeled "RTS" 
that is on the external modem.  This LED lights up when pin 7 of the DB9 
serial connection is given +12Vdc current (signalling "RTS" is on - that 
the host can accept data).  The LED goes dark when the current is 
removed (signalling that the host cannot accept data).  This "RTS" LED 
never flickers at all, as it should, when receiving these bursts of data 
- the LED stays lit as long as the serial cable is connected to the 
host... and yet I will see those "input overrun" messages.  Thus, it 
seems quite clear that the Linux serial tty driver is not deasserting 
RTS as it should in hardware flow control.  (And probably the analogous 
problem exists in software flow control, too.)

Please tell me what I can do to help you resove and/or remedy this 
matter.  Also, please let me know if I have contacted the wrong people.  
(I have cross-posted to linux-kernel as a catch-all.  I am not 
subscribed to either linux-serial or linux-kernel mailing lists.  So 
please CC me in any list responses.)

If it is of any value to know (perhaps they have common code?), the same 
error occurs on FreeBSD 6.2 as well.   The problem does not occur on 
Windows.  The problem does not occur on RedHat 6.0 (kernel 2.2.5).

Thanks,

Lee.


^ permalink raw reply	[flat|nested] 56+ messages in thread

end of thread, other threads:[~2007-08-05 14:54 UTC | newest]

Thread overview: 56+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <fa.Z6O0xFRT69zes0Mg+agt3Uiwux4@ifi.uio.no>
2007-07-26  7:20 ` serial flow control appears broken Robert Hancock
2007-07-26 16:08   ` Lee Howard
2007-07-26 16:31     ` Alan Cox
2007-07-27  5:53       ` Lee Howard
2007-07-27 11:47         ` Alan Cox
2007-07-27 17:36           ` Lee Howard
2007-07-27 13:45         ` Tilman Schmidt
2007-07-27 19:34           ` Paul Fulghum
2007-07-27 20:48             ` Lee Howard
2007-07-27 23:28               ` Paul Fulghum
2007-07-28  4:51                 ` Lee Howard
2007-07-28  9:18                   ` Russell King
2007-07-28 12:00                   ` Alan Cox
2007-07-28 15:39                     ` Lee Howard
2007-08-01 21:54                       ` Frantisek Rysanek
2007-07-28 16:41                   ` Ray Lee
2007-08-04 18:21                     ` Lee Howard
2007-08-04 22:07                       ` Paul Fulghum
2007-08-05  0:00                         ` Lee Howard
2007-08-05 14:52                           ` Paul Fulghum
2007-07-27 19:34           ` Paul Fulghum
2007-07-27 20:05           ` Lee Howard
2007-07-27 11:32     ` Maciej W. Rozycki
2007-07-27 17:11       ` Lee Howard
2007-07-27 17:41         ` Alan Cox
2007-07-27 17:53         ` Maciej W. Rozycki
2007-07-27 18:11           ` Lee Howard
2007-07-30  9:36             ` Maciej W. Rozycki
2007-07-27 18:22           ` Robert Hancock
2007-07-27 18:46             ` Paul Fulghum
2007-07-27 19:05             ` Paul Fulghum
2007-07-30  9:39               ` Maciej W. Rozycki
2007-07-27 19:14             ` Paul Fulghum
2007-07-28  9:28             ` Russell King
2007-07-30  9:45               ` Maciej W. Rozycki
2007-07-30  9:59                 ` Russell King
2007-08-02 14:57                 ` Mark Lord
2007-08-02 16:14                   ` Robert Hancock
2007-08-02 16:29                     ` Mark Lord
2007-08-02 16:40                       ` Robert Hancock
2007-08-02 17:13                       ` Alan Cox
2007-08-04 19:38                       ` Lee Howard
2007-08-02 16:57                     ` Alan Cox
2007-08-02 17:02                       ` Robert Hancock
2007-08-03  9:32                       ` Maciej W. Rozycki
2007-07-30  9:34             ` Maciej W. Rozycki
2007-08-04 18:19           ` Lee Howard
2007-07-26  1:52 Lee Howard
2007-07-26 12:34 ` Uwe Kleine-König
2007-07-26 16:28   ` Lee Howard
2007-07-26 16:41     ` Alan Cox
2007-07-27  6:17       ` Lee Howard
2007-07-27 11:56         ` Alan Cox
2007-07-27 18:00           ` Lee Howard
2007-07-26 15:51 ` Tosoni
2007-07-26 16:31   ` Lee Howard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).