Document revision date: 19 July 1999
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]

OpenVMS System Manager's Manual


Previous Contents Index

7.4.2 Manually Connecting Devices and Loading Device Drivers (Alpha Only)

On Alpha systems, commands for connecting devices and loading their drivers are in the System Management utility (SYSMAN). All SYSMAN commands that control and display the I/O configuration on an Alpha system contain the prefix IO.

Whenever possible, it is preferable to use the IO AUTOCONFIGURE command to connect standard devices and load device drivers.

IO AUTOCONFIGURE does not connect or load the device driver for the network communications logical device. In addition, other devices and drivers might exist that IO AUTOCONFIGURE does not connect and load.

You can connect unattached devices and devices that have nonstandard names, as well as load device drivers with the SYSMAN commands IO CONNECT and IO LOAD.

For more information, refer to the SYSMAN section of the OpenVMS System Management Utilities Reference Manual and the Writing OpenVMS Alpha Device Drivers in C.

Caution

Exercise great care in issuing IO CONNECT and IO LOAD commands. Incorrect use of these commands could cause the system to fail.

To connect the network communications logical device on Alpha systems, run SYS$MANAGER:STARTNET:


$ @SYS$MANAGER:STARTNET

Example

The commands in the following example autoconfigure the devices physically attached to the Alpha system, load their drivers, and connect the network software device:


SYSMAN> IO AUTOCONFIGURE ALL
SYSMAN> EXIT 
$ @SYS$MANAGER:STARTNET 
 
 

7.4.3 Suppressing the Autoconfiguration of Devices

Autoconfiguration of devices saves effort and reduces the possibility of error. However, you might want to suppress autoconfiguration for the following reasons:

To suppress autoconfiguration, add the following command as the last line of SYS$MANAGER:SYCONFIG.COM:


$ STARTUP$AUTOCONFIGURE_ALL == 0 

Caution

If you set STARTUP$AUTOCONFIGURE_ALL to 0 in the last line of SYCONFIG.COM, the CONFIGURE phase of STARTUP.COM will not execute. As a result, DSSI or HSC controllers (except for a controller through which the system booted) and MSCP-served devices on remote nodes will not be available and satellite nodes will not be able to access network devices and boot disks. This could prevent satellite nodes from booting.

To suppress autoconfiguration, and still configure HSCs and MSCP-served devices on remote nodes, add the following lines to the end of SYCONFIG.COM:


$ STARTUP$AUTOCONFIGURE_ALL == 0 
$ @SYS$SYSTEM:STARTUP CONFIGURE 
$ EXIT 

These commands suppress autoconfiguration and yet still execute the CONFIGURE phase of STARTUP.COM.

However, if you add the command @SYS$SYSTEM:STARTUP CONFIGURE to SYCONFIG.COM, AUTOGEN will fail with the following error:


%RUN-F-CREPRC, process creation failed 
-SYSTEM-F-DUPLNAM, duplicate name 

This error is caused because SYCONFIG.COM is invoked by both STARTUP.COM and AUTOGEN. When AUTOGEN runs, the CONFIGURE process already exists (it was started when SYCONFIG.COM was executed by STARTUP.COM). When AUTOGEN invokes SYCONFIG.COM, the command you added attempts to start a second CONFIGURE process. This command fails, causing AUTOGEN to fail.

7.5 Automatically Configuring Devices for OpenVMS Alpha Systems

Autoconfiguration is the process of discovering the hardware devices on a system and loading the appropriate device drivers. File-based autoconfiguration is a feature that enables OpenVMS Alpha to automatically configure third-party hardware devices.

Beginning with OpenVMS Alpha Version 7.1, device configuration tables are constructed from ASCII text files on the OpenVMS Alpha operating system disk. By adding simple descriptions of their devices in the appropriate ASCII text file, third parties and end users can configure non-Compaq supported devices and load user-written device drivers.

The following sections briefly explain device configuration and describe how to use the new file-based autoconfiguration method to configure non-Compaq supported devices.

7.5.1 Understanding Device Configuration

A device is configured on OpenVMS when system code is able to locate it on a bus, give it a name, and load a device driver for it. When a device is autoconfigured, all these steps happen without any user intervention.

OpenVMS discovers devices during the boot process in a bus-specific manner. The discovery process includes storing data about detected devices in bus-specific data structures. These data structures are later used to search configuration tables of known devices. The configuration table provides the information necessary to determine the driver name, the device name, and other parameters for loading and connecting the appropriate driver.

Prior to OpenVMS Alpha Version 7.1, configuration tables were built into the OpenVMS kernel and could not be modified without replacing a system image. As of OpenVMS Alpha Version 7.1, the configuration tables are constructed from ASCII text files on the system disk. A system file (SYS$SYSTEM:SYS$CONFIG.DAT) is provided for all OpenVMS supported devices, and a user file (SYS$SYSTEM:SYS$USER_CONFIG.DAT) is provided for all third-party, layered-product, and user-written device drivers. The system reads these files during the boot process and uses the files to create a set of configuration tables. These tables are used for subsequent autoconfiguration of hardware devices. Although the tables are built from two files and collected by bus type, they can be considered one logical configuration table of known devices.

Section 7.5.2 describes how to use the SYS$SYSTEM:SYS$USER_CONFIG.DAT file to autoconfigure devices.

7.5.2 Using File-Based Autoconfiguration

File-based autoconfiguration reads two files during system boot to build the configuration tables of known devices:

Both files use the same format, and the data from both files are combined to create the configuration tables for each bus on the system. The SYS$USER_CONFIG.DAT file is read first, and takes precedence over any duplicate device descriptions contained in both files. If multiple device descriptions exist in a single file, the first occurrence of the description is used.

The configuration files consist of device description blocks, each of which provides the information needed to configure the correct device driver for a device.

Each device description block consists of a series of statements starting with a DEVICE keyword and ending with the END_DEVICE keyword. Between these two keywords, additional keywords define the hardware ID, the device name, the driver name, the bus type, and any other required or optional information.

The SYS$USER_CONFIG.DAT file is an ASCII text file, which can be processed with any utility that handles variable-length record files (for example, a text editor or DCL commands).

Note

The SYS$CONFIG.DAT file is read-only and should not be modified by users or by third parties. It should only be modified by Compaq, and it might be replaced by OpenVMS upgrades. Inappropriate edits to this file could result in the inability to boot the system.

7.5.2.1 Adding Descriptions to SYS$USER_CONFIG.DAT

Statements in the SYS$SYSTEM:SYS$USER_CONFIG.DAT take the general form:


KEYWORD = value 

where the value is a string, a quoted string, or a numeric value. The END_DEVICE keyword has no associated value. For example, a minimal description of a non-disk device might look like the following:


DEVICE          = "My device" 
 NAME           = UU 
 DRIVER         = USER$UUDRIVER 
 ID             = 0x0005111 
 ADAPTER        = PCI 
 FLAGS          = NOVECTOR 
END_DEVICE 

In this example, the description indicates that when a device with the hardware ID of 5111 (hex) is found on a PCI bus, the device named UU should be configured, and the USER$UUDRIVER device driver should be loaded. This example also specifies that the driver does not want to be connected to an interrupt vector. (If the bus information had a vector, it would be ignored.)

In addition to the values shown in the previous example, the following implied values can also be specified:


UNITS           = 1 
NUM_VECTORS     = 1 

These values usually default to the correct values for a single unit controller.

7.5.2.2 Configuration File Syntax

The following syntax rules apply to the SYS$USER_CONFIG.DAT file.

7.5.2.3 Device Descriptions

A minimal device description consists of DEVICE, NAME, DRIVER, ADAPTER, and END_DEVICE statements. The following keywords are defined for file-based autoconfiguration device descriptions:

Table 7-1 indicates keywords that can be included in the configuration file.

Table 7-1 Keyword Summary
Keyword Required Description
DEVICE Yes Begins a device description
END_DEVICE Yes Ends a device description
ID Yes Specifies the hardware ID
NAME Yes Device name
DRIVER Yes Driver name
ADAPTER Yes Adapter type
UNITS No Units Default: 1
FLAGS No Device flags: Default: No flags
PRIVATE_DATA No Specifies private data
BEGIN_PRIVATE No Specifies start of private data
END_PRIVATE No Specifies end of private data
NUM_VECTORS No Number of vectors Default: 1

7.5.2.4 Rebuilding the SYS$USER_CONFIG.DAT File

The REBUILD keyword requests SYSMAN to rebuild the configuration tables attached to each of the adapter blocks by re-reading and parsing SYS$SYSTEM:SYS$USER_CONFIG.DAT and SYS$SYSTEM:SYS$CONFIG.DAT. The REBUILD command will always rebuild all of the configuration tables, regardless of the type of bus. It is then necessary to re-execute the AUTOCONFIGURE command to load the device drivers for any newly defined devices:


$ MC SYSMAN IO REBUILD 
$ MC SYSMAN IO AUTOCONFIGURE 

Note that once a driver has been loaded for a device, it cannot be reloaded.

The MC SYSMAN IO REBUILD/VERIFY command causes SYSMAN to read and process the SYS$SYSTEM:SYS$USER_CONFIG.DAT and SYS$SYSTEM:CONFIG.DAT files, but not to rebuild the configuration files for OpenVMS. Messages will be displayed for any errors that are encountered. This command can be used by developers to test new changes to SYS$SYSTEM:SYS$USER_CONFIG.DAT without modifying the current system.

7.5.3 Supported Buses for User Devices

File-based autoconfiguration is supported for user-written device drivers on PCI, ISA, EISA, and TURBOchannel buses. This section includes additional information specific to configurations.

7.5.3.1 ISA Device Configuration

ISA devices do not provide a readable device ID that can be discovered during bus probing. A user must explicitly indicate the presence of the device at the console and must also reserve resources for the device at the console (IRQs, I/O ports, etc.). Once the device is known to the console, OpenVMS can then autoconfigure it using file-based autoconfiguration.

ISA devices may be used on either an ISA bus or an EISA bus. If the system has an ISA bus, the device is configured at the console using ISACFG. If the system has an EISA bus, the ISA device is configured using ECU. Both console utilities allow the users to reserve device resources.

7.5.3.1.1 Configuring ISA Devices on the ISA Bus

In previous versions of OpenVMS Alpha, ISA devices on an ISA bus required an entry in the SYS$MANAGER:ISA_CONFIG.DAT file that defined the hardware and the use of the console command ISACFG to reserve system resources like IRQs.

Caution

Beginning with OpenVMS Alpha Version 7.2, the ISA_CONFIG.DAT file will no longer be supported. Refer to Section 7.5.4 for more information.


Previous Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
6017PRO_025.HTML