Connecting a DECserver to modern Linux
Whats a DECserver?
A DECserver is a terminal server, it allows to connect remote terminals to a host over LAN network. Normally every terminals is connected over RS232 connection to a port on the host computer. But this direct connection style needs one cable per terminal, and limits the distance between terminal and host.
A terminal server acts like a relais: terminals are connected to a local terminal server, the data traffic between terminals and host is routed over LAN.
DECservers also have a Wikipedia entry.
Here we talk about a "DECserver 200/MC":
He looks like little MicroVAX in a BA23 case.
The backside is more interesting than the front. What you see:
- You can connect 8 terminals over serial ports, there are standard 25 pin DSUB males.
- For connection to the LAN it has an AUI port, in which you plug an Ethernet tranceiver.
- The big red square button is for total reset: Press it while you power on, and the DECserver forgets all his settings. After that, the baudrate on al ports is 9600 baud.
- There is no power switch! Just plug it into line power ... DECservers never get switched off.
The protocol used between DECserver and the host is LAT - "Local Area transport". This DEC protocoll supported by PDP-11, VAX and Alpha operating systems, and also on many other platform. Modern Linuxes still support it.
And there's a 2nd protocol involved: MOP - DEC's Maintenance Operation Protocol. The DECserver has no static onboard firmware, it boots over network. So in the same local network there has to be a MOP server, which will allow the DECserver to load its firmware.
Today DECservers are almost obsolete, since we live mostly in a TCP/IP world, and if we want to connect a physical text terminal to a remote host, we'd rather use a Telnet-compatible terminal server instead of a LAT server.
But at least for one application a DECserver is fine: to connect physical terminal to a simulated VAX the way DEC intended. Maybe I try this later, for now I show how to connect a terminal to an modern Ubuntu.
Connecting a VT220 to Ubuntu
When we use our Linux, we sit the most time before an terminal window. With an DECserver, you can use an real terminal instead of a simulation!
There are lots of instructions on the web on how to connect a DECserver to Linux. I couldn't resist to mash them up into one more page about it: So here is a walk-though on how to connect an old VT220 to Linux ... I used a Ubuntu 10.4 LTS.
- Connect terminal at 9600 baud to Port J1 (console), use normal null modem cable.
- reset the DECserver: Press the S1 button and hold, power ON (clear to factory defaults)
- Verify, that the fans are rotating! A DECserver usually dies, because it's fans block and then the power supply burns up.
- Connect to your Ethernet: use an AUI with twisted pair connector. With a little luck you can buy an AUI on eBay for less then $10.
- The final setup could look like this:
6. Switch the DEC server ON.
You should on the console something like
Local -901- Initializing DECserver "08-00-2B-23-3A-7A" -- ROM BL20, H/W Rev D.A
Local -902- Waiting for image load
Local -912- Load failure, time
2. Allow the DECserver to boot from Ubuntu MOP server
The DECserver needs to load its firmware over MOP protocol. So you must install a MOP server and install the firmware file.
- Contrary to some Internet instructions, installation of DECnet is NOT necessary.
- DECserver and Ubuntu machine must be on the same subnet, no routing!
- Open the Synaptic Paket manager and install the paket "mopd".
Choose interface "eth0".
- You need the firmware file. It's name is "PR0801ENG.SYS" (all uppercase!).
You can download it from ftp://ftp.update.uu.se/pub/pdp11/ds/ or contact me.
- Install the firmware file at the right place. The MOP daemon "mopd" has a directory in wich all files must be placed. Call "man mopd" to read about it. For Ubuntu 10, the directory is "/srv/tftp/mop". So do
$ sudo mkdir -p /srv/tftp/mop
$ cp PR0801ENG.SYS /srv/tftp/mop/PR0801ENG.SYS
Start the mop daemon on your ethernet port.
Normally mopd is running after installation. "kill -9" it and start it again in the foreground and in debug mode:
# mopd -d eth0
Power ON the DECserver. On the terminal you should see:
- Press ENTER, and enter an arbitrary username:
- The user interface is VMS-like and quite comfortable.
The prompt is "Local>", and HELP is your friend:
3. Setup LAT for Ubuntu
The LAT protocoll enables remote login over over the DECserver. Read more about it here.
- Install LAT: From Synaptic paket manager, install paket "latd".
- Controlling the LAT demon:
$ sudo latcp -sand stop with
$ sudo latcp -h
4. Connect from Terminal over DECserver to Ubuntu host
The DECserver command to connect to a LAT enabled host is just "CONNECT servicename",
with servicename defaulting to hostname ... the name of your linux machine.
You can redefine the LAT servicename, by deleting it and adding a new service:
$ sudo latcp -D -a linux1
$ sudo latcp -A -a LINUX1 -i "LAT login service on host linux1"
(Here old and name are both "linux1". For other options, see "man latcp".)
Now here I log on my Ubuntu host "linux1" into my account "joerg":
Now you can do everything you would do in a normal terminal window:
Compare the emulation ...
... with the real thing: