linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lee Howard <faxguy@howardsilvan.com>
To: Tosoni <jp.tosoni@acksys.fr>
Cc: linux-serial@vger.kernel.org
Subject: Re: serial flow control appears broken
Date: Thu, 26 Jul 2007 09:31:01 -0700	[thread overview]
Message-ID: <46A8CC45.9050307@howardsilvan.com> (raw)
In-Reply-To: <000b01c7cf9c$de574ea0$2e01a8c0@acksys.local>

Yes, CRTSCTS is set.  Here is what stty says...

# stty -F /dev/ttyS1 -a
speed 115200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; 
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = 
^W; lnext = ^V; flush = ^O;
min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread clocal crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl 
-ixon -ixoff -iuclc -ixany -imaxbel
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 
bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop 
-echoprt -echoctl -echoke
#

Thanks,

Lee.


Tosoni wrote:

>Trivial check:
>
>Did you set the CRTSCTS flag in the c_cflag parameter to tcsetattr() in your
>linux application code ? Or in the corresponding ioctl(..., TCSETA,...) call
>?
>
>
>  
>
>>-----Original Message-----
>>From: linux-serial-owner@vger.kernel.org
>>[mailto:linux-serial-owner@vger.kernel.org]On Behalf Of Lee Howard
>>Sent: Thursday, July 26, 2007 3:53 AM
>>To: linux-serial@vger.kernel.org; tytso@mit.edu; rmk@arm.linux.org.uk;
>>linux-kernel@vger.kernel.org
>>Subject: serial flow control appears broken
>>
>>
>>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.
>>
>>-
>>To unsubscribe from this list: send the line "unsubscribe
>>linux-serial" in
>>the body of a message to majordomo@vger.kernel.org
>>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>    
>>
>
>
>  
>


  reply	other threads:[~2007-07-26 16:32 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-26  1:52 serial flow control appears broken 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 message]
     [not found] <fa.Z6O0xFRT69zes0Mg+agt3Uiwux4@ifi.uio.no>
2007-07-26  7:20 ` 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46A8CC45.9050307@howardsilvan.com \
    --to=faxguy@howardsilvan.com \
    --cc=jp.tosoni@acksys.fr \
    --cc=linux-serial@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).