paperlined.org
apps > terminals > control_characters
document updated 13 years ago, on Aug 3, 2011

TD/SMP and SSU

Some serial terminals (e.g. DEC VT420, DEC VT520) have the ability to multiplex several terminal sessions over the same serial port. The user can then switch between them using special keystrokes, much like GNU Screen.

The DEC VT520 manual states:

The VT520 supports up to four sessions using virtual terminals. Each virtual
terminal maintains the full keyboard and display state of a real physical terminal
but shares a single keyboard and display with other virtual terminals.

To use a fourth session or reduce the number of serial comm lines needed, more than one session must be connected through a single comm port. The VT520 allows this using a session management protocol, called TD/SMP (Terminal Device/Session Management Protocol). TD/SMP allows two or more sessions to share a single comm line, as long as the other end of the comm line supports the protocol. ...



TD/SMP is standard on most terminal servers. If you are using a terminal server, check with its documentation to determine if it can run TD/SMP.

By "standard on most terminal servers", they mean "only available on DECservers".

The DEC VT520 Programmer manual states:

If your VT520 is connected directly to a host computer without a terminal server,
use [sic] can still use TD/SMP by running the Session Support Utility (SSU) on your
host computer. On a system that has SSU software, such as OSF or OpenVMS,
open the first session as follows:

$ mcr ssu <return>
On an UNIX-style system, open the first using:
% ssu
The install manual for OpenVMS's SSU software says:
SSU software lets you log in to and maintain multiple independent sessions on a single terminal line on an OpenVMS system.   SSU software is for use with Digital's VT330, VT340, and VT420 video terminals.   SSU software communicates with the single-line, multiple-session firmware in the terminal.

An HP support request regarding OpenVMS SSU clarifies:

The Session Support Utility (SSU) product is no longer available, and was retired in 1998 — the OpenVMS Wizard is not aware of any currently-available means to acquire the license, and is not in a position to determine of [sic] the release is contractually possible.



The key question is: How do you get TD/SMP working server-side, using modern software / hardware? (eg. Linux)

hardware terminals known to support TD/SMP

undocumented and proprietary

Newsgroups: comp.os.vms
Path: cs.utk.edu!gatech!howland.reston.ans.net!europa.eng.gtefsd.com!uunet
      !organpipe.uug.arizona.edu!CS.Arizona.EDU!zippy.Telcom.Arizona.EDU
      !mvb.saic.com!info-vax
Message-ID: <17923857@MVB.SAIC.COM>
X-Gateway-Source-Info: Mailing List
Organization: Info-Vax<==>Comp.Os.Vms Gateway
Date: Sat, 27 Nov 1993 09:16:35 EDT
From: Jerry Leichter <leichter@lrw.com>
Subject: RE: VT420/server multi-session handshake esc seq ?

Can someone please tell me the escape sequences used by a VT420 and SSU or a terminal terminal to perform the multi-session handshaking?
They are not "escape sequences," a term with a specific meaning defined in ANSI X.34 (I think that's the number). The commands use an entirely different format with a different introducer character; they exist at a different level in the protocol stack. (The protocol involved is called TDSMP, for Terminal Device Session Management Protocol. TDSMP commands can actually appear in the middle of an escape sequence; when the session is resumed, parsing of the escape sequence takes up where it left off.)
I suspect they are documented in the VT420 programming reference manual, but I would like to avoid the expense and lead time of ordering it for this "simple" need. [EK-VT420-RM is list $C 173]
Don't bother ordering it for this purpose; the TDSMP commands are not documented.
I am trying to tailor a PC communications package to permit it to use a TCP/IP DECserver connection with ANSI emulation to one host, and VTxxx emulation to another host.
Be aware that TDSMP is protected by patents. (Yes, not just in the US; in Canada and much of the rest of the world, too.) While it's true that a number of third parties appear to have reverse-engineered the protocol and are selling products based on it without public challenge from DEC, that doesn't mean DEC won't change its mind - it's got a history of aggressively defending its intellectual property rights. -- Jerry [Co-inventor of TDSMP, who may not necessarily agree with how DEC manages it, but is telling you the facts as he knows them.]

(emphasis mine)

The patents involved are:

Because patents exist explicitely so that competitors can implement it once the patent expires, it may be possible to glean some information from the patents. (not to say that will be easy — patents use arcane and convoluted writeups to try to discourage competitors from doing this)

interoperability efforts

The All Escapes compendium says:
-------------------------------------------------------------------------------
Sequence: DC4 (^T)

Used by the TDSMP (Terminal Device Session Management Protocol) on DEC
VT4xx terminals.  The protocol is patented (US 4791566 & 5165020).
Commands seems to end with ST.

Source: <URL:http://www.cs.utk.edu/~shuford/terminal/dec_vt220_codes.txt>
 [paraphrased]
Status: DEC private
-------------------------------------------------------------------------------
That lists this email as its source:
Newsgroups: comp.terminals
Message-ID: <3618F862.38DB@smarts.com>
References: <6v670o$iov$1@callisto.clark.net>
Date: Mon, 05 Oct 1998 12:48:35 -0400
From: Jerry Leichter 
To: Keith Lynch 
Subject: Re: DEC Multisessions

Does anyone know the protocol used for multisessions on the VT420 and similar terminals? I think it involves sequences that begin with Control-T and end with Control-\. Thanks.
The protocol is called TDSMP (Terminal Device Session Management Protocol). You're correct that CTRL/T is the introducer for these control sequences. I'm not sure if CTRL-\ always terminates them - the sequences use a kind of bit encoding, and that might just be a coincidence of the examples you looked at. TDSMP is covered by two US patents, 4791566 and 5165020, and correspond- ing patents in most of the industrialized world. (I'm one of the inventors, and recall such fun things as being FAXed a document in Portugese - with no translation - that I had to sign and FAX back for filing in Brazil within a few hours to avoid missing a deadline.) While DEC made terminals, it never licensed these patents, as far as I know. The protocol was never published. DEC sold its terminals business a couple of years ago; presumably, at least the rights to use the patents went along with the sale. The basic encoding method for the protocol was borrowed from some existing ISO standards; I'm afraid I can't give you a reference after all these years, however. Much of the protocol is pretty easy to reverse-engineer. A couple of DEC competitors did so, years back. I know DEC looked into suing them at the time; they may have instead reached some kind of negotiated settlement. (I recall that we evaluated one competitor's terminal and reached the conclusion that it "would infringe on the patent--if it actually worked".) You can get a pretty good picture of the overall design by reading the patents (though you have to work your way through the "patentese" they are written in). Except for pure research purposes, I would not recommend that you implement TDSMP without getting permission from the current owner of the patent. Legal action can be expensive and messy.... -- Jerry