chio — medium
    changer control utility
  
    chio | 
    [-f changer]
      command [-<flags>]
      arg1 arg2
      [arg3 [...]] | 
  
The chio utility is used to control the
    operation of medium changers, such as those found in tape and optical disk
    jukeboxes.
The options are as follows:
  -f
    changer 
  - Use the device changer rather than the default
      device /dev/ch0.
 
A medium changer apparatus is made up of
    elements. There
    are five element types:
    picker
    (medium transport),
    slot
    (storage),
    portal
    (import/export),
    drive
    (data transfer), and voltag (select by volume identifier).
    The voltag pseudo-element type allows the selection of
    tapes by their volume tag (typically a barcode on the tape).
In this command description, the shorthand ET
    will be used to represent an element type, and EU will be
    used to represent an element unit. For example, to represent the first
    robotic arm in the changer, the ET would be
    “picker” and the EU would be
    “0”.
  move
    <from ET> <from EU> <to ET> <to
    EU> [inv] 
  - Move the media unit from <from ET/EU> to
      <to ET/EU>. If the optional modifier
      
inv is specified, the media unit will be inverted
      before insertion. 
  exchange
    <src ET> <src EU> <dst1 ET> <dst1
    EU> [<dst2 ET> <dst2 ET>]
    [inv1] [inv2] 
  - Perform a media unit exchange operation. The media unit in
      <src ET/EU> is moved to
      <dst1 ET/EU> and the media unit previously in
      <dst1 ET/EU> is moved to
      <dst2 ET/EU>. In the case of a simple
      exchange, <dst2 ET/EU> is omitted and the
      values <src ET/EU> are used in their place.
      The optional modifiers 
inv1 and
      inv2 specify whether the media units are to be
      inverted before insertion into <dst1 ET/EU>
      and <dst2 ET/EU> respectively.
    Note that not all medium changers support the
        exchange operation; the changer must have
        multiple free pickers or emulate multiple free pickers with transient
        storage.
   
  return
    <from ET> <from EU> 
  - Return the media unit to its source element. This command will query the
      status of the specified media unit, and will move it to the element
      specified in its source attribute. This is a convenient way to return
      media from a drive or portal to its previous element in the changer.
 
  position
    <to ET> <to EU>
    [inv] 
  - Position the picker in front of the element described by
      <to ET/EU>. If the optional modifier
      
inv is specified, the media unit will be inverted
      before insertion.
    Note that not all changers behave as expected when issued this
        command.
   
  params 
  - Report the number of slots, drives, pickers, and portals in the changer,
      and which picker unit the changer is currently configured to use.
 
  getpicker 
  - Report which picker unit the changer is currently configured to use.
 
  setpicker
    <unit> 
  - Configure the changer to use picker
    <unit>.
 
  ielem
    [<timeout>] 
  - Perform an
      INITIALIZE
      ELEMENT STATUS operation on the changer. The optional
      <timeout> parameter may be given to specify a
      timeout in seconds for the operations. This may be used if the operation
      takes unusually long because of buggy firmware or the like.
 
  voltag
    [-fca] <ET>
    <EU> [<label>]
    [<serial>] 
  - Change volume tag for an element in the media changer. This command is
      only supported by few media changers. If it is not supported by a device,
      using this command will usually result in an "Invalid Field in
      CDB" error message on the console.
    
If the -c flag is specified, the
        volume tag of the specified element is cleared. If the
        -f flag is specified, the volume tag is
        superseded with the specified volume tag even if a volume tag is already
        defined for the element. It is an error to not specify the
        -f flag when trying to set a label for an
        element which already has volume tag information defined.
    The command works with the primary volume tag or, if the
        -a flag is given, with the alternate volume
      tag.
   
  status
    [-vVsSbIa] [<type>] 
  - Report the status of all elements in the changer. If
      <type> is specified, report the status of all
      elements of type <type>.
 
  -v 
  - Print the primary volume tag for each loaded medium, if any. The volume
      tag is printed as “<LABEL:SERIAL>”.
 
  -V 
  - Print the alternate volume tag for each loaded medium, if any.
 
  -s 
  - Print the additional sense code and additional sense code qualifier for
      each element.
 
  -S 
  - Print the element source address for each element.
 
  -b 
  - Print SCSI bus information for each element. Note that this information is
      valid only for drives.
 
  -I 
  - Print the internal element addresses for each element. The internal
      element address is not normally used with this driver. It is reported for
      diagnostic purposes only.
 
  -a 
  - Print all additional information (as in
    
-vVsSba). 
The status bits are defined as follows:
  - FULL
 
  - Element contains a media unit.
 
  - IMPEXP
 
  - Media was deposited into element by an outside human operator.
 
  - EXCEPT
 
  - Element is in an abnormal state.
 
  - ACCESS
 
  - Media in this element is accessible by a picker.
 
  - EXENAB
 
  - Element supports passing media (exporting) to an outside human
    operator.
 
  - INENAB
 
  - Element supports receiving media (importing) from an outside human
      operator.
 
  CHANGER 
  - The default changer may be overridden by setting this environmental
      variable to the desired changer device.
 
  - /dev/ch0
 
  - default changer device
 
A chio utility appeared in
    NetBSD 1.3. chio first
    appeared in FreeBSD 2.2.