ITEM: H2642L
Problem with telnet session, cannot send break to the RISC.
Question:
When I hit the 'break' key in a telnet session from an OEM
workstation, it causes a core dump, instead of interupting the
current process. Why?
Response:
The machine that you are telnetting from tries to figure out
what character needs to be sent to cause a 'interrupt' on the
host. The character that is sent varies depending on the
specific versions and configurations of tcpip on the client
and host. Sometimes the wrong character gets sent.
In your case, when the break key on the client is pressed, a
xff gets sent. The RISC is expecting x03 (ctrl-c).
To find out what the client is sending:
Open a test file with vi while in a telnet session.
type 'vi test'
Put vi into insert mode.
type 'i'
Put vi into literal mode so that it will not try to interpret
the next charater sequence.
type '\-v'
A '\^' should appear on the screen.
Hit the break key.
Save the file.
type '\:wq'
Do a hex dump on the file.
type 'od -x test'
The ouput in your case will look like this.
0000000 ff0a
0000002
The 'ff' hexidecimal value of the character sent, and the '0a' is
the hex value for EOL.
To find out what the RISC expects as a 'break' character:
type 'stty -a'
Look to see what 'intr' equals. Yours is set to \^C which is x03
in hex.
There are at least two ways to solve such discrepencies.
The easiest way would be to change the 'stty intr' to expect the
character that is being sent. If the client were sending \^P when
you press the break key then you would simply type:
stty intr \^P
at the command line. Make sure that you type \-p and not '\^'
and 'P'.
This method will not work in your case because stty attributes will
only except values between x00 and x07. Your client is sending xff.
A second way to bridge this gap would be to use setmaps to search the
incoming data stream for the character being sent and remap it to the
value that the RISC expects.
To do this, create a file called '/usr/lib/nls/termmap/mine.in'
that contains:
\\xff:\\x03
To load the map into the kernel, type the following command as root:
setmaps -l mine.in
To use the map on a particular terminal, a user would type:
setmaps -i mine
To stop using the map, a user would type:
setmaps -c
Support Line: Problem with telnet session, cannot send break to the RISC. ITEM: H2642L
Dated: April 1994 Category: N/A
This HTML file was generated 99/06/24~13:30:48
Comments or suggestions?
Contact us