All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Goerzen <jgoerzen@complete.org>
To: linux-usb@vger.kernel.org
Subject: Linux Keyspan USB serial driver ignoring XOFF
Date: Fri, 20 Sep 2019 14:49:51 -0500	[thread overview]
Message-ID: <87tv967nog.fsf@complete.org> (raw)
In-Reply-To: 87woe37prw.fsf@complete.org

Hello,

I have narrowed down the issue I'm about to describe to keyspan.c; a
Digi Edgeport/1 with identical configuration works fine.

I am configuring a Raspberry Pi running 4.19.66 (though keyspan.c hasn't
changed since 2017) to talk to a real-live vt420.  Configuring agetty
with systemd worked easy enough, but I found that XON/XOFF wasn't
working.  stty -a shows ixon and ixoff as appropriate, but sending
Ctrl-S (tested from multiple ways of sending) had no effect on output in
bash, or scrolling output.  (Emacs, though, recognized it as the start
of a search, so I knew it was getting down the line.)


After a great deal of head-scratching on this, I went to look at the
kernel source and found that keyspan.c does not appear to be honoring
XOFF.  I also have a Digi Edgeport/1 on hand (which uses io_ti.c), and
when I swapped to that, everything worked fine - Ctrl-S caused the
expected pause.

As far as I can tell, keyspan.c simply never implemented handling of
XOFF, but you guys are the experts there.

I twiddled many, many settings with stty but could not find anything
that would make it honor xoff/Ctrl-S with the Keyspan.  Even as a
regular user that would use that trick to pause scrolling, it had no
effect.  Different TERM settings also had no effect.

Output of stty -a:

speed 19200 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon ixoff
-iuclc -ixany -imaxbel -iutf8
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 -flusho -extproc

Thanks,

John

       reply	other threads:[~2019-09-20 19:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87woe37prw.fsf@complete.org>
2019-09-20 19:49 ` John Goerzen [this message]
2019-09-23 10:20   ` Linux Keyspan USB serial driver ignoring XOFF Johan Hovold
2019-09-23 15:59     ` John Goerzen

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=87tv967nog.fsf@complete.org \
    --to=jgoerzen@complete.org \
    --cc=linux-usb@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.