* [ptxdist] Backspace not working in terminal (using ssh) @ 2019-03-19 9:17 Dold, Wolfram 2019-03-19 10:31 ` Roland Hieber 2019-03-19 12:06 ` Ian Abbott 0 siblings, 2 replies; 18+ messages in thread From: Dold, Wolfram @ 2019-03-19 9:17 UTC (permalink / raw) To: ptxdist 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. -- Regards, Wolfram Dold _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-19 9:17 [ptxdist] Backspace not working in terminal (using ssh) Dold, Wolfram @ 2019-03-19 10:31 ` Roland Hieber 2019-03-19 10:57 ` Dold, Wolfram 2019-03-19 12:06 ` Ian Abbott 1 sibling, 1 reply; 18+ messages in thread From: Roland Hieber @ 2019-03-19 10:31 UTC (permalink / raw) To: Dold, Wolfram; +Cc: ptxdist Hi Wolfram, there are historically different handlings of backspace, one is Ctrl-H, as mentioned by you below. The exact setting depends on the terminal emulator (some terminal emulators can also switch the behaviour, e.g. in putty, look under Terminal -> Keyboard). If backspace works for you without the stty line, then there is no harm in leaving it out, but the backspace behaviour could be different when connecting to the board with a different terminal emulator. For reference, when I type `stty -a` on my xterm, it says : erase = ^?; - Roland On Tue, Mar 19, 2019 at 09:17:13AM +0000, 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. > -- > Regards, > Wolfram Dold > > _______________________________________________ > ptxdist mailing list > ptxdist@pengutronix.de -- Roland Hieber | r.hieber@pengutronix.de | Pengutronix e.K. | https://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim | Phone: +49-5121-206917-5086 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-19 10:31 ` Roland Hieber @ 2019-03-19 10:57 ` Dold, Wolfram 0 siblings, 0 replies; 18+ messages in thread From: Dold, Wolfram @ 2019-03-19 10:57 UTC (permalink / raw) To: Dold, Wolfram, rhi; +Cc: ptxdist Hi Roland, thank's for the quick reply. On Tue, 2019-03-19 at 11:31 +0100, Roland Hieber wrote: > Hi Wolfram, > > there are historically different handlings of backspace, one is > Ctrl-H, as mentioned by you below. The exact setting depends on the > terminal emulator (some terminal emulators can also switch the > behaviour, e.g. in putty, look under Terminal -> Keyboard). I saw that already. Our service technicians use putty under Windows. The default setting on backspace for ssh connections in putty is '^?'. Sure, we could tell them, change that setting, but from experience some would overlook it or forget it or whatever. The default setting for gnome-terminal is also '^?'. So a working solution would be to delete the passage from the /etc/profile file. What I don't like is that we then have a solution that differs from the ptxdist standard. So the question is, is it imaginable that one of the next versions of ptxdist will no longer contain this passage? Regards, Wolfram > If backspace > works for you without the stty line, then there is no harm in leaving it > out, but the backspace behaviour could be different when connecting to > the board with a different terminal emulator. > > For reference, when I type `stty -a` on my xterm, it says : > > erase = ^?; > > - Roland > > On Tue, Mar 19, 2019 at 09:17:13AM +0000, 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. > > -- > > Regards, > > Wolfram Dold > > > > _______________________________________________ > > ptxdist mailing list > > ptxdist@pengutronix.de > > -- Regards / Mit den besten Grüßen, Wolfram Dold Firmware Developer Phone: +49 (0)7464/382-340 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-19 9:17 [ptxdist] Backspace not working in terminal (using ssh) Dold, Wolfram 2019-03-19 10:31 ` Roland Hieber @ 2019-03-19 12:06 ` Ian Abbott 2019-03-19 12:33 ` Dold, Wolfram 1 sibling, 1 reply; 18+ messages in thread From: Ian Abbott @ 2019-03-19 12:06 UTC (permalink / raw) To: ptxdist, Dold, Wolfram 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. 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. -- -=( Ian Abbott <abbotti@mev.co.uk> || Web: www.mev.co.uk )=- -=( MEV Ltd. is a company registered in England & Wales. )=- -=( Registered number: 02862268. Registered address: )=- -=( 15 West Park Road, Bramhall, STOCKPORT, SK7 3JZ, UK. )=- _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-19 12:06 ` Ian Abbott @ 2019-03-19 12:33 ` Dold, Wolfram 2019-03-19 17:42 ` Ian Abbott 0 siblings, 1 reply; 18+ messages in thread From: Dold, Wolfram @ 2019-03-19 12:33 UTC (permalink / raw) To: ptxdist; +Cc: Dold, Wolfram, abbotti 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. Regards, Wolfram _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-19 12:33 ` Dold, Wolfram @ 2019-03-19 17:42 ` Ian Abbott 2019-03-20 9:15 ` Dold, Wolfram 0 siblings, 1 reply; 18+ messages in thread From: Ian Abbott @ 2019-03-19 17:42 UTC (permalink / raw) To: ptxdist, Dold, Wolfram 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. -- -=( Ian Abbott <abbotti@mev.co.uk> || Web: www.mev.co.uk )=- -=( MEV Ltd. is a company registered in England & Wales. )=- -=( Registered number: 02862268. Registered address: )=- -=( 15 West Park Road, Bramhall, STOCKPORT, SK7 3JZ, UK. )=- _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-19 17:42 ` Ian Abbott @ 2019-03-20 9:15 ` Dold, Wolfram 2019-03-20 12:41 ` Ian Abbott 0 siblings, 1 reply; 18+ messages in thread From: Dold, Wolfram @ 2019-03-20 9:15 UTC (permalink / raw) To: ptxdist, abbotti; +Cc: Dold, Wolfram 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. -- Regards, Wolfram _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-20 9:15 ` Dold, Wolfram @ 2019-03-20 12:41 ` Ian Abbott 2019-03-20 15:41 ` Michael Olbrich 2019-03-21 10:45 ` [ptxdist] Backspace not working in terminal (using ssh) Dold, Wolfram 0 siblings, 2 replies; 18+ messages in thread From: Ian Abbott @ 2019-03-20 12:41 UTC (permalink / raw) To: ptxdist, Dold, Wolfram 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. Still, it's easy enough to replace the default file with a modified one in your project since it uses PTXdist's "install_alternative" to install it in the root file system. See: https://www.ptxdist.org/doc/ref_manual.html#install-alternative This does mean you might need to keep track of future changes to the default copy of the file in future PTXdist releases and modify your local copy if relevant. -- -=( Ian Abbott <abbotti@mev.co.uk> || Web: www.mev.co.uk )=- -=( MEV Ltd. is a company registered in England & Wales. )=- -=( Registered number: 02862268. Registered address: )=- -=( 15 West Park Road, Bramhall, STOCKPORT, SK7 3JZ, UK. )=- _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-20 12:41 ` Ian Abbott @ 2019-03-20 15:41 ` Michael Olbrich 2019-03-21 12:46 ` 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 1 sibling, 2 replies; 18+ messages in thread From: Michael Olbrich @ 2019-03-20 15:41 UTC (permalink / raw) To: ptxdist 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 ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-20 15:41 ` Michael Olbrich @ 2019-03-21 12:46 ` Ian Abbott 2019-03-21 13:33 ` Michael Olbrich 2019-03-22 12:30 ` [ptxdist] [PATCH] projectroot: remove setting stty erase character to "^H" Dold, Wolfram 1 sibling, 1 reply; 18+ messages in thread From: Ian Abbott @ 2019-03-21 12:46 UTC (permalink / raw) To: ptxdist On 20/03/2019 15:41, Michael Olbrich wrote: > 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. [snip because it's getting a bit long] >> 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. Perhaps it was there for the Windows Telnet client which seems to send ASCII BS when the "Backspace" key is pressed and ASCII DEL when the (less conveniently placed) "Delete" key is pressed. This mimics the codes sent by the VT-102 "Backspace" and "Delete" keys which were both conveniently placed. The Windows telnet client has a -t option to set the terminal type to one of "vt100", "vt52", "ansi", or "vtnt", but it doesn't pass the selected terminal type to the server, and this doesn't seem to have any effect on the codes sent by the "Backspace" and "Delete" keys. The TERM environment variable ends up getting set to "vt102" by default on my PTXdist systems if a terminal type hasn't been passed through by the Telnet client. I don't know if that is configurable. The Windows Telnet client isn't installed by default, but can still be installed as a "Windows Feature". I guess most people who used it would have switched to something like PuTTY by now. > I'll be happy to apply a patch that removes this. I'm worried that doing so might annoy some people who expect the existing behavior. -- -=( Ian Abbott <abbotti@mev.co.uk> || Web: www.mev.co.uk )=- -=( MEV Ltd. is a company registered in England & Wales. )=- -=( Registered number: 02862268. Registered address: )=- -=( 15 West Park Road, Bramhall, STOCKPORT, SK7 3JZ, UK. )=- _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 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 0 siblings, 2 replies; 18+ messages in thread From: Michael Olbrich @ 2019-03-21 13:33 UTC (permalink / raw) To: ptxdist On Thu, Mar 21, 2019 at 12:46:40PM +0000, Ian Abbott wrote: > On 20/03/2019 15:41, Michael Olbrich wrote: > > 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. > [snip because it's getting a bit long] > > > > 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. > > Perhaps it was there for the Windows Telnet client which seems to send ASCII > BS when the "Backspace" key is pressed and ASCII DEL when the (less > conveniently placed) "Delete" key is pressed. This mimics the codes sent by > the VT-102 "Backspace" and "Delete" keys which were both conveniently > placed. > > The Windows telnet client has a -t option to set the terminal type to one of > "vt100", "vt52", "ansi", or "vtnt", but it doesn't pass the selected > terminal type to the server, and this doesn't seem to have any effect on the > codes sent by the "Backspace" and "Delete" keys. The TERM environment > variable ends up getting set to "vt102" by default on my PTXdist systems if > a terminal type hasn't been passed through by the Telnet client. I don't > know if that is configurable. > > The Windows Telnet client isn't installed by default, but can still be > installed as a "Windows Feature". I guess most people who used it would > have switched to something like PuTTY by now. I'm pretty sure it was a Linux issue. I remember having problems like this a long time ago. > > I'll be happy to apply a patch that removes this. > > I'm worried that doing so might annoy some people who expect the existing > behavior. I'd rather fix a real problem. If it causes issues, then we'll try to find a solution. 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 ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-21 13:33 ` Michael Olbrich @ 2019-03-21 14:47 ` Ian Abbott 2019-03-21 15:24 ` Ian Abbott 1 sibling, 0 replies; 18+ messages in thread From: Ian Abbott @ 2019-03-21 14:47 UTC (permalink / raw) To: ptxdist On 21/03/2019 13:33, Michael Olbrich wrote: > On Thu, Mar 21, 2019 at 12:46:40PM +0000, Ian Abbott wrote: >> On 20/03/2019 15:41, Michael Olbrich wrote: >>> 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. >> [snip because it's getting a bit long] >> >>>> 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. >> >> Perhaps it was there for the Windows Telnet client which seems to send ASCII >> BS when the "Backspace" key is pressed and ASCII DEL when the (less >> conveniently placed) "Delete" key is pressed. This mimics the codes sent by >> the VT-102 "Backspace" and "Delete" keys which were both conveniently >> placed. >> >> The Windows telnet client has a -t option to set the terminal type to one of >> "vt100", "vt52", "ansi", or "vtnt", but it doesn't pass the selected >> terminal type to the server, and this doesn't seem to have any effect on the >> codes sent by the "Backspace" and "Delete" keys. The TERM environment >> variable ends up getting set to "vt102" by default on my PTXdist systems if >> a terminal type hasn't been passed through by the Telnet client. I don't >> know if that is configurable. >> >> The Windows Telnet client isn't installed by default, but can still be >> installed as a "Windows Feature". I guess most people who used it would >> have switched to something like PuTTY by now. > > I'm pretty sure it was a Linux issue. I remember having problems like this > a long time ago. I guess it used to do `stty erase ^H` always and an exception was added later for terminal type "linux". The Linux vt console sends ASCII DEL for the Backspace key, and ASCII ESC [ 3 ~ for the Delete key, so that seems like it was a reasonably cautious change at the time. >>> I'll be happy to apply a patch that removes this. >> >> I'm worried that doing so might annoy some people who expect the existing >> behavior. > > I'd rather fix a real problem. If it causes issues, then we'll try to find > a solution. I suppose using the GNU coreutils default value for the stty erase character ( ^? (ASCII DEL) by default) is likely to cause the least problems overall. This also seems to be the default for FreeBSD (although FreeBSD stty also has an "erase2" option set to ^H (ASCII BS) by default). -- -=( Ian Abbott <abbotti@mev.co.uk> || Web: www.mev.co.uk )=- -=( MEV Ltd. is a company registered in England & Wales. )=- -=( Registered number: 02862268. Registered address: )=- -=( 15 West Park Road, Bramhall, STOCKPORT, SK7 3JZ, UK. )=- _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 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 1 sibling, 1 reply; 18+ messages in thread From: Ian Abbott @ 2019-03-21 15:24 UTC (permalink / raw) To: ptxdist On 21/03/2019 13:33, Michael Olbrich wrote: > On Thu, Mar 21, 2019 at 12:46:40PM +0000, Ian Abbott wrote: >> On 20/03/2019 15:41, Michael Olbrich wrote: >>> 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. >> [snip because it's getting a bit long] >> >>>> 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. >> >> Perhaps it was there for the Windows Telnet client which seems to send ASCII >> BS when the "Backspace" key is pressed and ASCII DEL when the (less >> conveniently placed) "Delete" key is pressed. This mimics the codes sent by >> the VT-102 "Backspace" and "Delete" keys which were both conveniently >> placed. >> >> The Windows telnet client has a -t option to set the terminal type to one of >> "vt100", "vt52", "ansi", or "vtnt", but it doesn't pass the selected >> terminal type to the server, and this doesn't seem to have any effect on the >> codes sent by the "Backspace" and "Delete" keys. The TERM environment >> variable ends up getting set to "vt102" by default on my PTXdist systems if >> a terminal type hasn't been passed through by the Telnet client. I don't >> know if that is configurable. >> >> The Windows Telnet client isn't installed by default, but can still be >> installed as a "Windows Feature". I guess most people who used it would >> have switched to something like PuTTY by now. > > I'm pretty sure it was a Linux issue. I remember having problems like this > a long time ago. > >>> I'll be happy to apply a patch that removes this. >> >> I'm worried that doing so might annoy some people who expect the existing >> behavior. > > I'd rather fix a real problem. If it causes issues, then we'll try to find > a solution. Changing it would probably annoy gtkterm users, and annoy minicom users less so. For both of those, the Backspace key sends BS by default. There is an option to change it to DEL in minicom, but no such option in gtkterm (or if it exists, it is well hidden!). (Personally, I prefer minimalist, dumb serial terminal emulators such as picocom, nanocom, and microcom which just run inside a local terminal session.) -- -=( Ian Abbott <abbotti@mev.co.uk> || Web: www.mev.co.uk )=- -=( MEV Ltd. is a company registered in England & Wales. )=- -=( Registered number: 02862268. Registered address: )=- -=( 15 West Park Road, Bramhall, STOCKPORT, SK7 3JZ, UK. )=- _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-21 15:24 ` Ian Abbott @ 2019-03-22 7:55 ` Michael Olbrich 2019-03-22 10:16 ` Ian Abbott 0 siblings, 1 reply; 18+ messages in thread From: Michael Olbrich @ 2019-03-22 7:55 UTC (permalink / raw) To: ptxdist On Thu, Mar 21, 2019 at 03:24:48PM +0000, Ian Abbott wrote: > On 21/03/2019 13:33, Michael Olbrich wrote: > > On Thu, Mar 21, 2019 at 12:46:40PM +0000, Ian Abbott wrote: > > > On 20/03/2019 15:41, Michael Olbrich wrote: > > > > 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. > > > [snip because it's getting a bit long] > > > > > > > > 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. > > > > > > Perhaps it was there for the Windows Telnet client which seems to send ASCII > > > BS when the "Backspace" key is pressed and ASCII DEL when the (less > > > conveniently placed) "Delete" key is pressed. This mimics the codes sent by > > > the VT-102 "Backspace" and "Delete" keys which were both conveniently > > > placed. > > > > > > The Windows telnet client has a -t option to set the terminal type to one of > > > "vt100", "vt52", "ansi", or "vtnt", but it doesn't pass the selected > > > terminal type to the server, and this doesn't seem to have any effect on the > > > codes sent by the "Backspace" and "Delete" keys. The TERM environment > > > variable ends up getting set to "vt102" by default on my PTXdist systems if > > > a terminal type hasn't been passed through by the Telnet client. I don't > > > know if that is configurable. > > > > > > The Windows Telnet client isn't installed by default, but can still be > > > installed as a "Windows Feature". I guess most people who used it would > > > have switched to something like PuTTY by now. > > > > I'm pretty sure it was a Linux issue. I remember having problems like this > > a long time ago. > > > > > > I'll be happy to apply a patch that removes this. > > > > > > I'm worried that doing so might annoy some people who expect the existing > > > behavior. > > > > I'd rather fix a real problem. If it causes issues, then we'll try to find > > a solution. > > Changing it would probably annoy gtkterm users, and annoy minicom users less > so. For both of those, the Backspace key sends BS by default. There is an > option to change it to DEL in minicom, but no such option in gtkterm (or if > it exists, it is well hidden!). (Personally, I prefer minimalist, dumb > serial terminal emulators such as picocom, nanocom, and microcom which just > run inside a local terminal session.) Ok, I did some testing and now I'm rather confused. I tested minicom, microcom and gtkterm on the serial port and putty (on Linux) via serial port and telnet and a normal telnet. In all cases backspace and delete work as expected with 'stty erase ^H' and 'stty erase ^?'. Am I missing something here or is something magically doing the right thing in the background? 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 ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-22 7:55 ` Michael Olbrich @ 2019-03-22 10:16 ` Ian Abbott 0 siblings, 0 replies; 18+ messages in thread From: Ian Abbott @ 2019-03-22 10:16 UTC (permalink / raw) To: ptxdist On 22/03/2019 07:55, Michael Olbrich wrote: > Ok, I did some testing and now I'm rather confused. I tested minicom, > microcom and gtkterm on the serial port and putty (on Linux) via serial > port and telnet and a normal telnet. > > In all cases backspace and delete work as expected with 'stty erase ^H' and > 'stty erase ^?'. > > Am I missing something here or is something magically doing the right thing > in the background? If BUSYBOX_FEATURE_EDITING is enabled, BusyBox's "ash" and "hush" shells are doing something magical (using BusyBox's read_line_input() function) when interactively editing a command line from a TTY. The shell's built-in commands that use standard input (such as the 'read' command) do not use this magic line editing, and rely solely on the stty settings. The same applies to most external commands that can read from standard input (including those implemented by busybox) unless they implement their own readline-like functionality. -- -=( Ian Abbott <abbotti@mev.co.uk> || Web: www.mev.co.uk )=- -=( MEV Ltd. is a company registered in England & Wales. )=- -=( Registered number: 02862268. Registered address: )=- -=( 15 West Park Road, Bramhall, STOCKPORT, SK7 3JZ, UK. )=- _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* [ptxdist] [PATCH] projectroot: remove setting stty erase character to "^H" 2019-03-20 15:41 ` Michael Olbrich 2019-03-21 12:46 ` Ian Abbott @ 2019-03-22 12:30 ` Dold, Wolfram 1 sibling, 0 replies; 18+ messages in thread From: Dold, Wolfram @ 2019-03-22 12:30 UTC (permalink / raw) To: ptxdist; +Cc: Dold, Wolfram In popular console tools the default value for the stty erase character is set to "^?". BusyBox ash "read" built-in does not have line editing support. If you now use "read" in an ash script and "^H" is set as stty erase character on the target device, then correcting with the backspace button does not work. Because the local console sends "^?" and the target device expects "^H". Signed-off-by: Wolfram Dold <wolfram.dold@allegion.com> --- projectroot/etc/profile | 5 ----- 1 file changed, 5 deletions(-) diff --git a/projectroot/etc/profile b/projectroot/etc/profile index 259113d33..833791497 100644 --- a/projectroot/etc/profile +++ b/projectroot/etc/profile @@ -2,11 +2,6 @@ # export HISTFILE=/tmp/.ash_history.$USER.$PPID -# This fixes the backspace when telnetting in. -if [ "$TERM" != "linux" ]; then - stty erase ^H -fi - # source this file for subsequent shells, too # (will also be sourced for init-shell) export ENV=/etc/profile.environment -- 2.17.1 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-20 12:41 ` Ian Abbott 2019-03-20 15:41 ` Michael Olbrich @ 2019-03-21 10:45 ` Dold, Wolfram 2019-03-21 11:26 ` Michael Olbrich 1 sibling, 1 reply; 18+ messages in thread From: Dold, Wolfram @ 2019-03-21 10:45 UTC (permalink / raw) To: ptxdist, abbotti; +Cc: Dold, Wolfram On Wed, 2019-03-20 at 12:41 +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 already read that bash's read supports the option '-e'. But 'bash' is not an option for us at the moment. > 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. > > Still, it's easy enough to replace the default file with a modified one > in your project since it uses PTXdist's "install_alternative" to install > it in the root file system. See: > That's the way I solved the problem right now. > https://www.ptxdist.org/doc/ref_manual.html#install-alternative > > This does mean you might need to keep track of future changes to the > default copy of the file in future PTXdist releases and modify your > local copy if relevant. > Yes, I know and I actually wanted to avoid that. But maybe, when the ptxdist developers read this thread, they take a closer look at that and maybe it was really Thank you for your detailed explanations and for the time to discuss this topic with me. -- Regards, Wolfram only necessary for telnet and is therefore no longer needed nowadays. _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [ptxdist] Backspace not working in terminal (using ssh) 2019-03-21 10:45 ` [ptxdist] Backspace not working in terminal (using ssh) Dold, Wolfram @ 2019-03-21 11:26 ` Michael Olbrich 0 siblings, 0 replies; 18+ messages in thread From: Michael Olbrich @ 2019-03-21 11:26 UTC (permalink / raw) To: ptxdist; +Cc: Dold, Wolfram Hi, On Thu, Mar 21, 2019 at 10:45:57AM +0000, Dold, Wolfram wrote: > Yes, I know and I actually wanted to avoid that. > But maybe, when the ptxdist developers read this thread, > they take a closer look at that and maybe it was really See my other reply to this thread. Send Patches :-). 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 ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2019-03-22 12:30 UTC | newest] Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-03-19 9:17 [ptxdist] Backspace not working in terminal (using ssh) 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 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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox