Hello kamran,

> Would be kind enough to send me a diagram of this
> configuration.  I do not know how you can concentarte
> serial lines into a workstation and what parts are used.
> We have 8-port MUX's, but I have always done it the other
> way ( from server with serial lines to ASCII terminals).
> How do you use an Xterminal capable workstation to
> accept the lines from consoles?  Thanks.

The short answer ::

Each server's console serial port is run to a serial mux.  The
mux is connected via SCSI to an SBUS card in a Sun SPARCstation.
The Sun SPARC, we call it a console concentrator machine, is running 
a software package that attaches each serial port on the multiplexer 
to a unique process with TTY and file logging capabilities.  The lash-up
looks something like this:

          -------          ------------
IBM ---> |       |        |            |
IBM ---> |Serial |  SCSI  |    Sun     |  Ethernet
... ---> |  Mux  |========|  SPARC-I+  |--------------> PNL networks
Sun ---> |       |        |            |
Sun ---> |       |        |            |
... ---> |       |        |            |
          -------          ------------

If you care for more info, keep reading.  Below are two files which
document the hardware and software configuration currently in use at PNL.

Hope this helps,

-- Tom

/*<*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*>*/
 Thomas A. Harper        Pacific Northwest Laboratories (PNL), Battelle
 Sr. Research Scientist  Environmental and Molecular Sciences Laboratory
 [EMAIL PROTECTED]       M/S K1-87,  P.O. Box 999
 509.375.6904 Fax:6631   Richland, WA  99352
/*<*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*>*/

The long answer ::

------------------------------------------------------------------------------
FILE: /msrc/doc/apps/conserver
------------------------------------------------------------------------------


NAME
     conserver, Version 5.12 92/11/03 17:25:07
                Copyright (c) 1990 The Ohio State University
                Copyright 1992 Purdue Research Foundation

STATUS
     Platform - Sun4c and Sun4m running SunOS 4.1.X
     License - N/A
     Last updated - December, 1993
     First installed - December, 1993
     Software maintenance contract -  N/A

DESCRIPTION
     The EMSL console concentration system (CCS) is a combination of
     hardware and software which allows one UNIX workstation to act as the
     keyboard and video display for many other workstations.  The workstation
     providing this service is know as the console server.  The console server
     provides a dedicated serial TTY device to each client machine and
     multiplexes the serial streams through a daemon process.  Through this
     daemon, any of the console streams may be connected to a shell process on
     either the console server or a remote workstation.  This remote access
     allows a system administrator to use the machine on her desk as the
     console for any server connected to the CCS.
 
NOTES
     This system is for use by EMSL system administration staff and
     is not intended as a general user application.  If a user requires
     access to the console system, please coordinate with one of the contacts
     listed below.
     
ENVIRONMENT
      The path should include: /msrc/dist/conserver/bin

FILES
     Executables - /msrc/dist/conserver/bin
     Distribution - /msrc/proj/dist/conserver

SEE ALSO
     UNIX manual pages for 'console' and 'conserver'
     Documentation in 'Console' in /msrc/doc/apps

CONTACTS
     Administration -  Bill Pitre
     Primary user -  Bill Pitre, Randy Hinds, Tom Harper

------------------------------------------------------------------------------
FILE: /msrc/doc/apps/Console
------------------------------------------------------------------------------

EMSL Console Concentration System (CCS)

Tom Harper
[EMAIL PROTECTED]
Battelle, Pacific Northwest Laboratories
November, 1993

1       Overview

1.1     What is the Console Concentration System

The EMSL console concentration system (CCS) is a combination of
hardware and software which allows one UNIX workstation to act as the
keyboard and video display for many other workstations.  The workstation
providing this service is know as the console server.  The console server
provides a dedicated serial TTY device to each client machine and
multiplexes the serial streams through a daemon process.  Through this
daemon, any of the console streams may be connected to a shell process on
either the console server or a remote workstation.  This remote access
allows a system administrator to use the machine on her desk as the
console for any server connected to the CCS.

1.2     Benefits of using the CCS

The CCS provides several benefits over a traditional configuration of one
keyboard and video display per server.  The first is cost.  Using CCS,
servers may be purchased without a keyboard, monitor or display adapter
card.  Because monitors are large, bulky devices, this system saves
considerable space in the machine room.  Also, without monitors, standard
UNIX workstations can be rack mounted for additional space savings.  A
side effect of using fewer monitors is a reduced system power
requirement.  This saves money and reduces the amount of UPS required in
the machine room.

The most important advantage of the CCS is the enhanced capability it
provides to the operations staff.  A system administrator may export any
or all server consoles to a remote workstation.  System installs,
upgrades, reboots, etc. may be done without physical access to the
servers.  Administrators with a computer at home now have the ability to
troubleshoot problems 24 hours a day.

1.3     Disadvantages of the CCS

Because a single machine acts as the console for multiple servers, this
system is susceptible to a single-point failure; the loss of the console
server will impact the entire system.  Fortunately, the server machines
continue to run without the console server so contingency plans can be
developed to deal with this inevitable event.

Because the machines will continue to run without the console, they will
remain accessible through the network.  As long as physical access is not
required, network access should be sufficient for day to day activities.  To
prepare for the case when both the console server and the network
connections are unavailable, an ASCII terminal must be kept available as a
replacement for the failed console server.  

1.4     EMSL CCS Configuration

The EMSL CCS system consists of a Sun SPARCStation-1 with a black and white
monitor, a DEI SBus adapter card, a SCSI cable which attaches the adapter card
to the DEI serial port expansion chassis.  The chassis contains three cards 
with eight serial ports and one parallel port per card.

                 SCSI Cable
             +++++++++++++++++++
             +                 +
       ------+---         -----+------   /
      |     | |  |       | ========== | /   Serial lines to 
      |     | |  |       | ========== | --  server workstations
      |      -   |       | ========== | \
      |    Sbus  |       |            |  \
      |    card  |        ------------
      |          |         DEI Chassis
       ----------
        Sun SS1

2       DEI Serial Port Expansion System

2.1     Overview
 
The Serial Port Expansion System adds up to 32 serial ports and four
parallel ports to a Sun workstation via an SBus adapter card which drives
a small four slot expansion chassis.  Cards with 8 serial ports and 1
parallel port slide into the chassis.  Up to four expansion systems can be
connected to a single workstation increasing the serial port count to 96.

The DEI product includes a software system, MultiPort Menus, which is a
curses based application that guides a user through the setup and
troubleshooting of UNIX serial ports.  The application configures the ports
and provides diagnostic capabilities such as a software breakout box.  

2.1.1   Resources

        Manuals: Read Me First For Installing the GNP Computers DEI
                 Installing and Using the DEI-1 Serial Expander, Nov. 91       -
        Vendor:  GNP Computers
                 1254 East Colorado Blvd.
                 Pasadena, CA  91106
                 Tel: 818.577.4252
                 FAX: 818.577.4263
                 Contact: William M. Barry

2.2     Hardware Installation

The hardware installation is very straight forward.  The process is
explained in the "Installing and Using" guide listed above.  The SBus
adapter card should be installed in the first SBus slot if at all possible. 
The TTY number of the expansion serial ports is dependent on the interrupt
level of the SBUS driver card.  If a different SBus slot is used, the serial
ports will start with TTY30 (slot 1) or TTY60 (slot 2), etc. instead of
TTY00.  With the SBus card installed, attach a SCSI cable between the card
and the expansion chassis.

The hardware is sensitive to the ROM level in Sun SPARCstation-1
workstations.  The ROM level must be above version 2.0 for the SBus
adapter card to be recognized.  This is not documented in the manual.

2.3     Software

The DEI software system consists of two parts:  1) the device driver
which allows the UNIX kernel to use the additional serial ports, and 2)
MultiPort Menus, which is used to configure the ports.

2.3.1 Software Installation

All software is installed into the directory /etc/modules on the console
server, con.pnl.gov.  Executables are in /etc/modules/bin.

2.3.1.1 Serial Port Device Driver

Chapter three of "Installing and Using" details the installation procedure
for the device driver.  The device driver can be installed as a loadable
driver, or it can be built into a custom kernel.  Currently, it is installed as
a loadable device driver.

2.3.1.2 MultiPort Menus

Multiport Menus is copied to the workstation automatically during the
installation procedure.  To activate the software, you must call GNP
computers (818.577.4352) and get a unique key value from the vendor.  This 
key is input to the program dei_license which turns on the software.

The executable /etc/modules/bin/dei_config manages the port configuration and 
trouble-shooting tools.  This software is described in chapter 9 of "Installing and 
Using", but the package is very easy to use so I recommend skipping the
manual and just poking around.

3       Console Concentration Software System

The software half of this system uses the multiple serial ports described
above to provide consoles to other UNIX workstations.  The software is
stored in the MSRC AFS cell under /msrc/dist/conserver.

For documentation under this tree there is:

        conserver/README

        conserver/conserver/README
        conserver/conserver/INSTALL
        conserver/conserver/Makefile
        conserver/conserver/Sun-serial          cable pin-out for suns
        conserver/console/conserver.8l          man page

        conserver/console/README
        conserver/console/INSTALL
        conserver/console/Makefile
        conserver/console/console.8l            man page
         
3.1     Installation

To build the conserver system, first print out and read the above files.  
Next, follow the instructions in conserver/conserver/INSTALL.  This gives 
a procedure for building and testing the console server.  The changes required 
to make conserver build on the SPARC-1 were minor.  The original contents of 
any changed files was saved as filename.orig.

The console portion of this system, in conserver/console, has very complete
makefiles which will build the console application for a variety of UNIX
workstations.  No modifications were required to build the Sun4 version.

4       CCS Configuration

The console server is kicked off via /etc/rc.local:

        # Start console server
        #
        if [ -f /usr/con/bin/start_con ]; then
               /usr/con/bin/start_con
        fi

The start_con script:

        #
        # Start console server
        #
 
        echo 'Starting Console Server'
        if [ -f /usr/con/bin/conserver ]; then
          echo 'Starting EMSL console server'
          if [ -f /usr/con/logs/CON_LOG ]; then
            mv /usr/con/logs/CON_LOG /usr/con/logs/CON_LOG.`/bin/date \
                ++%m%d%y.%H%M`
            touch /usr/con/logs/CON_LOG
          fi
          /bin/nice -4 /usr/con/bin/conserver -v >/usr/con/logs/CON_LOG \
                2>&1 </dev/null&fi
        #

This script starts the console server and directs any conserver messages
to /usr/con/logs/CON_LOG.  Old logs are time-stamped and saved so
information will not be over written at reboot.

The conserver is hard-coded to find its configuration file:

conserver/conserver/cons.h:#define CONFIG           "/usr/con/emsl.cf"

This EMSL configuration file contains the mapping between server console,
TTY device, and logfile.  At this moment, the file contains:

        # EMSL Console Configuration File
        #
        # list of consoles we serve
        # name : tty[@host] : baud[parity] : device : group

  ** NOTE ** Local configuration deleted for external distribution.

The last number on each console description line, group, defines which
ports will be serviced together by a single daemon process.  Each group 
daemon has been defined to manage at most 5 console processes.  Servers are
placed randomly into groups because there in no known advantage to
grouping servers of a particular function together.

The console server only reads the configuration file on initial startup.  To
make the console system aware of any changes made to the configuration file,
the conserver daemon processes must be killed and restarted:

        ps -auxww | grep conserver
        Note the "process numbers" of the conserver daemons
        kill -15 "process numbers"
        /usr/con/bin/start_con

4.1     CCS Usage

To start a process to watch a server console:

        /msrc/dist/conserver/bin/emsl_con -vA <server name>
         
You will be prompted for a password, which is the root password to the
console server machine, con.pnl.gov.  In an X environment, the csh script
/msrc/dist/conserver/bin/xcon:

        #!/bin/csh -f

        #
        # Bill Pitre 12/02/93
        #
        xterm -title $1 -e emsl_con -vA $1
        exit

will open an xterm with the connection established.  Once connected, an
escape sequence is used to interact with the console server: ^Ec 
( <CNTRL>-E followed by c).  ^Ec? gives the following help information:

 .    disconnect                         a    attach read/write
 e    change escape sequence             f    force attach read/write
 g    group info                         r    replay the last 20 lines
 u    show host status                   v    show version info
 w    who is on this console             x    show console baud info
 z    suspend the connection             <cr> ignore/abort command
 ?    print this message                 ^R   short replay

4.1.1 Escape Sequences

The connection can be controlled by a two  character  escape
sequence,   followed  by  a  command.   The  default  escape
sequence is ``control-E c'' (octal 005 143).  Commands are:

     a    switch to attach read/write mode  
     c    toggle  flow  control (don't  do  this)  
     d    down the current console 
     e    change the escape sequence to the next two characters 
     f    force  a switch to attach read/write mode 
     l1   send a 3 second serial line break (send Halt to a Sun) 
     o    reopen  the  line  to  clear  errors (silo  overflows)  
     r    replay  the  last 20 lines of output
     s    switch to spy mode u    show other users on  this  port
     v    show  the version of the group server 
     w    who is using this console 
     x    examine this group's  devices  and  modes.
     z    suspend  this  connection ?    display list of commands
     ^I   toggle tab expansion 
     ^J   continue, ignore  the  escape

4.1.2  Session Managament

For a typical console session, a user from a remote workstation will:

     /msrc/dist/conserver/bin/xcon "remote server"

In a new xterm window, you will see:

     emsl_con: attach to "remote server name" (on con.pnl.gov)
     Enter `^Ec?' for help.
     Enter password:

Enter the root password for con.pnl.gov and you will be attached to the
console of the remote server.  If another user has a console open to the
same machine, you will be attached in "spy" mode, or "read-only" mode.  To
force the other user off the system and take control of the console, enter:

     ^Ecf

Now that you have control of the console, logon to the remote server, take
care of the business at hand, and then leave the console open for other
users by disconnecting:

     ^Ec.

Because each session is an independent window and a separate logical connection,
you may have multiple consoles active at any time.

Reply via email to