From: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>
To: Joakim Tjernlund <Joakim.Tjernlund@infinera.com>
Cc: "linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
"oneukum@suse.com" <oneukum@suse.com>
Subject: Re: Default ECHO on TTYs causes unwanted garbage chars
Date: Tue, 9 Jun 2020 16:22:19 +0200 [thread overview]
Message-ID: <20200609142219.GB831428@kroah.com> (raw)
In-Reply-To: <984225ab9969a18fc67244a69b71c1534174d4f9.camel@infinera.com>
On Tue, Jun 09, 2020 at 01:13:06PM +0000, Joakim Tjernlund wrote:
> On Tue, 2020-06-09 at 13:57 +0200, Greg KH wrote:
> >
> > On Tue, Jun 09, 2020 at 11:38:49AM +0000, Joakim Tjernlund wrote:
> > > Hi List
> > >
> > > I was advised to come here with this problem(started on the USB list).
> > >
> > > We have a USB to RS232 bridge which presents itself as an ttyACM and the first connect after power on,
> > > we see some garbage chars transmitted back from USB host(PC) to out device which becomes input to
> > > the device.
> > >
> > > After much debugging I found that this are chars sent early in the boot process which then
> > > are buffered and the TTYs default to ECHO chars is the cause.
> >
> > So some program in the boot sequence is trying to send data out the
> > device? Why not just not do that?
>
> This is the boot console. Both u-boot and Linux prints a lot there, then init prints while starting services
So the same device is used for boot console as well as a ttyACM device
later on?
> > > When the TTY is opened, any chars in the this buffer is ECHOed back over USB to the device,
> > > before one has a chance to disable ECHO. The device then thinks these chars are regular input.
> >
> > Wait, you said something in the boot process did write to the device,
> > which would have caused the tty to be opened then, right?
>
> well, boot process of the device prints and it is enough for the USB cable to be attached but not opened by any app.
> The device just see an UART and prints when UART is initialized.
What tool does that? Why not fix that?
> > > Seems to me that this behaviour is unwanted in general and and app. should get a chance to flush/discard
> > > any chars so this does not happen.
> >
> > Where are the characters coming from that would need to be flushed?
>
> Early output from boot, basically whatever prints just after connecting the USB cable.
Then don't have boot print to that device :)
> > When should characters be flushed exactly?
>
> Whatever is in the buffers before opening the tty.
But what is supposed to happen to the data that was sent to it while it
was "closed"?
> The terminal app(like cu) tries to flush any input when it starts, just to avoid any old chars in the
> queue but it is to late then.
I strongly just suggest having userspace not write to the device to
start with, that would solve this, right?
thanks,
greg k-h
next prev parent reply other threads:[~2020-06-09 14:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-09 11:38 Default ECHO on TTYs causes unwanted garbage chars Joakim Tjernlund
2020-06-09 11:57 ` Greg KH
2020-06-09 13:13 ` Joakim Tjernlund
2020-06-09 14:22 ` gregkh [this message]
2020-06-09 15:01 ` Joakim Tjernlund
2020-06-09 21:26 ` Maarten Brock
2020-06-10 7:34 ` Joakim Tjernlund
2020-06-10 7:24 ` gregkh
2020-06-10 7:42 ` Joakim Tjernlund
2020-06-15 10:55 ` Joakim Tjernlund
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=20200609142219.GB831428@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=Joakim.Tjernlund@infinera.com \
--cc=linux-serial@vger.kernel.org \
--cc=oneukum@suse.com \
/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