Subject: MicroVAX 3100 and multiple terminals (a mini-HOWTO of sorts).
To: NetBSD/vax Mailing List <port-vax@netbsd.org>
From: Brian Chase <vaxzilla@jarai.org>
List: port-vax
Date: 11/28/2002 11:34:14
With the long Thanksgiving weekend, I'm catching up on my projects and
general play.  So... one of the things I wanted to do was hang a number
of (4) terminals off of my MicroVAX 3100 (KA41), since the four DZ-11
serial lines it has are supported under NetBSD/vax.

There were a few small hiccups, but overall it was fairly easy;
I thought I'd summarize in case someone else might find this useful.
These are specifically written with the MicroVAX 3100 models 10, 20,
10e, 20, and the VAXserver 3100 in mind (KA41 systems)  for the
NetBSD/vax 1.6 release.

[1] The GENERIC kernel configuration for VAX includes the following
sections:

  # Vsbus, the virtual VAXstation bus, and possible devices.
  # ...
  smg0            at vsbus0 csr 0x200f0000 # Small monochrome display ctlr.

  # VAXstation graphics support
  wsdisplay0      at smg0
  #wsdisplay0     at clr0
  #wsdisplay0     at qd0
  #wsdisplay0     at qv0
  lkkbd0          at dz0 line 0
  wskbd*          at lkkbd? console ?
  lkms0           at dz0 line 1
  wsmouse*        at lkms?

You'll want to comment out all of those devices and build a new kernel.
The KA41s don't have an smg0 monochrome framebuffer (it doesn't hurt to
leave it in, but you may as well remove it), and the keyboard and mouse
devices will grab the serial lines for tty00 and tty01, respectively.
For a VAXstation 3100, that's fine; but for your MicroVAX 3100, you'll
probably want to use those serial lines for terminals or serial
printers.

[2] With the new kernel in place, it's now business as usual.  Just edit
your /etc/ttys and then `kill -HUP 1' to get init to spawn the getty
processes:

Lines in the original /etc/ttys:

  # DZ-11 lines, not frobbed by getty (keyboard/mouse may be sad)
  #tty00   "/usr/libexec/getty std.9600"   unknown off secure
  #tty01   "/usr/libexec/getty std.9600"   unknown off secure
  #tty02   "/usr/libexec/getty std.9600"   unknown off secure
  #tty03   "/usr/libexec/getty std.9600"   unknown off secure

Modified to the following (or you can change the `unknown' to be
whatever terminal type you're using, i.e. `vt100'):

  # DZ-11 lines, not frobbed by getty (keyboard/mouse may be sad)
  tty00   "/usr/libexec/getty std.9600"   unknown on secure
  tty01   "/usr/libexec/getty std.9600"   unknown on secure
  tty02   "/usr/libexec/getty std.9600"   unknown on secure
  #tty03  "/usr/libexec/getty std.9600"   unknown off secure

On the KA41 flavored MicroVAX 3100s, there are three MMJ serial ports
labelled 1-3, and there's a DB25M with an odd little ideogram of a
rectangle with triangle inside it.  The default mappings from the
physical ports to NetBSD devices files are as follows:

  MMJ #1 --> /dev/tty00
  MMJ #2 --> /dev/tty01
  MMJ #3 --> /dev/console
  DB25M  --> /dev/tty02

                             - * - * - * -

So now I'm in the process of running serial cables to various locations
in my apt.  I'll have a terminal in the kitchen, one in the bedroom, and
then two in my front room where the VAX is.  To hell with LAN parties;
I want RS232 parties for playing Hunt!  Bring your favorite terminal.

NOTES: I found that with the GENERIC kernel, I couldn't get a Wyse-60 to
work on tty02 when the keyboard and mouse were configured to use tty00
and tty01.  However, one of my VT525s worked just fine on that port.
After compiling a kernel without the keyboard and mouse, the Wyse
terminal began working fine on tty02.  I'd previously verified that both
the cable and Wyse 60 were in proper working order, so I'm not entirely
sure what was happening here.

-brian.