1 IO There are several IO subcommands. Select the one you want from the choices below. 2 AUTOCONFIGURE This command is for use on Alpha systems only. It 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. You must have CMKRNL and SYSLCK privileges to use the IO AUTOCONFIGURE command. Format IO AUTOCONFIGURE 3 Qualifiers /SELECT /SELECT=(device_name) Specifies the device type to be automatically configured. Use valid device names or mnemonics that indicate the devices to be included in the configuration. You can use wildcard characters with this qualifier. The /SELECT and /EXCLUDE qualifiers are not mutually exclusive, as they are on VAX systems. You can specify both qualifiers on the command line. This table shows examples of how the /SELECT qualifier works with ports PKA, PKB, and PIA: COMMAND DEVICES CONFIGURED DEVICES NOT CONFIGURED /SELECT=P* PKA,PKB,PIA None /SELECT=PK* PKA,PKB PIA /SELECT=PKA* PKA PKB,PIA /EXCLUDE /EXCLUDE=(device_name) Specifies the device type that should not be automatically configured. Use valid device names or mnemonics that indicate the devices to be excluded from the configuration. You can use wildcard characters with this qualifier. The /SELECT and /EXCLUDE qualifiers are not mutually exclusive, as they are on VAX systems. You can specify both qualifiers on the command line. /LOG Controls whether the IO AUTOCONFIGURE command displays information about loaded devices. 3 Description 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. 3 Examples 1.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. 2.SYSMAN> IO AUTOCONFIGURE/LOG The /LOG qualifier displays information about all the devices that AUTOCONFIGURE loads. 2 CONNECT This command is for use on Alpha systems only. It 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. Format IO CONNECT device-name[:] 3 Parameters 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. 3 Qualifiers /ADAPTER /ADAPTER=tr_number /NOADAPTER (default) Specifies 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=csr_address Specifies 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: o /CSR=%X3A0140120 for a physical address o /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 /DRIVER_NAME=filespec Specifies 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 /LOG=(ALL,CRB,DDB,DPT,IDB,SB,UCB) /NOLOG (default) 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 /MAX_UNITS=maximum-number-of-units Specifies 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 /NUM_UNITS=number-of-units Specifies 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 /NUM_VEC=vector-count Specifies 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 /SYS_ID=number-of-remote-system Indicates 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=(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 /VECTOR_SPACING=number-of-bytes-between-vectors Specifies 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. 3 Description 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. 3 Examples 1.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 Adapter number Number of vectors Spacing between vectors Interrupt vector address The /LOG qualifier displays the addresses of all control blocks, as shown. 2.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 Adapter number 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). 3.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. 2 FIND_WWID 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. Format IO FIND_WWID 3 Parameters None. 3 Qualifiers None. 3 Description 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.) NOTE 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. 3 Example SYSMAN> IO FIND_WWID %SYSMAN-I-OUTPUT, command execution on node SAMPLE On port _SAMPLE$PGA0:, the following tape WWIDs and their proposed device names have been found but not yet configured: [Device $2$GGA0] WWID=04100024:"DEC TL800 (C) DEC3G9CCR82A017" [Device $2$MGA0] WWID=04100022:"DEC TZ89 (C) DECCX939S2777" [Device $2$MGA1] WWID=04100022:"DEC TZ89 (C) DECCX942S6295" 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. 2 LOAD This command is for use on Alpha systems only. It 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. NOTE Be very careful when issuing an IO LOAD command because the system does little error-checking. Format IO LOAD filespec 3 Parameters filespec Specifies the file name of the driver to be loaded. This parameter is required. 3 Qualifiers /LOG /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. 3 Description 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. 3 Example 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). 2 REBUILD This command is for use on Alpha systems only. It rebuilds device configuration tables in preparation for using the IO AUTOCONFIGURE command to reconfigure the system. Format IO REBUILD 3 Qualifiers /VERIFY Causes 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. 3 Description 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. 3 Example 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. 2 REPLACE_WWID This command allows a user to replace one tape drive behind a Modular Data Router (MDR) wither another tape drive at the same Fibre Channel (FC) Logical Unit Number (LUN) location. This command updates all the necessary file and memory data structures with the WWID of the new tape drive. The name of the replacement drive will be the same as the name of the original drive. This command requires CMKRNL privilege. It applies only to FC tapes behind an MDR. For more information about Fibre Channel, see the Guidelines for OpenVMS Cluster Configurations. Format IO REPLACE_WWID devnam 3 Parameters devnam The device name of the new tape drive. 3 Qualifiers None. 3 Description You might, for example, need to replace a defective tape drive with a new drive without rebooting the cluster, and the new drive might need to retain the device name of the previous tape at that location. When you use this command, keep in mind that: o The replacement device must be set to the same SCSI target ID as the original device. o You must stop all activity on the device before issuing the IO REPLACE_WWID command. o The command requires CMKRNL privilege and applies only to FC tapes behind an MDR. 3 Example SYSMAN> IO REPLACE_WWID $2$MGA1 This command updates all the necessary file and memory data structures with the WWID of the new tape drive, $2$MGA1. 2 SCSI_PATH_VERIFY This command is for use on Alpha systems only. This command checks each SCSI and FC path in the system to determine whether the attached device has been changed. If a device change is detected, then the SCSI or FC path is disconnected in the IO database. This allows the path to be reconfigured on the new device, by using the IO AUTOCONFIGURE command. Format IO SCSI_PATH_VERIFY 3 Description You usually enter the IO SCSI_PATH_VERIFY command after performing an online reconfiguration of a SCSI or an FC interconnect. The command reads the device type and device identifier on each SCSI and FC path in the system. If the device does not match the data stored in the IO database, then the path is disconnected in the IO database. Following an IO SCSI_ PATH_VERIFY command, you usually enter an IO AUTOCONFIGURE command, which updates the IO database to match the new SCSI or FC configuration. 3 Example SYSMAN> IO SCSI_PATH_VERIFY SYSMAN> IO AUTOCONFIGURE The first command in this example checks all SCSI paths and disconnects the ones that are no longer valid. The second command autoconfigures all devices that are physically attached to the system. 2 SET 3 EXCLUDE This command is for use on Alpha systems only. It sets the permanent exclusion list to be used when configuring devices automatically. Format IO SET EXCLUDE = (device_name) 4 Parameters (device_name) Specifies the device type to be excluded from automatic configuration. Use valid device names or mnemonics that indicate the devices to be included in the permanent exclusion list. You can specify wildcards. 4 Description Sets the permanent exclusion list to be used when configuring devices. 4 Example SYSMAN> IO SET EXCLUDE=(DKC500,DKD*) This example specifies that DKC500 and all DKD devices are not to be autoconfigured. Refer to the /SELECT qualifier for additional examples that show how to specify device names. 3 PREFIX This command is for use on Alpha systems only. It sets the prefix list that is used to manufacture the IOGEN Configuration Building Module (ICBM) names. Format IO SET PREFIX =icbm_prefix 4 Parameters icbm_prefix Specifies ICBM prefixes. These prefixes are used by the IO AUTOCONFIGURE command to build ICBM image names. 4 Description The IO SET PREFIX command sets the prefix list which is used to manufacture ICBM names. 4 Example SYSMAN> IO SET PREFIX=(SYS$,PSI$,VME_) This example specifies the prefix names used by IO AUTOCONFIGURE to build the ICBM names. The prefixes are SYS$, PSI$, and VME_. 2 SHOW 3 BUS This command is for use on Alpha systems only. It lists all the buses, node numbers, bus names, TR numbers, and base CSR addresses on the system. This display exists primarily for internal engineering support. On VAX systems, use the SYSGEN command SHOW/BUS. 4 Description The IO SHOW BUS command lists all the buses, node numbers, bus names, TR numbers, and base CSR addresses. This display exists primarily for internal engineering support. You must have CMKRNL privilege to use IO SHOW BUS. 4 Example SYSMAN> IO SHOW BUS _Bus__________Node_TR#__Name____________Base CSR__________ LSB 0 1 EV3 4MB FFFFFFFF86FA0000 LSB 6 1 MEM FFFFFFFF86FC4000 LSB 7 1 MEM FFFFFFFF86FCA000 LSB 8 1 IOP FFFFFFFF86FD0000 XZA XMI-SCSI 0 3 XZA-SCSI 0000008001880000 XZA XMI-SCSI 1 3 XZA-SCSI 0000008001880000 XZA XMI-SCSI 0 4 XZA-SCSI 0000008001900000 XZA XMI-SCSI 1 4 XZA-SCSI 0000008001900000 XMI 4 2 LAMB 0000008001A00000 DEMNA 0 5 Generic XMI 0000008001E80000 DEMNA 0 6 Generic XMI 0000008001F00000 This example is from a DEC 7000 Model 600. Displays vary among different Alpha systems. The indentation levels are deliberate in this display. They indicate the hierarchy of the adapter control blocks in the system. The column titles in the display have the following meanings: Column Titles Meaning Bus Identity of the bus Node Index into the associated bus array; the bus slot TR# Nexus number of the adapter to which the specified device is connected Name Name of the device Base CSR Base CSR address of the device On Alpha systems, you can use the SDA command CLUE CONFIG to display additional information including hardware adapters and devices. This command is documented in the OpenVMS Alpha System Dump Analyzer Utility Manual. For more information about loading and configuing device drivers, refer to Writing OpenVMS Alpha Device Drivers in C. 3 DEVICE This command is for use on Alpha systems only. It displays information about device drivers loaded into the system, the devices connected to them, and their I/O databases. All addresses are in hexadecimal and are virtual. On VAX systems, use the SYSGEN command SHOW/DEVICE. Format IO SHOW DEVICE 4 Description The IO SHOW DEVICE command displays information about the device drivers loaded into the system, the devices connected to them, and their I/O databases. The IO SHOW DEVICE command specifies that the following information be displayed about the specified device driver: Driver Name of the driver Dev Name of each device connected to the driver DDB Address of the device's device data block CRB Address of the device's channel request block IDB Address of the device's interrupt dispatch block Unit Number of each unit on the device UCB Address of each unit's unit control block All addresses are in hexadecimal and are virtual. Refer to A Comparison of System Management on OpenVMS AXP and OpenVMS VAX and the OpenVMS System Manager's Manual for additional information about SYSMAN. 4 Example SYSMAN> IO SHOW DEVICE The following example is a sample display produced by the IO SHOW DEVICE command: __Driver________Dev_DDB______CRB______IDB______Unit_UCB_____ SYS$FTDRIVER FTA 802CE930 802D1250 802D04C0 0 801C3710 SYS$EUDRIVER EUA 802D0D80 802D1330 802D0D10 0 801E35A0 SYS$DKDRIVER DKI 802D0FB0 802D0F40 802D0E60 0 801E2520 SYS$PKADRIVER PKI 802D1100 802D13A0 802D1090 0 801E1210 SYS$TTDRIVER OPERATOR NLDRIVER SYS$TTDRIVER, OPERATOR, and NLDRIVER do not have devices associated with them. 3 EXCLUDE This command is for use on Alpha systems only. It displays the permanent exclusion list used in the autoconfiguration of devices. Format IO SHOW EXCLUDE 4 Description The IO SHOW EXCLUDE command displays the permanent exclusion list on the console. This list is used in the autoconfiguration of devices. 4 Example SYSMAN> IO SHOW EXCLUDE %SYSMAN-I- IOEXCLUDE, the current permanent exclusion list is: DKC500,DKD* This example shows the permanent exclusion list used in the autoconfiguration of devices; the current list contains DKC500 and all DKD devices. 3 PREFIX This command is for use on Alpha systems only. It displays the current prefix list used in the manufacture of ICBM names. Format IO SHOW PREFIX 4 Description The IO SHOW PREFIX command displays the current prefix list on the console. This list is used by the IO AUTOCONFIGURE command to build ICBM names. 4 Example SYSMAN> IO SHOW PREFIX %SYSMAN-I-IOPREFIX, the current prefix list is: SYS$,PSI$,VME_ This example shows the prefixes used by IO AUTOCONFIGURE to build ICBM names.