HELPLIB.HLB  —  ROBOT
    Media Robot Utility software (MRU) is a multiplatform utility for
    controlling robotic media loaders and libraries.  The MRU allows
    you to control operations at a very low level:  injecting and
    ejecting cartridges, loading and unloading cartridges, and showing
    status and attributes of robotic loaders and libraries.

                               CAUTION

    MRU provides no media management or cataloging capability.  Use
    MRU in a managed media environment with care.  Manipulating
    cartridges with MRU and without knowledge of the media management
    system could create inconsistency between the media management
    system's view and the physical status of the robot and cartridges.

1  –  Privileges

    Privileges required to operate MRU software depend on the robot
    connection to the host.  This table outlines the privileges required
    for each of three different kinds of connections.

    Privilege   Direct Connect   HSJ Controller   DSSI
    Required    SCSI	        Connection	 Connection
    ---------   --------------   --------------   ----------
     SYSPRV	                      X

     PHY_IO	     X                X	              X

     DIAG	     X                X

     READALL		                              X

2  –  Logical Names

                                   CAUTION

    Define logical names only within the context of a user process if you
    use any Compaq Storage Management Software product that includes the
    Media and Device Management Services (MDMS) software.

    If you use MDMS software and define any of these logicals so they are
    set for any MDMS process (i.e. any group or system logical table
    accessible by MDMS, you could cause failures in MDMS operations.

    $ DEFINE MRU_LOG file_name

       Creates a log file of MRU operations named file_name in the
       current default directory.  Deassign this logical if no log
       file is desired.

    $ DEFINE MRU_VERBOSE 1

       Provides more detailed information in response to some MRU
       commands. Deassign this logical to disable this feature.

       When enabled, this option captures reports SCSI Sense Data.
       You must refer to the media robot hardware documentation to
       interpret this data.

    $ DEFINE MRU_OLD_STATUS 1

       This causes MRU, Version 1.4-1 to exit using the Version 1.4
       exit status behavior; success or failure.

    $ DEFINE MRU_ROBOT robot_name

       Defines a default robot against which all commands are
       executed, unless a different robot is specified as a parameter
       to a command.  Deassign this logical if no default robot is
       needed.

    $ DEFINE MRU_WAIT n

       Defines the number of seconds delay you can tolerate
       waiting for a current robot operation to finish before
       taking action on a command you enter.  Deassign this
       logical if an indefinite wait is acceptable.

    $ DEFINE MRU_UNLOAD_DELAY n

       Defines the number of times that an unload operation is tried.
       An unload retry can take from one to approximately seven
       seconds to complete depending on the media robot.

       The default value is 180 attempts.  Define this logical if you
       want to change the number of unload attempts.

    $ DEFINE MRU_READY_DELAY n

       Defines the amount of time you will take to place a cartridge into
       a TL820 class ATL inport and close the inport door, after you issue
       the READY command.  If you fail to close the inport door within the
       specified time, MRU may report an error on the following command.

       The default value is 65 seconds.

    $ DEFINE MRU_CASE_SENSITIVE 1

       When defined to any value, this causes the volume tag comparisons
       used with the CARTRIDGE keyword to be made in a case senseitive
       manner.

    $ DEFINE MRU_OLD_STATUS 1

       When defined to any value, this causes the ROBOT command to revert
       to the exit status behavior present in V1.2; a single success status
       and a single failure status.

3  –  Command Parameters

    When MRU executes commands, it examines the commands for the
    presence of parameters.  If you do not specify parameters to the
    keywords slot, drive, or port, MRU supplies defaults, usually
    assuming a value of 0.

    slot_number:    An integer value indicating a physical slot in
                    the media robot.

    drv_number:     An integer value indicating a physical drive in
                    the media robot.

    port_number:    An integer value indicating a physical port in
                    the media robot.

    robot_name:     The name for the media robot.

    cartridge_name: The name of the cartridge as identified by its
                    external label.

    In the MRU system, drive, slot, and port numbering begins with 0.
    The default value for DRIVE, PORT, and SLOT is 0.

4  –  INJECT

    The INJECT command moves a cartridge from a port to a slot.

    Format

    INJECT [PORT port_number] SLOT slot_number [ROBOT robot_name]

4.1  –  Parameters

    port_number - An integer value indicating the robot port.

    slot_number - An integer value indicating the robot slot.

    robot_name - The name for the media robot.

4.2  –  Example

    The following MRU example injects a cartridge from the inport
    of a TL820 Automated Tape Library to slot 19:

    $ ROBOT INJECT PORT 0 SLOT 19 ROBOT $1$DUA0

5  –  EJECT

    The EJECT command moves a cartridge from a slot to a port.

    The EJECT command also moves a cartridge from the PTM of a TL82n
    Automated Tape Library system.  The EJECT command used this way
    does not include a slot specification.

    Format (slot to port)

    EJECT SLOT slot_number [PORT port_number] [ROBOT robot_name]

    Format (PTM to port)

    EJECT [ROBOT robot_name] PORT [port_number]

5.1  –  Parameters

    slot_number - An integer value indicating the robot slot.

    port_number - An integer value indicating the robot port.

    robot_name - The name for the media robot.

5.2  –  Examples

    The following MRU example ejects a cartridge from slot 20 of
    a TL820 Automated Tape Library to the outport:

    $ ROBOT EJECT SLOT 20 PORT 1 ROBOT $1$DUA0

    The following example ejects a cartridge from the PTM of a TL820
    Automated Tape Library to the outport:

    $ ROBOT EJECT PORT 1 ROBOT $1$DUA0

6  –  LOAD

    The LOAD command moves a cartridge from a slot into a drive.

    Format

     LOAD SLOT slot_num [DRIVE drv_num] [ROBOT robot_name]

6.1  –  Parameters

    slot_num - An integer value indicating the robot slot.

    drv_num - An integer value indicating the physical drive
                   in the robot.

    robot_name - The name for the media robot.

6.2  –  Example

    The following MRU example loads a cartridge from slot 1 to drive
    0 in the robot device GKA401:

    $ ROBOT LOAD SLOT 1 DRIVE 0 ROBOT GKA401
    LOADING SLOT 1 into DRIVE 0 using ROBOT GKA401

7  –  UNLOAD

    The UNLOAD command moves a cartridge from a drive into a slot.

    Note:
       To unload a cartridge from a drive in a TL8xx Automated Tape Library,
       you must first dismount the media before issuing the DISMOUNT command
       with the /UNLOAD qualifier.

    Format

    UNLOAD [DRIVE drv_number] SLOT slot_number [ROBOT robot_name]

7.1  –  Parameters

    drv_number - An integer value indicating the physical drive in the robot.

    slot_number - An integer value indicating the robot slot.

    robot_name - The name for the media robot.

7.2  –  Examples

    1.  The following example unloads the cartridge from drive 0 and
        places the cartridge into slot 1 of robot device GKA401:

    $ ROBOT UNLOAD DRIVE 0 SLOT 1 ROBOT GKA401
    UNLOAD DRIVE 0 into SLOT 1 using ROBOT GKA401

    2.  The following example shows the commands to unload a cartridge
        from a drive in the TL820 library.

    $ DISMOUNT/UNLOAD $1$MUA22:
    $ ROBOT UNLOAD DRIVE 1 SLOT 15 ROBOT $1$DUA0
    UNLOAD DRIVE 1 into SLOT 15 using ROBOT $1$DUA0

8  –  READY

    The READY command enables the inport door release button on the
    TL82n Automated Tape Library system.  The READY command allows
    you to place a cartridge into the inport prior to issuing the
    INJECT command.

    Format

    READY [port_number] [ROBOT robot_name]

8.1  –  Parameters

       port_number - An integer value indicating the robot port.

       robot_name - The name for the media robot.

8.2  –  Example

    The following MRU example enables the inport of a TL820 Automated
    Tape Library:

    $ ROBOT READY PORT 0 ROBOT $1$DUA0

9  –  MOVE

    The MOVE command moves a cartridge from a source location to a destination.
    Allowable actions with the MOVE command are determined by the specific
    library or loader.

    Format

    MOVE {SLOT slot_number | DRIVE drv_number | PORT port_number}
         {SLOT slot_number | DRIVE drv_number | PORT port_number}
         [ROBOT robot_name]

9.1  –  Parameters

    slot_number - An integer value indicating the robot slot.

    drv_number - An integer value indicating the physical drive in the robot.

    port_number - An integer value indicating the robot port.

    robot_name - The name for the media robot.

9.2  –  Example

    The following MRU example moves a cartridge from a drive to the
    outport of a TL820 Automated Tape Library system:

    $ ROBOT MOVE DRIVE 1 PORT 1 $1$DUA0

10  –  HOME

    The HOME command returns a cartridge from a specified location
    to its home (previous) location.

    NOTE:  The home position varies between different media robots.  To find
    out the home location on your media robot, consult your hardware
    documentation, or issue the command and observe the placement of the
    mechanism.

    Format

    HOME [ROBOT robot_name] {DRIVE drv_number | SLOT slot_number |
                             PORT port_number | TRANSPORT transport_number}

10.1  –  Parameter

    robot_name - The name for the media robot.

10.2  –  Example

    The following MRU example places the mechanism to the home position
    in a tape library.

    $ ROBOT HOME ROBOT $1$DUA0

11  –  POSITION

    The POSITION command positions the cartridge manipulation mechanism to
    the specified location.

    Format

    POSITION {SLOT slot_number | DRIVE drv_number | PORT port_number}
             [ROBOT robot_name]

11.1  –  Parameter

    slot_number - An integer value indicating a physical slot in
                  the media robot.

    drv_number - An integer value indicating a physical drive in
                 the media robot.

    port_number - An integer value indicating a physical port in
                  the media robot.

    robot_name - The name for the media robot.

11.2  –  Example

    The following MRU example places the mechanism slot 157 in
    a tape library.

    $ ROBOT POSITION SLOT 157 ROBOT $1$DUA1

12  –  FIND_CARTRIDGE

    The FIND CARTRIDGE command locates a named cartridge in any media robot
    which includes a vision system.  If the named cartridge resides in the
    media robot, MRU software returns its location.

    NOTE:  This command uses the name on the external label affixed to the
    cartridge, it DOES NOT use the name of the recorded label on the medium.

    Format

    FIND CARTRIDGE {cartridge_name} [ROBOT robot_name]

12.1  –  Parameter

    cartridge_name - The name of the external label on the cartridge.  The
    cartridge name parameter is case sensitive.

    robot_name - The name for the media robot.

12.2  –  Example

    The following MRU example locates cartridge AQ1Z01 in a TL826 Automated
    Tape Library System.

    $ ROBOT FIND CARTRIDGE AQ1Z01 ROBOT $1$DUA0

    MRU V1.4-1 allows wildcard names for this command as in the
    following examples:

    $ ROBOT FIND CARTRIDGE {"?*"}

    This command shows all elements namely:

    - slots
    - drives
    - transports
    - ports

   that are full.

   $ ROBOT FIND CARTRIDGE {"*"}

   This command shows all slots, drives, transports and ports.
   Irrespective of whether they are full or empty this command
   shows all the elements available in the library.

13  –  LOCK

    The LOCK command sends a SCSI Prevent Media Removal command
    to the media robot.  Consult your hardware documentation for
    a description of the results of this command for your
    particular media robot.
    Format

    LOCK [ROBOT robot_name]

13.1  –  Parameter

    robot_name - The name for the media robot.

13.2  –  Example

    The following MRU example locks the door on a TLZ07 tape loader:

    $ ROBOT LOCK ROBOT GKA401

14  –  UNLOCK

    The UNLOCK command sends a SCSI Allow Media Removal command to
    the media robot.  Consult your hardware documentation for a
    description of the results of this command for your particular
    media robot.

    Format

    UNLOCK [ROBOT robot_name]

14.1  –  Parameter

    robot_name - The name for the media robot.

14.2  –  Example

    The following MRU example unlocks the door on a TLZ07 tape loader:

    $ ROBOT UNLOCK ROBOT GKA401

15  –  RESERVE

    The RESERVE command sends a SCSI Reserve command to the media
    robot. This reserves the media robot for exclusive use on the
    host. This is useful in Fibre Channel environment where multiple
    hosts have access to same media robot. If a media robot is reserved
    on a host all other hosts will not be able to do any SCSI commands
    and they will get a message "SCSI Reservation Conflict".

    Format

    RESERVE [ROBOT robot_name]

15.1  –  Parameter

    robot_name - The name for the media robot.

15.2  –  Example

    The following MRU example reserves the media robot($2$GGA1:)
    on the calling host for exclusive use in a Fibre Channel
    environment:

    $ ROBOT RESERVE ROBOT $2$GGA1:

16  –  RELEASE

    The RELEASE command sends a SCSI Release command to the media
    robot. This releases the media robot from exclusive use on the
    host. This is used when a media robot is already Reserved and
    it is given from the same host which has reserved the media robot.

    Format

    RELEASE [ROBOT robot_name]

16.1  –  Parameter

    robot_name - The name for the media robot.

16.2  –  Example

    The following MRU example releases the media robot from exclusive
    use. This is given from the same host which has Reserved the media
    robot:

    $ ROBOT RELEASE ROBOT $2$GGA1:

17  –  INITIALIZE

    The INITIALIZE command inventories the robot and updates the MRU
    software's internal database of robot elements.  The time it takes
    to complete the operation depends on the size of the robot.  A
    small loader takes less time to inventory than does a multitower
    robot.

    Format

    INITIALIZE [ROBOT robot_name]

17.1  –  Parameter

    robot_name - The name for the media robot.

17.2  –  Example

    The following MRU example inventories a TLZ07 tape loader:

    $ ROBOT INITIALIZE ROBOT GKA401

18  –  SHOW

    The SHOW command displays information about a robot,and also
    displays specific information about slots, drives, ports, and the
    current version of MRU.

18.1  –  ROBOT

    The SHOW ROBOT command displays information about the specified
    robot, including:

    o  Robot name
    o  Robot type
    o  Vendor model and firmware version
    o  maximum number of cartridge storage locations
    o  maximum number of drives
    o  maximum number of ports

    Format

    SHOW ROBOT [robot_name]

18.1.1  –  Parameters

    robot_name - The name for the media robot.

18.1.2  –  Example

    The following example shows the status of a TZ media changer:

    $ ROBOT SHOW ROBOT

    Robot Name: GKA401 Type: SCSI

    Media Robot Identifier: DEC     TZ Media Changer9A28

    Slots:          5
    Drives:         1
    Inports:        0
    Outports:       0
    Transports:     1

18.2  –  PORT

    The SHOW PORT command displays information about a port. The output
    includes the type of port and one of these possible states:

    o  Full or <barcode> -- The port contains a cartridge. The bar code
       value of the cartridge occupying the port appears if the media
       robot is capable of reading cartridge bar codes.

    o  Empty -- The port contains no cartridge and is available for
       use.

    o  Unavailable -- The port is unavailable for use.

    Format

    SHOW [ROBOT robot_name] PORT [[[port_number]|[port_number-port_number]],...]

18.2.1  –  Parameters

    robot_name - The name for the media robot.

    port_number - An integer value indicating the robot port.

18.2.2  –  Example

    The following example shows the ports of a TL820 Automated Tape
    Library system:

    $ ROBOT SHOW PORT ROBOT $1$DUA0

    PORT:		1		Empty   	OUTPORT
    PORT:		0		Empty   	INPORT

18.3  –  SLOT

    The SHOW SLOT command shows the status of slots. One of these
    possible states is reported:

    o  Full or <barcode> -- The slot contains a cartridge. The bar code
       value of the cartridge occupying the slot appears if the media
       robot is capable of reading cartridge bar codes.

    o  Empty -- The slot contains no cartridge, and is available for
       use.

    o  Unavailable -- The slot is unavailable for use.

    Format

    SHOW [ROBOT robot_name] SLOT [[[slot_number]|[slot_number-slot_number]],...]

18.3.1  –  Parameters

    robot_name - The name for the media robot.

    slot_number - An integer value indicating the robot slot.

18.3.2  –  Examples

    1.  The following example shows the contents of separate slots:

    $ ROBOT SHOW SLOT 1,3
    SLOT:           1               Empty
    SLOT:           3               Full

    2.  The following example shows the contents of a range of slots:

    $ ROBOT SHOW SLOT 1-3
    SLOT:           1               Empty
    SLOT:           2               Full
    SLOT:           3               Full

18.4  –  DRIVE

    The SHOW DRIVE command shows the status of drives. One of these
    possible states is reported:

    o  Full or <barcode> -- The drive contains a cartridge. The bar code
       value of the cartridge occupying the drive appears if the media
       robot is capable of reading cartridge bar codes.

    o  Empty -- The drive contains no cartridge, and is available for
       use.

    o  Unavailable -- The drive is unavailable for use.

    Format

    SHOW [ROBOT robot_name] DRIVE [[[drv_number]|[drv_number-drv_number]],...]

18.4.1  –  Parameters

    robot_name - The name for the media robot.

    drv_number - An integer value indicating the physical drive in the robot.

18.4.2  –  Example

    The following example shows the status of drive 0 in the default
    robot identified by the MRU_ROBOT logical:

    $ ROBOT SHOW DRIVE 0
    DRIVE:          0               Empty

18.5  –  VERSION

    The SHOW VERSION command displays the software version of the
    Media Robot Utility software.

    Format

    SHOW VERSION

18.5.1  –  Example

    The following example shows the version of the currently
    accessible MRU program:

    $ ROBOT SHOW VERSION
    StorageWorks Media Robot Utility V1.4-1

19  –  HELP

    The HELP command displays information about the Media Robot
    Utility commands.

    Format

    HELP

19.1  –  Example

    The following example shows the result of issuing the MRU HELP
    command:

    $ ROBOT HELP

    usage: robot command [ parameters ]

    Commands:    show, move, load, unload, eject, inject
                 lock, unlock, reserve, release, ready and
 		help
    Parameters:  robot device, slot #, drive #, port #
    Logicals:    MRU_LOG, MRU_VERBOSE, MRU_ROBOT, MRU_WAIT,
                 MRU_UNLOAD_DELAY, MRU_READY_DELAY

    EXAMPLE COMMANDS:

         Drives, slots and ports are numbered from 0.

         LOAD robot GKA1 drive 0 slot 3
         UNLOAD drive 0 slot 2 robot GKA1
         INJECT port 0 slot 4 robot $1$dua100
         EJECT robot $1$dua100 port 0 slot 4
         READY robot GKB5
         LOCK robot $1$dua100
         UNLOCK robot $1$dua100
         RESERVE robot $1$gga0
         RELEASE robot $1$gga0
         MOVE slot 5 drive 1 robot GKA1

    Other commands:

         SHOW robot, SHOW slot 4,
         SHOW robot $1$dua0 drive 2
         SHOW version

20  –  Connectivity

  Systems running under the OpenVMS operating system can connect to
  a media robot either directly, or through an SCSI or DSSI
  controller. If you connect through a  controller with a DSSI
  interconnect, you need to be aware of some timing issues.

20.1  –  Direct Connect SCSI Devices

  Use the following procedure to create a tape robot unit:

  1. For SCSI magazine loaders connected directly to an
  SCSI bus, enter the SYSGEN or SYSMAN command in the
  appropriate format:

  VAX system:

      $ MCR SYSGEN CONNECT GKannn:/DRIVER=GKDRIVER/NOADAPTER

  Alpha system:

      $ MCR SYSMAN IO CONNECT GKannn:/DRIVER=SYS$GKDRIVER/NOADAPTER

  Where:  GKannn: is the robot device name. The robot device
  name for a loader is always the same as the tape drive name
  incremented by one, and without any prefixes (allocation
  class or NODE$ prefix) to the GK string. For example, a
  tape drive name of $1$MKA200: could use a robot device
  name of GKA201:.

  2. Compaq recommends that you include the SYSGEN
  commands in your system startup command procedure.

20.2  –  DLT and DAT Media Loaders

  This information applies to TLZnx and TZ8nn classes of DLT
  and DAT loaders.

  DLT and DAT tape loaders treat their robotic devices and
  tape devices as logical units of the device target ID. The
  are four parts to the naming convention with this type of
  robotic loader:

  ·    The name begins with a prefix of MK for the tape
  device and GK for the robotic device.

  ·    The prefix is followed by a letter indicating the
  physical SCSI bus to which the device is connected to the
  host system. For devices connected to the first bus
  detected at boot time, the letter is A, for the second
  bus detected, B, and so on.

  ·    The next part is a number corresponding to the SCSI
  target ID.

  ·    The last part is a two-digit number corresponding to
  the SCSI target ID logical unit number. Because tape
  drives in a DLT or DAT loader are always at logical unit
  0, the last two digits are 00. The last two digits for
  the robotic device are 01.

  MKA400 is the name of a tape device connected to the
  first SCSI bus seen at boot time, at target ID 4. GKA401
  is the name of the robotic device, and the name of the
  robotic unit corresponding to the tape device MKA400.

20.3  –  TL8nn Automated Libraries

  This information applies to the TL81n, TL82n, and TL89n
  classes of libraries.

  With TL8nn tape libraries, the drives and robot units are
  separate. There are three parts to the naming convention
  for a TL8nn tape library:

  ·    The name begins with a prefix of MK for the tape
  device and GK for the robotic device.

  ·    The prefix is followed by a letter indicating the
  physical SCSI bus to which the device is connected to the
  host system. For devices connected to the first bus
  detected at boot time, the letter is A, for the second
  bus detected, B, and so on.

  ·    The next part is a number corresponding to the SCSI
  target ID.

  For example, with a TL810 library system with the robotic
  unit connected to the second bus detected at boot time at
  target ID 5, the name would be GKB500. When installing a
  TL8nn Automated Tape Library system, you need to keep
  track of the device names for the drives serviced by the
  particular robotic transport device.  MRU software cannot
  unload a cartridge from a drive in a TL8nn Automated Tape
  Library system without first dismounting the cartridge.
  MRU software has no way of associating the drives with
  the robotic transport device.  You must supply the device
  file name before unloading a cartridge.

20.4  –  HSxnn Controller

   When connecting a media robot to an HSJnn or HSDnn controller, you
   must associate the loader name with an internal passthrough name.
   After installing the media robot hardware, and connecting the
   cables between host, controller, and media robot, you can make the
   association at the controller console terminal.

   1.  Add the loader to the controller by identifying the loader
   name and SCSI port, target ID, and LUN.

   CLI> ADD LOADER loader_name p t l

   2.  Add the passthrough name to the controller, relating it to the
   loader name.

   CLI> ADD PASSTHROUGH pass_name loader_name

   3.  Add the unit name, relating it to the passthrough name.

   CLI> ADD UNIT unit_name pass_name

   This example shows the commands for connecting a TL810 Automated
   Tape Library system loader.  The SCSI Port is 5, Target ID is 4,
   and LUN is 0.

   CLI> ADD LOADER TL810A 5 4 0

   CLI> ADD PASSTHROUGH P810A TL810A

   CLI> ADD UNIT D810 P810A

   After establishing this connection, the OpenVMS system will show
   the device DUA810 with its allocation class.  The MRU ROBOT name
   will be the OpenVMS allocation class name $1$DUA810.

20.5  –  HSZxx Controller

  [ Text to be provided later by our technical writer. ]

  The connection of a media changer to an HSZxx family controller
  is similar to the procedure used for the HSJxx and HSDxx.  The
  main difference is that "ADD PASSTHROUGH" is used in place of
  the "ADD LOADER" command, but the port, target and logical
  numbers must be provided.  The other difference is that pass-
  through device are associated with unit names beginning with
  the letter P instead of D.

  Example:

   For a four drive TL810 family library.

   CLI> ADD PASSTHROUGH TAPE0 5 2 0
   CLI> ADD PASSTHROUGH TAPE1 5 3 0
   CLI> ADD PASSTHROUGH TAPE2 5 4 0
   CLI> ADD PASSTHROUGH TAPE3 5 5 0
   CLI> ADD PASSTHROUGH TL810 5 6 0
   CLI> ADD UNIT P0 TAPE0
   CLI> ADD UNIT P100 TAPE1
   CLI> ADD UNIT P200 TAPE2
   CLI> ADD UNIT P300 TAPE3
   CLI> ADD UNIT P1 TL810

   For a single drive DLT loader with the loader at logical unit 1.

   CLI> ADD PASSTHROUGH DLTtape 6 1 0
   CLI> ADD PASSTHROUGH LOADER  6 1 1
   CLI> ADD UNIT P0 DLTtape
   CLI> ADD UNIT P1 LOADER

20.6  –  DSSI Devices

  Command Completion Time

  Commands issued to robotic devices connected with a DSSI
  may take a minute or more to complete. The delays in
  command completion occur to properly synchronize the DSSI
  loader device.

  Manual TF8x7 Operations Can Stop Automated Operations

  The TF8x7 does not respond to Media Robot Utility system ROBOT LOAD
  and ROBOT UNLOAD operations after an operator manually unloads a
  cartridge. Other MRU status commands respond correctly.

  After a manual unload is executed, the ROBOT LOAD or ROBOT UNLOAD
  commands complete immediately and give no error messages.   The
  ROBOT SHOW DRIVE and ROBOT SHOW SLOT do properly reflect whether a
  cartridge is loaded in the drive or residing in the loader.

  The MRU software continues to provide proper status after manually
  loading and unloading various slots even though the MRU LOAD AND
  UNLOAD commands no longer execute properly.

  Restoring the communication path between the TF loader and  the
  operating system requires a complete re-initialization of the DSSI
  server embedded in the TF loader.  There are two ways in which this
  can be done.

  Cycle power to the TF loader:

      1. Turn power to the TF loader OFF
      2. Wait 10 seconds
      3. Turn power to the TF loader ON

  Execute the following command sequence either maually through DCL,
  or programatically:

      $ SET HOST/DUP/SERVER=MSCP$DUP/TASK=PARAMS xxxx
          (where xxxx is the DSSI NODE name of the TF loader)
      PARAMS> SET INITWATERMARK 100
      PARAMS> WRITE
      Parameter changes require controller initialization, ok?[Y/(N)] y

  Wait for the DSSI node to transition from HostUnavailable to Online
  (60 - 90 seconds).

20.7  –  MUSL Verification

  Verifying a MUSL Configuration

  You can use MRU to verify a successful Multi-Unit, Single LUN
  (MUSL) configuration. Use the SHOW ROBOT command to get information
  about the configuration:

  $robot show robot Scsi2:B0T2L2

  Robot Name : Scsi2:B0T2L2 Type: SCSI

  Media Robot Identifier: DEC     TL820   (C)     DEC2A5A

  Slots:          176
  Drives:         6
  Inports:        1
  Outports:       1
  Transports:     2

  MUSL control is available on firmware 2A5A or higher. This
  information appears on the Media Robot Identifier line of the SHOW
  ROBOT output.

  When MUSL is activated, the combined hardware units respond to a
  single medium changer unit. MRU shows this with a Transport count
  greater than 1.

21  –  CLI Errors

  When a CLI commands fails, a failure specific error status is
  returned.  The value of this status can be interrogated in a
  DCL command procedure.  Most of the possible errors are the
  result of failures in the MRU Application Programming Interface.
  A few errors are unique to the ROBOT command.

21.1  –  CLI Specific Errors

21.1.1  –  MRD_STATUS_CLI_COMMAND

  Status Code %X07608282

  Used when an unrecognized command is given on the command line. For
  example, there is no 'FRED' command.

  $ ROBOT FRED ROBOT $1$DUA704

21.1.2  –  MRD_STATUS_CLI_PARAMETER

  Status Code %X0760828A

  Used when an unrecognized parameter is given on the command line.
  For example, 'VAULT' has no relevance in this command:

  $ ROBOT SHOW ROBOT $1$DUA704 VAULT

21.1.3  –  MRD_STATUS_CLI_BAD_ARG

  Status Code %X07608292

  Used for various errors where the argument to a parameter is wrong;
  a range where none is allowed, invalid element addresses, and similar
  errors. For example, 'RINGO' is a bad parameter for a slot spec-
  ification and the load command does not work with a range of slots
  or drives:

  $ ROBOT SHOW SLOT 7-RINGO
  $ ROBOT LOAD SLOT 3-4 DRIVE 1-2

21.1.4  –  MRD_STATUS_CLI_NO_ROBOT

  Status Code %X0760829A

  Used when the command does not include a robot name, and the default
  robot name is not known.

21.1.5  –  MRD_STATUS_CLI_EXPECTS_PARAM

  Status Code %X076082A2

  Used when a command expects some parameter, and none was given. For
  example, this show command doesn't specify anything to show:

  $ ROBOT SHOW

21.1.6  –  MRD_STATUS_CLI_EXPECTS_ARG

  Status Code: %X076082AA

  Used when a command parameter expects some argument. For example, this
  show slot command does not specify which slot, or slots, to show:

  $ ROBOT SHOW SLOT

21.1.7  –  MRD_STATUS_CLI_MANY

  Status Code: %X076082B2

  Used when a parameter accepts a default, but there are multiple
  elements that apply. The robot LOAD command allows a default drive,
  if there is only one drive in the robot.  However, if there are
  two or more drives in the robot, you get this error.  For example with
  a TL810, a robot with four drives, the following command fails with
  this error status:

  $ ROBOT LOAD SLOT 15

  This error code is also used when multiple parameters are given and
  fewer are allowed:

  $ ROBOT POSITION SLOT 5 DRIVE 7

21.2  –  Mapping CLI to MRD Errors

  The ROBOT$_ codes translate to the listed values and the MRD_STATUS
  codes.  The MRD_STATUS codes are documented with the MRD API calls
  from which they can be reported. Use HELP ROBOT MRD to find help
  for the calls.

  ROBOT$_FACILITY               1888         MRD_STATUS_FACILITY
  ROBOT$_INVALID                %X0760800A   MRD_STATUS_INVALID
  ROBOT$_SUCCESS                %X07608011   MRD_STATUS_SUCCESS
  ROBOT$_NO_SENSE               %X0760801A   MRD_STATUS_NO_SENSE
  ROBOT$_RECOVERED_ERROR        %X07608022   MRD_STATUS_RECOVERED_ERROR
  ROBOT$_ROBOT_NOT_READY        %X0760802A   MRD_STATUS_ROBOT_NOT_READY
  ROBOT$_MEDIUM_ERROR           %X07608032   MRD_STATUS_MEDIUM_ERROR
  ROBOT$_ROBOT_HW_ERROR         %X0760803A   MRD_STATUS_ROBOT_HW_ERROR
  ROBOT$_ROBOT_ILLEGAL_REQUEST  %X07608042   MRD_STATUS_ROBOT_ILLEGAL_REQUEST
  ROBOT$_ROBOT_ATTENTION        %X0760804A   MRD_STATUS_ROBOT_ATTENTION
  ROBOT$_DATA_PROTECT           %X07608052   MRD_STATUS_DATA_PROTECT
  ROBOT$_BLANK_CHECK            %X0760805A   MRD_STATUS_BLANK_CHECK
  ROBOT$_VENDOR_UNIQUE_ERROR    %X07608062   MRD_STATUS_VENDOR_UNIQUE_ERROR
  ROBOT$_COPY_ABORTED           %X0760806A   MRD_STATUS_COPY_ABORTED
  ROBOT$_SENSE_EQUAL            %X07608072   MRD_STATUS_SENSE_EQUAL
  ROBOT$_ROBOT_CMD_ABORTED      %X0760807A   MRD_STATUS_ROBOT_CMD_ABORTED
  ROBOT$_VOLUME_OVERFLOW        %X07608082   MRD_STATUS_VOLUME_OVERFLOW
  ROBOT$_MISCOMPARE             %X0760808A   MRD_STATUS_MISCOMPARE
  ROBOT$_SENSE_RESERVED         %X07608092   MRD_STATUS_SENSE_RESERVED
  ROBOT$_ROBOT_COMM_ERROR       %X0760809A   MRD_STATUS_ROBOT_COMM_ERROR
  ROBOT$_ROBOT_MECH_ERROR       %X076080A2   MRD_STATUS_ROBOT_MECH_ERROR
  ROBOT$_ROBOT_DOOR_OPENED      %X076080AA   MRD_STATUS_ROBOT_DOOR_OPENED
  ROBOT$_STARTUP_ERROR          %X076080B2   MRD_STATUS_STARTUP_ERROR
  ROBOT$_CANCEL                 %X076080BA   MRD_STATUS_CANCEL
  ROBOT$_CMD_NOT_SUPPORTED      %X076080C2   MRD_STATUS_CMD_NOT_SUPPORTED
  ROBOT$_SOURCE_EMPTY           %X076080CA   MRD_STATUS_SOURCE_EMPTY
  ROBOT$_DESTINATION_FULL       %X076080D2   MRD_STATUS_DESTINATION_FULL
  ROBOT$_CART_INVALID           %X076080DA   MRD_STATUS_CART_INVALID
  ROBOT$_CART_DAMAGED           %X076080E2   MRD_STATUS_CART_DAMAGED
  ROBOT$_CART_NOT_AVAIL         %X076080EA   MRD_STATUS_CART_NOT_AVAIL
  ROBOT$_CART_ALRDY_LOADED      %X076080F2   MRD_STATUS_CART_ALRDY_LOADED
  ROBOT$_CART_SIDE_INVALID      %X076080FA   MRD_STATUS_CART_SIDE_INVALID
  ROBOT$_DEVICE_INVALID         %X07608102   MRD_STATUS_DEVICE_INVALID
  ROBOT$_DEVICE_DAMAGED         %X0760810A   MRD_STATUS_DEVICE_DAMAGED
  ROBOT$_DEVICE_FULL            %X07608112   MRD_STATUS_DEVICE_FULL
  ROBOT$_DEVICE_EMPTY           %X0760811A   MRD_STATUS_DEVICE_EMPTY
  ROBOT$_VOLUME_VALID           %X07608122   MRD_STATUS_VOLUME_VALID
  ROBOT$_VOLUME_MOUNTED         %X0760812A   MRD_STATUS_VOLUME_MOUNTED
  ROBOT$_ELEMENT_INVALID        %X07608132   MRD_STATUS_ELEMENT_INVALID
  ROBOT$_INVALID_TYPE           %X0760813A   MRD_STATUS_INVALID_TYPE
  ROBOT$_SLOT_INVALID           %X07608142   MRD_STATUS_SLOT_INVALID
  ROBOT$_PORT_INVALID           %X0760814A   MRD_STATUS_PORT_INVALID
  ROBOT$_CELL_INVALID           %X07608152   MRD_STATUS_CELL_INVALID
  ROBOT$_PORT_FULL              %X0760815A   MRD_STATUS_PORT_FULL
  ROBOT$_PORT_EMPTY             %X07608162   MRD_STATUS_PORT_EMPTY
  ROBOT$_CELL_FULL              %X0760816A   MRD_STATUS_CELL_FULL
  ROBOT$_CELL_EMPTY             %X07608172   MRD_STATUS_CELL_EMPTY
  ROBOT$_SLOT_FULL              %X0760817A   MRD_STATUS_SLOT_FULL
  ROBOT$_SLOT_EMPTY             %X07608182   MRD_STATUS_SLOT_EMPTY
  ROBOT$_AUTOCLEAN              %X0760818A   MRD_STATUS_AUTOCLEAN
  ROBOT$_RES_FAILED             %X07608192   MRD_STATUS_RES_FAILED
  ROBOT$_INSFMEM                %X0760819A   MRD_STATUS_INSFMEM
  ROBOT$_NO_ELEMENTS            %X076081A2   MRD_STATUS_NO_ELEMENTS
  ROBOT$_ACCVIO                 %X076081AA   MRD_STATUS_ACCVIO
  ROBOT$_DEVOFFLINE             %X076081B2   MRD_STATUS_DEVOFFLINE
  ROBOT$_EXQUOTA                %X076081BA   MRD_STATUS_EXQUOTA
  ROBOT$_ILLEFC                 %X076081C2   MRD_STATUS_ILLEFC
  ROBOT$_IVCHAN                 %X076081CA   MRD_STATUS_IVCHAN
  ROBOT$_NOPRIV                 %X076081D2   MRD_STATUS_NOPRIV
  ROBOT$_UNASEFC                %X076081DA   MRD_STATUS_UNASEFC
  ROBOT$_MOUNTED                %X076081E2   MRD_STATUS_MOUNTED
  ROBOT$_NO_SUCH_DEVICE         %X076081EA   MRD_STATUS_NO_SUCH_DEVICE
  ROBOT$_EBUSY                  %X076081F2   MRD_STATUS_EBUSY
  ROBOT$_EINTR                  %X076081FA   MRD_STATUS_EINTR
  ROBOT$_EIO                    %X07608202   MRD_STATUS_EIO
  ROBOT$_ENOENT                 %X0760820A   MRD_STATUS_ENOENT
  ROBOT$_EACCES                 %X07608212   MRD_STATUS_EACCES
  ROBOT$_EINVAL                 %X0760821A   MRD_STATUS_EINVAL
  ROBOT$_EBADF                  %X07608222   MRD_STATUS_EBADF
  ROBOT$_OS_ERROR               %X0760822A   MRD_STATUS_OS_ERROR
  ROBOT$_PARAM                  %X07608232   MRD_STATUS_PARAM
  ROBOT$_TRANSPORT_INVALID      %X0760823A   MRD_STATUS_TRANSPORT_INVALID
  ROBOT$_NO_VISION              %X07608242   MRD_STATUS_NO_VISION
  ROBOT$_RES_INVALID            %X0760824A   MRD_STATUS_RES_INVALID
  ROBOT$_SOURCE_INVALID         %X07608252   MRD_STATUS_SOURCE_INVALID
  ROBOT$_PORT_ACCESSED          %X0760825A   MRD_STATUS_PORT_ACCESSED
  ROBOT$_CART_NOT_FOUND         %X07608262   MRD_STATUS_CART_NOT_FOUND
  ROBOT$_BAD_DATES              %X0760826A   MRD_STATUS_BAD_DATES
  ROBOT$_PAGE_CODE              %X07608272   MRD_STATUS_PAGE_CODE
  ROBOT$_NOT_CHANGER            %X0760827A   MRD_STATUS_NOT_CHANGER
  ROBOT$_CLI_COMMAND            %X07608282
  ROBOT$_CLI_PARAMETER          %X0760828A
  ROBOT$_CLI_BAD_ARG            %X07608292
  ROBOT$_CLI_NO_ROBOT           %X0760829A
  ROBOT$_CLI_EXPECTS_PARAM      %X076082A2
  ROBOT$_CLI_EXPECTS_ARG        %X076082AA
  ROBOT$_CLI_MANY               %X076082B2
  ROBOT$_SCSI_CHECK             %X076082BA   MRD_STATUS_SCSI_CHECK
  ROBOT$_SCSI_CONDMET           %X076082C2   MRD_STATUS_SCSI_CONDMET
  ROBOT$_SCSI_BUSY              %X076082CA   MRD_STATUS_SCSI_BUSY
  ROBOT$_SCSI_INTER             %X076082D2   MRD_STATUS_SCSI_INTER
  ROBOT$_SCSI_INTER_CONDMET     %X076082DA   MRD_STATUS_SCSI_INTER_CONDMET
  ROBOT$_SCSI_RESCON            %X076082E2   MRD_STATUS_SCSI_RESCON
  ROBOT$_SCSI_TERM              %X076082EA   MRD_STATUS_SCSI_TERM
  ROBOT$_SCSI_QUEUE             %X076082F2   MRD_STATUS_SCSI_QUEUE
  ROBOT$_SCSI_RESERVED          %X076082FA   MRD_STATUS_SCSI_RESERVED
  ROBOT$_INIT_REQUIRED          %X07608302   MRD_STATUS_INIT_REQUIRED
  ROBOT$_DIAG_FAILED            %X0760830A   MRD_STATUS_DIAG_FAILED
  ROBOT$_IDE                    %X07608312   MRD_STATUS_IDE
  ROBOT$_OPERATOR               %X0760831A   MRD_STATUS_OPERATOR
  ROBOT$_LOG_ERROR              %X07608322   MRD_STATUS_LOG_ERROR
  ROBOT$_ELOG_OVERFLOW          %X0760832A   MRD_STATUS_ELOG_OVERFLOW
  ROBOT$_SYNC_XFER_ERROR        %X07608332   MRD_STATUS_SYNC_XFER_ERROR
Close Help