CHIO(1) | General Commands Manual | CHIO(1)

# NAME

`chio` — medium changer control utility

# SYNOPSIS

`chio` | [`-f` changer] command [arg ...]

# DESCRIPTION

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 code, which is 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”.

The following commands are supported:

`exchange` src-ET src-EU dst1-ET dst1-EU [dst2-ET dst2-EU] [`inv1`] [`inv2`]
  Performs a media unit exchange operation. The media unit in src-ET/src-EU is moved to dst1-ET/dst1-EU and the media unit previously in dst1-ET/dst1-EU is moved to dst2-ET/dst2-EU. In the case of a simple exchange, dst2-ET/dst2-EU is omitted and the values src-ET/src-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/dst2-EU and dst2-ET/dst2-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.

`getpicker`
  Report which picker unit the changer is currently configured to use.
`move` from-ET from-EU to-ET to-EU [`inv`]
  Moves the media unit from from-ET/from-EU to to-ET/to-EU. If the optional modifier `inv` is specified, the media unit will be inverted before insertion. If from-ET is a drive, `chio` will first attempt to open and perform an `MTOFFL` operation on the st(4) device corresponding to from-EU. By default, the st(4) device /dev/rstX is used, where X is the from-EU. This mapping can be changed by using the chio.conf(5) file.
`params`
  Report the number of slots, drives, pickers, and portals in the changer, and which picker unit the changer is currently configured to use.
`position` to-ET to-EU [`inv`]
  Position the picker in front of the element described by to-ET/to-EU. If the optional modifier `inv` is specified, the media unit will be inverted before insertion.

  Note that not all changers behave as expected in response to this command.

`setpicker` unit
  Configure the changer to use picker unit.
`status`
  [`-vVa`] [ET] Report the status of all elements in the changer. If ET is specified, report the status of all elements of type ET.
  `-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.
  `-a`
    Print all additional information (as in `-vV`).

  The status bits output 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.

# ENVIRONMENT

`CHANGER`
  The default changer may be overridden by setting this environmental variable to the desired changer device.

# FILES

/dev/ch0
  Default changer device.
/etc/chio.conf
  Optional configuration file to set up a non-default mapping between st(4) devices and changer drives.

# EXAMPLES

Move the media in slot 3 (fourth slot) to drive 0 (first drive):

`# chio move slot 3 drive 0`

Move the media with volume tag 000007L2 to drive 1 (second drive):

`# chio move voltag 00007L2 drive 1`

Configure the changer to use picker 2 (third picker) for operations:

`# chio setpicker 2`

# SEE ALSO

mt(1), ch(4), st(4), chio.conf(5)

# HISTORY

A `chio` utility appeared in NetBSD 1.3.

# AUTHORS

The `chio` program and SCSI changer driver were written by Jason R. Thorpe for And Communications.

February 18, 2022 | Debian