September 8, 1999 CHIO 1

### NAME

chio - medium changer control utility

### SYNOPSIS

chio [-f changer] command arg1 arg2 ] [[arg3 ...]

### DESCRIPTION

chio 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`.

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

A medium changer apparatus is made up of ```elements`. There are four element types: ```picker` (medium transport), ```slot` (storage), ```portal` (import/export), and ```drive` (data transfer). 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''.

### SUPPORTED COMMANDS

chio move <from ET> <from EU> <to ET> <to EU> [inv]

Moves 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.

chio exchange <src ET> <src EU> <dst1 ET> <dst1 EU> [<dst2 ET> <dst2 ET>] [inv1] [inv2]

Performs 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.

chio 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.

chio params

Report the number of slots, drives, pickers, and portals in the changer, and which picker unit the changer is currently configured to use.

chio getpicker

Report which picker unit the changer is currently configured to use.

chio setpicker <unit>

Configure the changer to use picker ```<unit>`.

chio status <type> unit count[[[.blm Pp]]] [voltags]

Report the status of all elements in the changer. If ```<type>` is specified, report the status of all elements of type ```<type>`.

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.

If the element is a drive, the device name of the drive will be reported if it is available.

If the [voltags] option is specified, primary and alternate volume tag information will be reported, if available.

If the previous location of the media is available, it will also be reported.

chio ielem

Perform an INITIALIZE ELEMENT STATUS operation on the changer.

chio cdlu <sub-command> <slot>

This command is provided for controlling CD-ROM changer mechanisms which cannot use the standard changer control interface. ATAPI CD-ROM changers fall into this category. There are 3 sub-commands:

load
  Loads the media from the specified slot into the CD-ROM drive.

unload
  Unloads the media from the CD-ROM drive and returns it to the specified slot.

abort
  Aborts any pending load or unload operation.

### FILES

/dev/ch0 - default changer device

### EXAMPLES

```chio``-f``/dev/ch0` `move` `slot` `3` `drive` `0`

Moves the media in slot 3 (fourth slot) to drive 0 (first drive).

```chio` `setpicker` `2`

Configures the changer to use picker 2 (third picker) for operations.

```chio``-f``/dev/cd0a` `cdlu` `load` `1`

Loads the media from slot (second slot) into the CD-ROM drive.

```chio``-f``/dev/ch1` `status`

Returns status of all elements in the second changer.

### SEE ALSO

mt(1), mount(8)

### AUTHORS

The chio program and SCSI changer driver were originally written by Jason R. Thorpe for And Communications, http://www.and.com/. Additional development was done by Jason R. Thorpe for the Numerical Aerospace Simulation Facility, NASA Ames Research Center.