From: Geoff Lloyd Burian (n3x092@rick.cs.ubc.ca)
Date: 03/17/93


From: n3x092@rick.cs.ubc.ca (Geoff Lloyd Burian)
Subject: ***SUMMARY*** Hooking up multiple terminals to a Linux machine
Date: 17 Mar 1993 13:12:50 -0800

It took me a little longer to get this out than I wanted to take, but
here it is. My original post:

> How hard would it be to set up a linux machine and have
> multiple users logged on using multiple ASCII terminals? What
> hardware would be required? What configuration/setup would be
> required? What would be an approximate cost per terminal?
> Has anyone done this?

In short, it is quite easy to hook up multiple ASCII terminals
to a machine running Linux. If you need one or two extra terminals,
one can just run them off the standard serial ports. For more its
probably best to get a multi-port serial board (~$100-$150). One can
(apparantly) get old terminals quite inexpensively (someone picked
up a few of them for $5 each, see below).

Thanks to all who responded. The more interesting replies (which are
most of them) are below, modulo my editing.

=======================================================================

Message inbox:35 - Read
From: "J.R.Suckling" <bobs@cbda7.apgea.army.mil>
To: <n3x092@rick.cs.ubc.ca>
Subject: Re: linux machine with multiple terminals?

n3x092@rick.cs.ubc.ca (Geoff Lloyd Burian) ; wrote:

[...my message deleted...]

I have not yet done this, but I plan to as soon as I can find the
terminals. I hear stories of people trashing terminals all the time.
You/I should be able to get vt100 type terminals for $25.00, but try
and find em' that is the hard part. There is a local HAM(radio)/computer
show localy the end of this month, I saw $25.00 terminal's there last year
I plan to pick up a few this year. Even if I get stuck with an adm-3a.

Software, you need a TERMCAP entry, and there are a few getty programs
outthere that should work.

You can hook up a Boca-16 port card with ont any kernal changes You
can add a secound with a quick kernal hack. and run 32 terminals. I
guess you nad better have some memory 16Meg and a good bit of swap for
that many users. Below some of the letters seem to imply that Linux
can keep up with the traffic, if every one os doing simple things like
editing small text files. If 4 people fired up Gcc you would have a
problem.

oh, watch out some venders will not tell you how to use there boards,
so do not buy from them. One example is the Digiboard, read below.

Of cource if you get some strange terminal with out a manual you
may have to guess at the pin connections, but most of the time
a little guessing and testing will solve that problem.

PS. Here is some saved mail.
================
From: Theodore Ts'o <tytso@athena.mit.edu>
Subject: Re: Multi-user-board under Linux
Date: 5 Mar 1993 00:17:25 -0500
Reply-To: tytso@athena.mit.edu

   From: mfrankow@hamline.edu (Mike Frankowski)
   Date: Thu, 4 Mar 1993 03:34:23 GMT

   Whoa, this is too cool. I was just looking at the 8 port board, it isn't
   expensive at all and if supported, I will be happy.

   Tech question here, how does it work then? allocates a couple of interrupts
   or does it all live off of one? if off of one, how does it know which port
   gave the information to cause the interrupt? I know, pretty basic stuff
   and I shoudl read the source, but I feel really lazy tonight, and a good
   explanation would probably help others.

All of the multi-port serial boards supported by Linux (AST FourPort,
The Usenet Serial Board II, the Bocaboards) have all the serial ports
going to a single IRQ. The reason why these boards can do this, and
standard boards do not, is that these boards were specially deigned to
have all the interrupts on their serial ports go to a single IRQ, and
they have a real OR gate to combine the interrupts together.

When the Linux serial driver gets an interrupt, it checks all of the
serial ports which are currently open, seeing if an interrupt is ready
for it; if so, it proceses it. It returns after it gets all the way
around without needing to service anything.

                                                - Ted

================
From: rchen@fraser.sfu.ca (Robert Chen)
Subject: Re: multi serial ports card on Linux?
Date: Thu, 4 Mar 1993 19:52:36 GMT

In article <1n53ofINNrdj@usenet.INS.CWRU.Edu> cc935@cleveland.Freenet.Edu (Gerrold T. Sithe) writes:
>
> And the $64,000 question is: just how far will those 8 nonintelligent
>ports get you. Assume a 486DX-50 running some application. Just how
>much CPU time is left to drive those eight ports, at 14.4kbps each, one
>character at a time? Probably not enough.
>

This might interest anyone thinking about multiport i/o boards.

My opinion is that intelligent boards are unneccessary for 99% of people.
The fear of nonintelligent boards stems from the 286 days when they
made more sense. Back then people used to say a 286 could drive 4
dumb ports, after which you needed an intelligent board. Now i486's
are easilly 4 times faster than a 286, but you never hear anyone
talking about driving 16 ports without an intelligent board.
Lets do some math on the above example:

14.4kbps = 1800 cps --> on 8 ports = 1800*8 = 14400 cps

16550's (on bocaboard) will generate one interupt in 8 chars (maybe
even better than that - I haven't read the serial driver lately)
so we have 14400/8 = 1800 interupts per second.

Lets assume 1000 i486 cycles to service a serial interupt. I will puke if it
is really that high - it is probably closer to 100 but since I don't
know I will err on the high side.

That means 1800*1000 = 1.8e6 cycles/second spent doing serial interupts.

An i486DX50 has 5.0e7 cycles/second (!)

1.8e6/5.0e7 = 3.6 percent CPU. (not a lot)
              ^^^

This is a very extreme example. I have seen *very* few BBS's that
have 8 lines simultaneously doing 14.4kbps. More likely you would
have half of those doing 2400bps. The cases where you might convince me
of a need for intelligent boards are if you are a very large number of
lines (16? more?), or if you had a few very high speed (100kbps)
nullmodem connections.

In the first case (more than 16 users/modems) I would suggest dividing
them between two computers. The second case I would suggest an
ethernet card :-)

We sell digiboards (digich PC/16i) for about $1500CAN. We can sell
you a 486, with an ethernet card and a bocaboard, for about the same
price! Silly, don't you think?

- Rob

================
From: Theodore Ts'o <tytso@athena.mit.edu>
Subject: Re: Multi-user-board under Linux
Date: 8 Mar 1993 10:05:11 -0500
Reply-To: tytso@athena.mit.edu

   From: mfrankow@hamline.edu (Mike Frankowski)
   Date: 8 Mar 93 03:30:06 GMT

   With all this in mind, theoretcially, we could have lets say 32 ports
   running using 2 boca 16 port boards then? (don't know if I would
   want that, that is alot of phone lines :).

Yup; you could. you'd need to modify rs_table[] in serial.c to make
room for the second boca 16, though; there are currently only ports
reserved for one Boca 16, from /dev/ttyS16 to /dev/ttyS31. You'd have
to add entries for another 16 ports starting at /dev/ttyS32.

Message inbox:39 - Read
From: <becker@metropolis.super.org>
To: <n3x092@rick.cs.ubc.ca>
In-Reply-To: <1ngl1tINNemk@gambier.rick.cs.ubc.ca>
Subject: Re: linux machine with multiple terminals?

>Newsgroups: comp.os.linux
>Organization: IDA Supercomputing Research Center

In article <1ngl1tINNemk@gambier.rick.cs.ubc.ca> you write:
>How hard would it be to set up a linux machine and have multiple users
>logged on using multiple ASCII terminals? What hardware would be
>required? What configuration/setup would be required? What would be
>an approximate cost per terminal? Has anyone done this?

Completely trivial from the software side, the hardware side requires
a little attention. If you need fewer than 4 serial lines, standard
PC hardware will do (with a little IRQ crunch), otherwise you should
buy an inexpensive multi-port (4,8, or 16 port) serial card with 16550
UARTS. The typical multi-port board is a 4 or 8 port board using 16554,
and it should cost about $100-$150. Stay away from the more expensive
multi-port boards, since they often have on-board processors with
proprietary interfaces.

I've set up an old Stargate 8Plus under Linux with no problems.

-- 
Donald Becker                                  becker@super.org
Supercomputing Research Center
17100 Science Drive, Bowie MD 20715                301-805-7482