Top Index Keyword Search

NAME

     eisa_config - EISA configuration tool

SYNOPSIS

     eisa_config
     eisa_config [-a]

     eisa_config [-c cfgfile]

     eisa_config [-n scifile]

DESCRIPTION

     eisa_config is a specialized program for configuring EISA and ISA
     (referred to collectively as E/ISA) I/O boards on HP-UX workstations
     equipped with EISA backplanes.  It is used each time the E/ISA
     configuration is to be changed in any way; i.e., whenever an EISA or
     ISA board is added to the system, removed from the system, or moved to
     a different location in the system.  eisa_config should be run before
     any physical board configuration or installation changes are made.
     (This is not necessary in some cases -- see automatic mode below.)

     eisa_config interprets information stored in configuration files and
     uses it to configure system resources needed to properly interact with
     E/ISA boards.  Even though they may be physically present in the
     computer, E/ISA boards cannot be used by the HP-UX operating system
     until configuration by eisa_config is complete.

     The eisa_config command takes one of four forms:

          eisa_config
                    Use interactive commands to examine or modify
                    configuration.  eisa_config prompts for a command,
                    executes it, reports the results of command execution,
                    then prompts for the next command.

          eisa_config -a
                    Attempt to automatically add new EISA boards to the
                    configuration.  This option is used by /etc/bcheckrc
                    but should not be used elsewhere.  ISA boards cannot be
                    added with this option.

          eisa_config -c cfgfile
                    Check configuration (CFG) file (discussed below).  This
                    option is used mostly by E/ISA board developers.  It
                    simply checks the specified CFG file to verify that it
                    follows correct grammar and can be used by eisa_config.
                    This option does not affect current configuration in
                    any way.

          eisa_config -n scifile
                    Non-target mode.  This option uses the contents of
                    scifile instead of non-volatile memory (NVM) to set up
                    E/ISA configuration, and is most commonly used for
                    creating identical configurations on multiple
                    workstations.

   Assigning Resources
     Depending on their design, internal capabilities, and their role in
     system operation, E/ISA boards use various combinations of one or more
     system resources such as DMA channels, interrupt lines, memory, etc.
     Also, given boards do not always use a full set of system resources;
     for example, EISA provides 11 interrupt lines, but a given board might
     be able to use only lines 3, 5, and 6.  Thus a means for the board to
     determine what resources are to be used must be provided.

     ISA boards use physical switches or jumpers on the board to specify
     what resources are to be used.  The person installing the board sets
     the switches or jumpers as specified by the board's manufacturer and
     based on system needs.  There are thousands of different kinds of ISA
     boards, but unfortunately there are no standard conventions for switch
     and jumper usage.  This results in much confusion and numerous
     configuration problems.  For example, it is easy to inadvertently
     assign a given resource to two different boards, but often very
     difficult to diagnose the problem.

     EISA boards usually have no switches or jumpers for resource
     assignment.  Instead, each EISA board has a corresponding
     configuration (CFG) file that tells the system how the board can be
     used and what resources it needs.  eisa_config is the HP-UX system
     program that interprets the various CFG files for all boards in the
     system, then builds a conflict-free configuration.

   Configuration Files
     All EISA boards have a corresponding CFG file.  ISA boards, when used
     in HP-UX systems, must also have a corresponding CFG file.  Although
     eisa_config cannot automatically configure an ISA board, it can use
     the contents of the CFG file to determine what switch or jumper
     settings on an ISA board can be used to prevent resource conflicts.

     eisa_config expects to find a CFG file for each E/ISA board connected
     to the workstation.  The administrator is responsible for making sure
     that these CFG files are present in directory /etc/eisa.  CFG files
     corresponding to boards being used should always be kept in this
     directory.  Do not remove them after eisa_config is run the first
     time, because they will be needed every time the configuration is
     changed, such as when a new board is added or one is removed.  Do not
     change the file names of the CFG files.  The file name has a specific
     format which is used by eisa_config to automatically match a board
     with its CFG file.

     CFG files are normally supplied by the E/ISA board manufacturer.  Two
     scenarios apply:

          o  If the E/ISA board is supplied by HP, the CFG file
             corresponding to the board is loaded into /etc/eisa as part of
             normal operating system installation.  It should never be
             removed.

          o  If the E/ISA board is not supplied by HP, install both the CFG
             file and the software driver for the board from HP-UX-readable
             media supplied by the board manufacturer.  Copy the CFG file
             to directory /etc/eisa where it must remain as long as the
             card is present in the system.

     All CFG files must follow a grammar specified in the EISA bus
     specification.  The most basic building block in the CFG grammar is
     the board.  Each board has several attributes including board ID (to
     match with a board's ID register), manufacturer, ASCII text describing
     what the board does, what kinds of slots the board can go in, whether
     the board has a readable ID register, and various other capability
     attributes.

     Each file can also contain lists of board-wide resources (such as I/O
     registers, switches, and jumpers) and how they should be initialized.

     A board can be treated as a set of one or more functions where a given
     board contains a single function or multiple functions.  An example of
     a two-function board is one having both a serial port and a parallel
     printer port.  Each function has a separate block in that board's CFG
     file.  Each function has a name, a type, and a set of configuration
     choices.

     Each choice block has a name and a set of attributes.  These
     attributes include what resources the choice requires and whether the
     function is enabled or disabled by that choice.  Initialization is
     also usually specified within a choice.  A given choice might require
     that certain registers be initialized to a specified value and that
     switches be set in a certain way.

   Configuration Processing
     E/ISA configuration is handled as follows:

          o  eisa_config builds a conflict-free configuration, then saves
             the configuration in EISA non-volatile memory (NVM).

          o  Appropriate drivers and device files must be installed before
             rebooting the system.

          o  Next time the operating system is rebooted, the HP-UX kernel
             initializes the specified E/ISA boards according to the
             contents of NVM.

     If a board is currently present in the system, but has no
     corresponding configuration data in NVM, the EISA board cannot be used
     until the eisa_config program is run again and the new board is
     accounted for in NVM.  A newly installed or existing E/ISA board is
     not usable until eisa_config has added it and the system has been
     rebooted with the necessary drivers and device special files
     installed.  See EXAMPLES for an illustration of how to add a new board
     to the system.

     It is possible to add EISA boards that do not have switches or jumpers
     to the configuration without running eisa_config interactively.  The
     /etc/bcheckrc script invokes eisa_config with automatic mode during
     each system initialization.  If a board has been added since the last
     time eisa_config was executed, eisa_config attempts to add the new
     board to the configuration.  If the new board is successfully added,
     the system may need to be rebooted (/etc/bcheckrc does this
     automatically).  If the new board could not be added to the
     configuration, a warning is written to the system console and
     /etc/eisa/config.err.

     In addition to writing to NVM, eisa_config also automatically saves
     the current configuration to an SCI file called /etc/eisa/system.sci.
     SCI files can also be created by the interactive save command (see
     below).  The E/ISA subsystem can also be initialized from an SCI file,
     rather than from NVM by using the eisa_config -n command form
     discussed earlier.  SCI files are quite useful when a site has several
     identically-configured workstations.  Run eisa_config on one system
     and save the configuration in an SCI file.  Copy this file to other
     systems, then use it to initialize those systems.  Remember that the
     configuration must be saved to NVM and the system rebooted before the
     E/ISA boards can be used.

   Drivers and Device Files
     Running eisa_config is not the only task necessary when adding an
     E/ISA board to a system.  Corresponding I/O drivers must be added to
     the kernel and appropriate device files must be created.  These steps
     are the same as is required for any I/O card, and can be performed
     either before or after running eisa_config.  The important thing to
     remember is that the E/ISA board cannot be used until all necessary
     tasks are complete.

   Interactive Commands
     If the command form eisa_config is used, eisa_config runs in
     interactive mode.  Interactive mode conducts configuration changes by
     using a series of keyboard commands.  eisa_config prompts for a
     command, executes it, displays the results of executing the command,
     then prompts for the next command.  Interactive commands are broadly
     grouped into five categories:

          action      Alter the configuration in some way.

          display     Show current configuration.

          cfg         Manage CFG files.

          comments    Display help and comments information found in CFG
                      files.

          help        Help for using eisa_config interactive commands
     The action commands are:

          add cfgfile slotnum Adds a board to the current configuration.
                              cfgfile specifies which CFG file corresponds
                              to the board and slotnum identifies the slot
                              where the board resides.

          remove slotnum      Remove a board from the current
                              configuration.  slotnum identifies the slot
                              where the board currently resides.

          move curslotnum newslotnum
                              Move a board that is currently configured in
                              one slot to a different slot.  curslotnum and
                              newslotnum specify the current and new slot
                              numbers, respectively.

          change slotnum functionnum choicenum
                              Change the choice used for a given function.
                              All three arguments, slotnum, functionnum,
                              and choicenum are required.  The function
                              number (functionnum) and choice number
                              (choicenum) can be obtained by using the show
                              board command on the slot in question.
                              Function numbers are of the format Fnum and
                              choice numbers are of the format CHnum.  Note
                              that a board must already be part of the
                              configuration before the change command can
                              be used.

                              When eisa_config adds a board, it selects a
                              choice for each function.  Generally, the
                              first choice for each function is selected
                              (the default).  However, in order to resolve
                              conflicts, eisa_config may select a different
                              choice for a given function.  When specifying
                              a choice for a particular function by use of
                              the change command, eisa_config always uses
                              that choice; it does not select a different
                              one, even when a conflict needs to be
                              resolved.

          save [filename]     Save the current configuration.  If the
                              current configuration is not conflict-free, a
                              warning is produced and the save is not done.
                              If you specify a file name, the save is done
                              to that file; otherwise, the save is done to
                              NVM (and the /etc/eisa/system.sci file).
                              Note that the quit command also (optionally)
                              saves the configuration to NVM (and file
                              /etc/eisa/system.sci).

                              When the configuration is saved to NVM, a log
                              file is created that provides a brief
                              desription of the new configuration.  The log
                              file is named /etc/eisa/config.log, and
                              contains information generated by a show
                              command, followed by a show board command,
                              followed by a show switch command.

          init [filename]     Initialize the configuration.  The initial
                              configuration is retrieved from a file if one
                              has been specified.  Otherwise, it is
                              retrieved from NVM.  Note that an implicit
                              init is done when eisa_config is first
                              started.  This command should only be used
                              when the current configuration eisa_config is
                              dealing with is incorrect.  For example, if
                              you make some changes that you decide you do
                              not want, you can use this command to start
                              over.

          quit                Leave eisa_config.  If the configuration is
                              conflict-free and has been changed, you are
                              asked if you want to save the configuration
                              (to NVM).  If any switches or jumpers have to
                              be changed as a result of this new
                              configuration, you are notified of these
                              changes prior to saving the configuration.
                              Be sure that all switches and jumpers match
                              what eisa_config has specified before booting
                              the system.

                              When the configuration is saved to NVM, a log
                              file is created that provides a brief
                              desription of the new configuration.  The log
                              file is named /etc/eisa/config.log, and
                              contains information generated by a show
                              command, followed by a show board command,
                              followed by a show switch command.

     The show (display) commands are:

          show                List all slots and their current status;
                              i.e., whether occupied by a particular board,
                              or empty.

          show slots cfgfile  List all of the slots that could accept the
                              board corresponding to the CFG file cfgfile.

          show board [cfgfile|slotnum]
                              List the basic attributes for the selected
                              board or boards.  Includes a list of all the
                              functions on the board and a list of all
                              available choices for each function.  If the
                              board is currently part of the configuration,
                              the currently selected choice is marked.  The
                              default choice is the first choice listed for
                              each function.  If a board is not specified
                              (either by CFG file name or slot number),
                              information is displayed for each of board
                              installed and configured in the system.

          show switch  [ changed ] [slotnum]
                              List the switch and jumper settings (both
                              default and required) for the boards in the
                              configuration.  If the keyword changed is
                              used, only those switches and jumpers that
                              were changed from the previous configuration
                              are displayed.  If a slot number is
                              specified, only switches and jumpers on the
                              board in that slot are displayed.  Note that
                              show switch supports all combinations of
                              changed and slotnum.

     There are two kinds of cfg commands:

          cfgtypes            List the types of boards that have CFG files
                              in directory /etc/eisa and how many CFG files
                              in /etc/eisa are of each type.

          cfgfiles [type]     List all CFG files that are currently
                              available for use in the /etc/eisa directory.
                              If a specific board type is specified, only
                              CFG files of that type are displayed.

     comment commands extract the help and comments text provided in the
     specified CFG file or files.  Both help and comments are displayed if
     they are available.  Each command form accepts as an argument either a
     CFG file or a slot number identifying which board you want help for.

          comment board [cfgfile|slotnum]
                              Display board-level help and comments.

          comment function [cfgfile|slotnum]
                              Display function-level help and comments.

          comment choice [cfgfile|slotnum]
                              Display choice-level help.

          comment switch [cfgfile|slotnum]
                              Display help and comments for switches and/or
                              jumpers as appropriate.

          Note that all arguments (except the type of comments requested)
          are optional.  If no optional argument is specified, all
          available comments for the specified file or board are extracted.
          For example:

          comment board 1     Display help and comments available for the
                              board currently configured in slot 1.

          comment board       Display help and comments available for all
                              currently configured boards.

     The help commands explain how to use the eisa_config interactive
     commands.  If no other arguments are given, help is displayed for all
     of the interactive commands.  Alternatively, any valid command can be
     used as a argument to the help command.  Help is then given for the
     specified command only.

          help                Display a brief explanation of all valid
                              eisa_config interactive commands.

          help [cmdname]      Display an explanation of the command
                              specified.

EXAMPLES

     Add a new E/ISA board to the system:

          1. Load the CFG file (from media provided by the manufacturer)
             into directory /etc/eisa if the file is not already present.

          2. Run eisa_config.  eisa_config reads the contents of NVM to
             obtain current system configuration.

          3. Use the interactive add command to add the new board.
             eisa_config reads the corresponding CFG file to obtain needed
             configuration information.

          4. Exit eisa_config, noting any required switch or jumper
             settings.  eisa_config generates a new configuration and
             writes it to NVM.  The required switch and jumper settings are
             also saved in the log file /etc/eisa/config.log.

          5. Add the correct software drivers for the board (and board
             devices) to the kernel, and use mknod(1M) to create any needed
             device special files.

          6. Shut down and disconnect power to the system.

          7. Install the E/ISA board after changing any switch or jumper
             settings required by eisa_config.

          8. Reboot the system.  When the system is running again, the
             contents of NVM will match the E/ISA boards present in the
             system, and the newly added board can be used immediately.

     This procedure can also be used to add multiple new boards at the same
     time.  Simply use the add command once for each board and alter the
     other steps as appropriate.

     If the board to be added is an EISA board that does not have switches
     or jumpers, the board can be added via automatic mode; that is, steps
     2-4 above can be skipped.

AUTHOR

     eisa_config was developed by HP and Compaq.

FILES

     /etc/eisa/!XXX0000.CFG                  CFG files
     /etc/eisa/config.err                    errors encountered in
                                             automatic mode
     /etc/eisa/config.log                    log file containing current
                                             E/ISA configuration
     /etc/eisa/system.sci                    mirror image of configuration
                                             saved to NVM

SEE ALSO

     config(1M), mknod(1M).


Hewlett-Packard Company		HP-UX Release 9.0: August 1992