HPlogo HP-UX Reference Volume 2 of 5 > e

eisa_config(1M)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

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 /sbin/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 /sbin/lib/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:

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

  • 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 /sbin/lib/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:

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

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

  • 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 /sbin/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 (/sbin/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 /sbin/lib/eisa and how many CFG files in /sbin/lib/eisa are of each type.

cfgfiles [type]

List all CFG files that are currently available for use in the /sbin/lib/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 /sbin/lib/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

/sbin/lib/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

© Hewlett-Packard Development Company, L.P.