Setup :: PC (cygwin) <-> Terminal Server (InReach) <-> Sun Server (Solaris 8) Scenarios : Using Tera Term Pro with ssh extension, I connect to the Terminal Server via ssh and I can use 'Control -> Send Break' to send the break sequence to drop the Sun Server into its 'ok prompt'. Using ssh via cygwin, I tried to do '~ ctrl-B', but it will not drop to 'ok prompt'. I tried downloading the source and compiling it on my own, same case, no luck. :-( I read one thread that suggest that it may have something to do with HAVE_TCSENDBREAK, so I defined it to 0 and recompile. Still no luck. :-( Questions : Is this a known bug? Are the workarounds? (other than using Tera Term Pro) Thanks in advanced for any answers.
Avis wrote:> Using ssh via cygwin, I tried to do '~ ctrl-B', but it will not drop to 'ok > prompt'.You don't need the CTRL. $ ~? Supported escape sequences: ~. - terminate connection ~B - send a BREAK to the remote system [snip]> Are the workarounds? (other than using Tera Term Pro?)Use less fingers :-) If that doesn't work, please post a debug trace, eg: ssh -vvv terminalserver [CR]~B Note that it's a capital B, so use shift not ctrl, and you must start the sequence with a carraige return. You should see something like this in the output: debug2: channel 0: request break debug2: channel 0: written 4 to efd 6 -- Darren Tucker (dtucker at zip.com.au) GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69 Good judgement comes with experience. Unfortunately, the experience usually comes from bad judgement.
Avis wrote:> Darren, thanks. > I did try all combinations of '~b', '~B', '~<ctrl-B>', and even '~<alt-B>'. > With the debug, it's obvious that you were right, '~B' was the one that > triggered the request break. > However, nothing happen in the request break function. > Is there something I need to set in the compilation? > Is there a library that I am missing?No, there's nothing else to be done at compile time, and according to the debugging the break request is being sent just fine.> bash-2.03# debug2: channel 0: request break > ~B > debug2: channel 0: written 4 to efd 7It's possible that your terminal server does not like the length of the break requested (OpenSSH hard-codes that to 1000 ms). You can fiddle with that at compile time, it's in clientloop.c around line 585: case 'B': if (compat20) { snprintf(string, sizeof string, "%cB\r\n", escape_char); buffer_append(berr, string, strlen(string)); channel_request_start(session_ident, "break", 0); packet_put_int(1000); packet_send(); } You can try changing the number inside the packet_put_int (I suggest trying "0" first as that the server should use "500ms or the default BREAK signal length of the chipset or underlying chipset driver.") -- Darren Tucker (dtucker at zip.com.au) GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69 Good judgement comes with experience. Unfortunately, the experience usually comes from bad judgement.
Avis wrote:> I found the characters sent by TeraTerm Pro. > It was '0xFF', followed by '0xF3'.That's a Telnet IAC-Break sequence. I suspect the fact it works over SSH at all is a coincidence. -- Darren Tucker (dtucker at zip.com.au) GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69 Good judgement comes with experience. Unfortunately, the experience usually comes from bad judgement.