mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] Backspace not working in terminal (using ssh)
Date: Wed, 20 Mar 2019 16:41:45 +0100	[thread overview]
Message-ID: <20190320154145.jjp4t34eqqozc3ic@pengutronix.de> (raw)
In-Reply-To: <d3ae3963-d786-d5f6-fe46-34973cd90e5f@mev.co.uk>

On Wed, Mar 20, 2019 at 12:41:47PM +0000, Ian Abbott wrote:
> On 20/03/2019 09:15, Dold, Wolfram wrote:
> > On Tue, 2019-03-19 at 17:42 +0000, Ian Abbott wrote:
> > > On 19/03/2019 12:33, Dold, Wolfram wrote:
> > > > Hi Ian,
> > > > On Tue, 2019-03-19 at 12:06 +0000, Ian Abbott wrote:
> > > > > On 19/03/2019 09:17, Dold, Wolfram wrote:
> > > > > > Hi there,
> > > > > > when we connect via ssh to our embedded device, the backspace key does not work.
> > > > > > During the analysis we found out that the passage
> > > > > > 
> > > > > > # This fixes the backspace when telnetting in.
> > > > > > if [ "$TERM" != "linux" ]; then
> > > > > >            stty erase ^H
> > > > > > fi
> > > > > > 
> > > > > > from the file '/etc/profile' contained in ptxdist.
> > > > > > 
> > > > > > Now I want to ask, how best to fix this behavior?
> > > > > > Can the passage simply be omitted? (At least the comment lets me assume that, because there 'telnet' is
> > > > > > mentioned
> > > > > > and
> > > > > > that is no longer necessarily state of the art).
> > > > > > Or does omitting it lead to other unwanted side effects?
> > > > > > 
> > > > > > Any help would be appreciated.
> > > > > > 
> > > > > 
> > > > > Code can interpret input characters in various ways independently of the
> > > > > stty settings.  For example, if the "Command Line Editing" feature is
> > > > > enabled in the Busybox configuration, the Busybox "ash" and "hush"
> > > > > shells' interactive line editing will handle both ASCII DEL and ASCII BS
> > > > >     as a "backspace" operation.  This can be enabled in the PTXdist
> > > > > menuconfig via:
> > > > > 
> > > > > Shell & Console Tools --->
> > > > >      -*- busybox --->
> > > > >          Settings --->
> > > > >            [*] Command Line Editing
> > > > > 
> > > > > This sets "PTXCONF_BUSYBOX_FEATURE_EDITING=y" in the ptxconfig file.
> > > > > 
> > > > 
> > > > The feature is already enabled.
> > > > But it does not work for me. It only works when I delete the stty command from /etc/profile,
> > > > 
> > > > > If you are using Bash or some other other program with READLINE support,
> > > > > I think it handles ASCII BS and ASCII DEL similarly to Busybox's command
> > > > > line editing feature.
> > > > 
> > > > We do not use bash, we use the busybox shell.
> > > 
> > > Just for comparison, I'm using the busybox "ash" shell.  (There are two
> > > shells in Busybox - "ash" and "hush".)
> > > 
> > > My SSH client is set to send ASCII DEL when the backspace is pressed,
> > > and sets TERM="xterm" or TERM="xterm-256color".  The stty command on my
> > > target system shows "erase ^H".
> > > 
> > > Both the backspace key (which sends ASCII DEL) and the CTRL-H sequence
> > > (which sends ASCII BS) result in a backspace operation on the ash
> > > command line.
> > > 
> > > If I run a command that doesn't do any fancy line editing, such as:
> > > 
> > >     od -c
> > > 
> > > then the ASCII DEL characters get passed through to standard input and
> > > the ASCII BS characters erase the previous characters (as per the stty
> > > erase ^H setting).
> > > 
> > > If I change the stty setting:
> > > 
> > >     stty erase '^?'
> > > 
> > > then both ASCII DEL and ASCII BS result in a backspace operation on the
> > > ash command line, but for commands that do not do any fancy line
> > > editing, the ASCII BS is passed through to standard input and the ASCII
> > > DEL erases the previous character as per the stty erase '^?' setting.
> > > 
> > > So in summary, the PTXCONF_BUSYBOX_FEATURE_EDITING option seems to work
> > > for me, at least in the "ash" shell.  (I haven't tried the "hush" shell.)
> > > 
> > > I am using BusyBox 1.29.3 from PTXdist 2019.03.0.
> > > 
> > Sorry, I didn't describe the problem detailed enough:
> > When I type in the shell, everything works as you described it.
> > The problem that the backspace key doesn't work occurs when we
> > use the busybox-read function from a shell script.
> > 
> > We are using ash from busybox.
> > We are using BusyBox v1.29.3 from ptxdist 2019.03.1
> > 
> > Sorry again for the miscommunication.
> 
> I understand your problem now, the BusyBox ash "read" built-in does not have
> line editing support, so only the kernel-level, n_tty line-discipline
> editing features can be used.  (Bash's "read" built-in supports the "-e"
> option to allow line-editing when the input is from a tty.)
> 
> I've no idea why that bit of the /etc/profile file is there, but I guess it
> must have suited one of the PTXdist developers at the time.  A "git blame"
> only revealed that the whole file was added in 2006, so I don't know how
> relevant that part of it is today.

This code was moved around some more. It was actually introduced in the
initial import from CVS in 2003 :-). Telnet works just fine without this,
so I guess this is no longer needed.

I'll be happy to apply a patch that removes this.

Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

  reply	other threads:[~2019-03-20 15:41 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-19  9:17 Dold, Wolfram
2019-03-19 10:31 ` Roland Hieber
2019-03-19 10:57   ` Dold, Wolfram
2019-03-19 12:06 ` Ian Abbott
2019-03-19 12:33   ` Dold, Wolfram
2019-03-19 17:42     ` Ian Abbott
2019-03-20  9:15       ` Dold, Wolfram
2019-03-20 12:41         ` Ian Abbott
2019-03-20 15:41           ` Michael Olbrich [this message]
2019-03-21 12:46             ` Ian Abbott
2019-03-21 13:33               ` Michael Olbrich
2019-03-21 14:47                 ` Ian Abbott
2019-03-21 15:24                 ` Ian Abbott
2019-03-22  7:55                   ` Michael Olbrich
2019-03-22 10:16                     ` Ian Abbott
2019-03-22 12:30             ` [ptxdist] [PATCH] projectroot: remove setting stty erase character to "^H" Dold, Wolfram
2019-03-21 10:45           ` [ptxdist] Backspace not working in terminal (using ssh) Dold, Wolfram
2019-03-21 11:26             ` Michael Olbrich

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=20190320154145.jjp4t34eqqozc3ic@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /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