Login  
Search All Forums
Dart Home | PowerTCP Emulation for ActiveX | Custom Development Reply | PowerTCP Emulation / Telnet for ActiveX Topics | Forums   
AuthorForum: PowerTCP Emulation / Telnet for ActiveX
Topic: VMS connection problem
pjgerritsen
p.gerritsen@informaxion.nl

From: Hoofddorp, Netherlands
Posts: 3
Member Since: 08/01/02
posted August 1, 2002 10:59 AM

I have a problem when connecting to a VMS system, it appears to be a problem with the terminal type.
This results in a very slow connection to the remote system.

I've included a portion of the trace:

Welcome to VAX/VMS V5.5

<---

  Last interactive login on Thursday, 1-AUG-2002 16:22
  Last non-interactive login on Thursday, 1-AUG-2002 14:45
WARNING - Your password expires on Tuesday, 6-AUG-2002 13:35
Z
<--- 
<--- 
<---
%SET-W-NOTSET, error modifying TNA126:

<---
-SET-I-UNKTERM, unknown terminal type
Z
<--- 
<--- 
<---
%SET-W-NOTSET, error modifying TNA126:

<---
-SET-I-UNKTERM, unknown terminal type
>[?3l=
<---
 SWFNL0>
pjgerritsen
p.gerritsen@informaxion.nl

From: Hoofddorp, Netherlands
Posts: 3
Member Since: 08/01/02
posted August 5, 2002 7:07 AM

From a packet analisys, i've discovered a probable problem with responding to the escape sequence [ctrl-Z]. Is there a solution for this problem?
Jon Belanger



From: Rome, NY USA
Posts: 310
Member Since: 06/10/02
posted August 5, 2002 8:41 AM

Could you send me the packet analysis results? Where is the ctrl-z being issued on login? I have access to a VAX/VM 6.2 system, and our tool works fine with it. Would it be possible for me to gain access to this particular system so I can reproduce the error on my end? Thanks.
pjgerritsen
p.gerritsen@informaxion.nl

From: Hoofddorp, Netherlands
Posts: 3
Member Since: 08/01/02
posted August 5, 2002 9:45 AM

I have solved the issue with responding to the ctrl-z sequence. So the delay is (almost) gone.
The problem with the unknown terminal type remains. To what value should I set the TermType property?
Jon Belanger



From: Rome, NY USA
Posts: 310
Member Since: 06/10/02
posted August 5, 2002 9:53 AM

I would have to gain access to your system using some sort of guest account to tell you definetively what TermType you should use. What types have you tried?
smithgp

From: Toronto, ON Canada
Posts: 1
Member Since: 11/26/03
posted November 26, 2003 1:24 PM

I am having a similar issue connecting to a VMS host as well. I found that the host is not trying to negotiate the terminal type (only supress go aheads and echo)

When I connect, I get a long pause and then the error
%SET-W-NOTSET, error modifying TNAXXX
SET-I-UNKTERM, unknown terminal type

Was there ever a solution for this? I suspect that VMS is expecting a VT420 terminal which is not supported :-(


Tony Priest



From: Utica, NY USA
Posts: 8466
Member Since: 04/11/00
posted November 30, 2003 11:25 PM

I can't find any history to indicate that there was ever resolution. Do you have AutoOption set to true? If so, have you tried setting it to false and experimenting with the Command Event?
ssmart

From: Gloucester, USA
Posts: 3
Member Since: 01/23/04
posted January 25, 2004 5:26 PM

I am getting a similar timeout/negotiation error. If I use the example emulator for autologon it negotiates terminal type fine and loggs on with my usual command prompt PROMPT>. 

If I try sending the password automatically and using the .Search property to wait for the PROMPT> the autonegotiation doesn't appear to work and I get terminal type error. Was there any solution to this?
Tony Priest



From: Utica, NY USA
Posts: 8466
Member Since: 04/11/00
posted January 26, 2004 9:00 AM

I think I am misunderstanding something. First you state the our AutoLogin sample works. Then you say that it doesn't work when you send the password automatically. That's exactly what the AutoLogin sample does. If you have one way that works and one way that doesn't, the first thing you need to do is compare the two methods and determine what's different.
ssmart

From: Gloucester, USA
Posts: 3
Member Since: 01/23/04
posted January 26, 2004 5:29 PM

sorry perhaps I didn't make my self clear. The autologin sample traps the username and password this works fine. If you try to trap a third item such as the command prompt it will time out. 

I think because the terminal negotiation takes place after login and before the command prompt, traping the third sequence prevents this negotiation from taking place but I don't know why it prevents it or how to work round it. I need to trap more than the user name and password or I can't screen scrape. Any ideas?

Example

If DoBlockingConnect(RemoteAddr, RemotePort, 30000) Then
 If WaitFor("User", 5000, Username) Then
  WaitFor "Password:", 5000, Password
  WaitFor("PROMPT>", 5000, "PROCEDURE")
 End If
End If
Tony Priest



From: Utica, NY USA
Posts: 8466
Member Since: 04/11/00
posted January 26, 2004 7:02 PM

Have you tried using the Trace method to see what's going on behind the scenes?
ja928

From: Canton, OH USA
Posts: 17
Member Since: 03/31/04
posted April 21, 2004 5:38 PM

I had just posted a similar question as another topic. The tipoff I got was the other person mentioned a Ctrl-Z. I had the same basic thing holding up my login.

I shaved a lot of time (not all) by doing this:
  Dim loginTokens As DartSock.DartStrings = New DartSock.DartStrings
  With loginTokens
   .Add("________") 'Here's the one I want
   .Add("User authorization failure")
   .Add("YOUR PASSWORD WILL EXPIRE IN")
   .Add("Z") 'Here's the fix!!!!
  End With 'loginTokens

  With objTN
   .AutoOption = True  ' Perform auto-option negotiation for TELNET
   '.Trace("c:\login.log", True, True, vbCrLf & "App>" & vbCrLf, vbCrLf & "SVR>" & vbCrLf)
   .Connect(g_sTelnetHost, g_sTelnetPort)

   .Search(sData, "Username: ")
   sData = ""
   .Send(g_sDpUid & Chr(13))
   .Search(sData, "Password: ")
   sData = ""
   .Send(g_sDpPass & Chr(13))
   .Search(sData, loginTokens) 'This is the bottleneck
   objVt.Write(sData)
   .Search(sData, loginTokens) 'Call it again to search for my "desired" token, the "________"

  End With 'objTN

From one of the earlier posts, it looks like the Ctrl-Z might vary based on your version of VMS. Mine actually sends "\Z". It does not require an additional message from me, just add the extra Search command. This shaved a few seconds off for me, but it looks like I could save more.
lmayor

From: Gen. Trias, Cavite, Philippines
Posts: 3
Member Since: 10/01/04
posted October 1, 2004 3:46 PM

The escape sequences <esc>Z, <esc>[c and <esc>[0c actually means the same thing. These are Device Attribute prompts from VMS (VMS is asking what terminal type you've got). VMS normally would send <esc>[c first. If it doesn't get a reply (after about 3 sec), it will send a <esc>\<esc>Z (<esc>\ is just a terminator and can be ignored). If VMS doesn't get a reply (after another 3 sec), it will send <esc>[0c. If it still doen't get a response then it will say that your terminal type is unknown.

Here's the solution:

After logging in wait for the string <esc>[c or CHR(27) + "[c" then send the string <esc>[?62;1c or CHR(27) + "[?62;1c". The 62 means you are using a VT200 series terminal and the 1 means that you have a 132 column screen.

VMS will reply with the scape sequences <esc>7<esc>[255;255H<esc>[6n<esc>8

<esc>7    = Save cursor information
<esc>255;255H = Move cursor to row 255, col 255
<esc>6n    = can't remember what this does
<esc>8    = Restore cursor information

You can probably just wait for <esc>255;255H wherein VMS will wait a few seconds for a response.

Then send the escape sequence <esc>[24;80R which means your cursor moved to row 24 col 80.

That's it. This would save you around 8 seconds.

For more information on VMS escape sequences visit http://vt100.net/docs/vt220-rm/contents.html
Reply | PowerTCP Emulation / Telnet for ActiveX Topics | Forums   
This site is powered by PowerTCP WebServer Tool PowerTCP WebServer for ActiveX