HP OpenVMS Systems Documentation
OpenVMS System Management Utilities Reference Manual
This example shows how you can define logical names for VAX and Alpha nodes in a dual-architecture heterogeneous cluster, so that you can use the DO command to install architecture-specific images.
Terminates the SYSMAN session and returns control to the DCL command level. Any profile changes, established on the local node with the command SET PROFILE, are restored to their values at the time SYSMAN was invoked. You can also press Ctrl/Z to exit at any time.
Provides online help for using the SYSMAN commands, parameters, and qualifiers. Press Ctrl/Z to exit.
IO AUTOCONFIGURE (Alpha Only)
On Alpha systems, automatically identifies and configures all hardware devices attached to a system by connecting devices and loading their drivers. On VAX systems, use the SYSGEN command AUTOCONFIGURE.
The IO AUTOCONFIGURE command identifies and configures all hardware devices attached to a system. VAX system managers use the SYSGEN command AUTOCONFIGURE. It connects devices and loads their drivers. You must have CMKRNL and SYSLCK privileges to use the IO AUTOCONFIGURE command.
SYSMAN> IO AUTOCONFIGURE/EXCLUDE=DKA0
This command autoconfigures all devices on the system except DKA0.
IO AUTOCONFIGURE automatically configures all standard devices that are physically attached to the system, except for the network communications device.
SYSMAN> IO AUTOCONFIGURE/LOG
The /LOG qualifier displays information about all the devices that AUTOCONFIGURE loads.
On Alpha systems, connects a hardware device and loads its driver, if the driver is not already loaded. On VAX systems, use the SYSGEN command CONNECT.
You must have CMKRNL and SYSLCK privileges to use the IO CONNECT command.
Be very careful when issuing an IO CONNECT command because the system does little error-checking. A misspelled device name, for example, will damage the I/O database and could cause the system to fail.
IO CONNECT device-name[:]
device-name[:]Specifies the name of the hardware device to be connected. The device name requires the following format:device-type controller unit-number
For example, in the designation LPA0, LP is a line printer on controller A at unit number 0. If you use the /NOADAPTER qualifier, the device is the software to be loaded.
/ADAPTER=tr_numberSpecifies the nexus number of the adapter to which the specified device is connected. It is a nonnegative 32-bit integer. The /NOADAPTER qualifier indicates that the device is not associated with any particular hardware. The /NOADAPTER qualifier is compatible with the /DRIVER_NAME qualifier only.
/CSR=csr_addressSpecifies the CSR address for the device being configured. This address must be specified in hexadecimal. You must precede the CSR address with %X. The CSR address is a quadword value that is loaded into IDB$Q_CSR without any interpretation by SYSMAN. This address can be physical or virtual, depending on the specific device being connected:
- /CSR=%X3A0140120 for a physical address
- /CSR=%XFFFFFFFF807F8000 for a virtual address (the sign extension is required for Alpha virtual addresses)
This qualifier is required if /ADAPTER=tr_number is specified.
/DRIVER_NAME=filespecSpecifies the name of the device driver that you are loading. If you do not specify this qualifier, SYSMAN obtains the default in the same way that the SYSGEN default name is determined. For example, if you want to load the Compaq-supplied SYS$ELDRIVER.EXE, the prefix SYS$ must be present. Without the SYS$, SYSMAN looks for ELDRIVER.EXE in SYS$LOADABLE_IMAGES. This implementation separates the user device driver namespace from the Compaq-supplied device driver namespace.
/LOG=(ALL,CRB,DDB,DPT,IDB,SB,UCB)Controls whether SYSMAN displays the addresses of the specified control blocks. The default value for the /LOG qualifier is /LOG=ALL. If /LOG=UCB is specified, a message similar to the following one is displayed:
%SYSMAN-I-IOADDRESS, the UCB is located at address 805AB000
/MAX_UNITS=maximum-number-of-unitsSpecifies the maximum number of units the driver can support. The default is specified in the driver prologue table (DPT) of the driver. If the number is not specified in the DPT, the default is 8. This number must be greater than or equal to the number of units specified by /NUM_UNITS. This qualifier is optional.
/NUM_UNITS=number-of-unitsSpecifies the number of units to be created. The starting device number is the number specified in the device name parameter. For example, the first device in DKA0 is 0. Subsequent devices are numbered sequentially. The default is 1. This qualifier is optional.
/NUM_VEC=vector-countSpecifies the number of vectors for this device. The default vector count is 1. The /NUM_VEC qualifier is optional. This qualifier should be used only when using the /VECTOR_SPACING qualifier. When using the /NUM_VEC qualifier, you must also use the /VECTOR qualifier to supply the base vector.
/SYS_ID=number-of-remote-systemIndicates the SCS system ID of the remote system to which the device is to be connected. It is a 64-bit integer; you must specify the remote system number in hexadecimal. The default is the local system. This qualifier is optional.
/VECTOR=(vector-address,...)Specifies the interrupt vectors for the device or lowest vector. This is either a byte offset into the SCB of the interrupt vector for directly vectored interrupts or a byte offset into the ADP vector table for indirectly vectored interrupts. The values must be longword aligned. To specify the vector address in octal or hexadecimal, precede the address with %O or %X, respectively. The /VECTOR qualifier is required when you use the /ADAPTER=tr_number qualifier or the /NUM_VEC=vector-count qualifier. You can list up to 64 vectors.
/VECTOR_SPACING=number-of-bytes-between-vectorsSpecifies the spacing between vectors. Specify the amount as a multiple of 16 bytes. The default is 16. You must specify both the base vector with /VECTOR and the number of vectors with /NUM_VEC. This qualifier is optional.
The IO CONNECT command connects a hardware device and loads its driver, if the driver is not already loaded. VAX system managers use the SYSGEN command CONNECT. You must have CMKRNL and SYSLCK privileges to use the IO CONNECT command.
The chapter "Managing Peripheral Devices" in the OpenVMS System Manager's Manual contains information about file-based device configuration support.
SYSMAN> IO CONNECT DKA0:/DRIVER_NAME=SYS$DKDRIVER/CSR=%X80AD00- /ADAPTER=4/NUM_VEC=3/VECTOR_SPACING=%X10/VECTOR=%XA20/LOG %SYSMAN-I-IOADDRESS, the CRB is located at address 805AEC40 %SYSMAN-I-IOADDRESS, the DDB is located at address 805AA740 %SYSMAN-I-IOADDRESS, the DPT is located at address 80D2A000 %SYSMAN-I-IOADDRESS, the IDB is located at address 805AEE80 %SYSMAN-I-IOADDRESS, the SB is located at address 80417F80 %SYSMAN-I-IOADDRESS, the UCB is located at address 805B68C0
The command in this example connects device DKA0, loads driver SYS$DKDRIVER, and specifies the following data:Physical CSR address
Number of vectors
Spacing between vectors
Interrupt vector address
The /LOG qualifier displays the addresses of all control blocks, as shown.
SYSMAN> IO CONNECT DKA0:/DRIVER_NAME=SYS$DKDRIVER/CSR=%X80AD00- /ADAPTER=4/VECTOR=(%XA20,%XA30,%XA40)/LOG=(CRB,DPT,UCB) %SYSMAN-I-IOADDRESS, the CRB is located at address 805AEC40 %SYSMAN-I-IOADDRESS, the DPT is located at address 80D2A000 %SYSMAN-I-IOADDRESS, the UCB is located at address 805B68C0
The command in this example connects device DKA0, loads driver SYS$DKDRIVER, and specifies the following data:Physical CSR address
Addresses for interrupt vectors
The /LOG qualifier displays the addresses of the channel request block (CRB), the driver prologue table (DPT), and the unit control block (UCB).
SYSMAN> IO CONNECT FTA0:/DRIVER=SYS$FTDRIVER/NOADAPTER/LOG=(ALL) %SYSMAN-I-IOADDRESS, the CRB is located at address 805AEC40 %SYSMAN-I-IOADDRESS, the DDB is located at address 805AA740 %SYSMAN-I-IOADDRESS, the DPT is located at address 80D2A000 %SYSMAN-I-IOADDRESS, the IDB is located at address 805AEE80 %SYSMAN-I-IOADDRESS, the SB is located at address 80417F80 %SYSMAN-I-IOADDRESS, the UCB is located at address 805B68C0
The command in this example connects pseudoterminal FTA0, loads driver SYS$FTDRIVER, and uses the /NOADAPTER qualifier to indicate that FTA0 is not an actual hardware device. The /LOG=(ALL) qualifier displays the addresses of all control blocks, as shown.
For more information about loading and configuing device drivers, refer
to Writing OpenVMS Alpha Device Drivers in C.
IO FIND_WWID (Alpha Only)
The IO FIND_WWID command probes all Fibre Channel ports, detects all previously undiscovered tapes and medium changers behind a Modular Data Router (MDR), and assigns a worldwide identifier (WWID) to each one. The command also displays a list of the devices and their assigned device names and automatically records this information in the SYS$SYSTEM:SYS$DEVICES.DAT file. Finally, the command updates relevant local and clusterwide memory structures.
To configure newly attached Fibre Channel tapes, use this command prior to running the SYSMAN command IO AUTOCONFIGURE.
You must have CMKRNL privilege to use the IO FIND_WWID command.
For more information about Fibre Channel, see the Guidelines for OpenVMS Cluster Configurations.
Prior to configuring a tape device on Fibre Channel ports, the worldwide identifier (WWID) of the device must be detected and stored, along with a device name, in the text file SYS$SYSTEM:SYS$DEVICES.DAT. You use the SYSMAN command IO FIND_WWID to accomplish this.
The IO FIND_WWID command probes all Fibre Channel ports and locates all tape and medium changer devices. For tapes and medium changers that have not been detected by any previous IO FIND_WWID command, IO FIND_WWID assigns a device name, retrieves the WWID of the device, stores the device name and WWID data in the SYS$SYSTEM:SYS$DEVICES.DAT file, and updates memory structures.
Because the main goal of IO FIND_WWID is to populate the SYS$DEVICES.DAT file, you need to invoke the IO FIND_WWID command only one time for each new device. Note that using the IO FIND_WWID command for the first time detects all existing tape and medium changer devices on the system at that time.
Once the information is stored in the file, subsequent use of the IO AUTOCONFIGURE command reads the file and configures the tape and medium changer devices automatically, loading or connecting the device drivers as needed. The SYS$DEVICES.DAT file is read during each system reboot, initiating the automatic configuration of tapes and medium changers on the Fibre Channel. (IO FIND_WWID does not load or connect the actual device drivers.)
A restriction exists in OpenVMS Version 7.3: if you add more devices to the system at a later time, you must powercycle the MDR to update internal mapping information. You must also run the IO FIND_WWID command again, to append the new device information to the SYS$DEVICES.DAT file.
In an OpenVMS cluster environment, you must run the IO FIND_WWID command on each node in the cluster to update various data structures in memory. Alternatively, you can run IO FIND_WWID on one node, and then reboot the other nodes that share that same system disk, because the SYS$DEVICES.DAT file is read at boot time and causes memory structures to be correctly initialized.
In the case of multiple system disks in the cluster, ensure that all copies of the SYS$DEVICES.DAT file are kept consistent, preferably by running the IO FIND_WWID command on all nodes. Alternatively, you can run IO FIND_WWID to update just one SYS$DEVICES.DAT file, and then manually edit the remaining SYS$DEVICES.DAT files by cutting and pasting the appropriate devnam/WWID records from the original file to the target files.
Compaq recommends that you refrain from copying the entire original file to another system disk, because the SYS$DEVICES.DAT file is also used to define Port Allocation Classes, and PAC entries could be inadvertently transferred to the target system.
SYSMAN> IO FIND_WWID %SYSMAN-I-OUTPUT, command execution on node SAMPLE
This is a configuration example using a TL891 tape library. The SYSMAN command IO FIND_WWID displays a list of all previously undiscovered tape devices and their device names.
Note that the overall WWID consists of everything to the right of the equal sign. Each such WWID is unique; however, the header portion might not be unique, because the header reflects only the basic type and length of the the WWID data.
The IO FIND_WWID command automatically records the information about the new tape devices in SYS$SYSTEM:SYS$DEVICES.DAT:
$ TYPE SYS$SYSTEM:SYS$DEVICES.DAT ! ! Updated 23-OCT-2000 14:17:41.85: DEC TL800 ! [Device $2$GGA0] WWID=04100024:"DEC TL800 (C) DEC3G9CCR82A017" ! ! ! Updated 23-OCT-2000 14:17:41.93: DEC TZ89 ! [Device $2$MGA0] WWID=04100022:"DEC TZ89 (C) DECCX939S2777" ! ! ! Updated 23-OCT-2000 14:17:42.01: DEC TZ89 ! [Device $2$MGA1] WWID=04100022:"DEC TZ89 (C) DECCX942S6295" !
You would then use the SYSMAN command IO CONFIGURE to configure these devices. After you completed this step, the SHOW DEVICE/FULL command would display the worldwide identifier of the tape.
On Alpha systems, loads an I/O driver. On VAX systems, use the SYSGEN command LOAD.
You must have CMKRNL and SYSLCK privileges to use the IO LOAD command.
Be very careful when issuing an IO LOAD command because the system does little error-checking.
IO LOAD filespec
filespecSpecifies the file name of the driver to be loaded. This parameter is required.
/LOG=(ALL,DPT)Controls whether SYSMAN displays information about drivers that have been loaded. The default value for the /LOG qualifier is /LOG=ALL. The driver prologue table (DPT) address is displayed when either /LOG=DPT or /LOG=ALL is specified.
The IO LOAD command loads an I/O driver. VAX system managers use the SYSGEN command LOAD. You must have CMKRNL and SYSLCK privileges to use the IO LOAD command.
SYSMAN> IO LOAD/LOG SYS$DKDRIVER %SYSMAN-I-IOADDRESS, the DPT is located at address 80D5A000
This example loads device SYS$DKDRIVER and displays the address of the driver prologue table (DPT).
On Alpha systems, rebuilds device configuration tables in preparation for using the IO AUTOCONFIGURE command to reconfigure the system.
You must have CMKRNL privilege to use the IO REBUILD command.
/VERIFYCauses SYSMAN to read and process the files SYS$SYSTEM:SYS$USER_CONFIG.DAT and SYS$SYSTEM:CONFIG.DAT, but not to apply the files to the I/O database. 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.
The IO REBUILD command rebuilds the system's device configuration tables by reading and parsing the SYS$SYSTEM:SYS$USER_CONFIG.DAT and SYS$SYSTEM:SYS$CONFIG.DAT files.
To debug modifications to the SYS$SYSTEM:SYS$USER_CONFIG.DAT file, you can use the IO REBUILD and IO AUTOCONFIGURE commands to load drivers without having to reboot. Once you load a driver for an adapter, however, you cannot reload it without rebooting the system.
SYSMAN> IO REBUILD SYSMAN> IO AUTOCONFIGURE
The first command in this example rebuilds device configuration tables. The second command reads the device configuration tables and loads drivers for newly defined drivers.