Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

.\"	$NetBSD: chio.1,v 1.20 2017/07/03 21:33:22 wiz Exp $
.\"
.\" Copyright (c) 1996, 1998, 1999 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to The NetBSD Foundation
.\" by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
.\" NASA Ames Research Center.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd August 25, 2016
.Dt CHIO 1
.Os
.Sh NAME
.Nm chio
.Nd medium changer control utility
.Sh SYNOPSIS
.Nm
.Op Fl f Ar changer
.Ar command
.Ar arg1
.Ar arg2
.Oo
.Ar arg3 Oo ...
.Oc
.Oc
.Sh DESCRIPTION
.Nm
is used to control the operation of medium changers, such as those found
in tape and optical disk jukeboxes.
.Pp
The options are as follows:
.Bl -tag -width indent
.It Fl f Ar changer
Use the device
.Pa changer
rather than the default device
.Pa /dev/ch0 .
.El
.Pp
A medium changer apparatus is made up of
.Pa elements .
There are four element types:
.Pa picker
(medium transport),
.Pa slot
(storage),
.Pa portal
(import/export), and
.Pa drive
(data transfer).
In this command description, the shorthand
.Ic ET
will be used to represent an element type, and
.Ic EU
will be used to represent an element unit.
For example, to represent
the first robotic arm in the changer, the ET would be
.Dq picker
and the EU would be
.Dq 0 .
.Sh SUPPORTED COMMANDS
.Nm
.Ic move
.Ar <from ET> <from EU> <to ET> <to EU>
.Op Ar inv
.Pp
Moves the media unit from
.Pa <from ET/EU>
to
.Pa <to ET/EU> .
If the optional modifier
.Pa inv
is specified, the media unit will be inverted before insertion.
.Pp
.Nm
.Ic exchange
.Ar <src ET> <src EU> <dst1 ET> <dst1 EU>
.Op Ar <dst2 ET> <dst2 ET>
.Op Ar inv1
.Op Ar inv2
.Pp
Performs a media unit exchange operation.
The media unit in
.Pa <src ET/EU>
is moved to
.Pa <dst1 ET/EU>
and the media unit previously in
.Pa <dst1 ET/EU>
is moved to
.Pa <dst2 ET/EU> .
In the case of a simple exchange,
.Pa <dst2 ET/EU>
is omitted and the values
.Pa <src ET/EU>
are used in their place.
The optional modifiers
.Pa inv1
and
.Pa inv2
specify whether the media units are to be inverted before insertion into
.Pa <dst1 ET/EU>
and
.Pa <dst2 ET/EU>
respectively.
.Pp
Note that not all medium changers support the
.Ic exchange
operation; The changer must have multiple free pickers or emulate
multiple free pickers with transient storage.
.Pp
.Nm
.Ic position
.Ar <to ET> <to EU>
.Op Ar inv
.Pp
Position the picker in front of the element described by
.Pa <to ET/EU> .
If the optional modifier
.Pa inv
is specified, the media unit will be inverted before insertion.
.Pp
Note that not all changers behave as expected when issued this command.
.Pp
.Nm
.Ic params
.Pp
Report the number of slots, drives, pickers, and portals in the changer,
and which picker unit the changer is currently configured to use.
.Pp
.Nm
.Ic getpicker
.Pp
Report which picker unit the changer is currently configured to use.
.Pp
.Nm
.Ic setpicker
.Ar <unit>
.Pp
Configure the changer to use picker
.Pa <unit> .
.Pp
.Nm
.Ic status
.Oo Ar <type> Oo unit Oo count Oc Oc Oc
.Op Ar voltags
.Pp
Report the status of all elements in the changer.
If
.Pa <type>
is specified, report the status of all elements of type
.Pa <type> .
.Pp
The status bits are defined as follows:
.Bl -tag -width indent
.It Nm FULL
Element contains a media unit.
.It Nm IMPEXP
Media was deposited into element by an outside human operator.
.It Nm EXCEPT
Element is in an abnormal state.
.It Nm ACCESS
Media in this element is accessible by a picker.
.It Nm EXENAB
Element supports passing media (exporting) to an outside human operator.
.It Nm INENAB
Element supports receiving media (importing) from an outside human operator.
.El
.Pp
If the element is a drive, the device name of the drive will be reported
if it is available.
.Pp
If the
.Op Ar voltags
option is specified, primary and alternate volume tag information will
be reported, if available.
.Pp
If the previous location of the media is available, it will also be reported.
.Pp
.Nm
.Ic ielem
.Pp
Perform an
.Em INITIALIZE ELEMENT STATUS
operation on the changer.
.Pp
.Nm
.Ic cdlu
.Ar <sub-command>
.Ar <slot>
.Pp
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:
.Bl -tag -width indent
.It Nm load
Loads the media from the specified slot into the CD-ROM drive.
.It Nm unload
Unloads the media from the CD-ROM drive and returns it to the specified slot.
.It Nm abort
Aborts any pending load or unload operation.
.El
.Sh ENVIRONMENT
.Bl -tag -width CHANGER
.It Ev CHANGER
The default changer may be overridden by setting this environmental
variable to the desired changer device.
.El
.Sh FILES
/dev/ch0 - default changer device
.Sh EXAMPLES
.Dl chio -f /dev/ch0 move slot 3 drive 0
.Pp
Moves the media in slot 3 (fourth slot) to drive 0 (first drive).
.Pp
.Dl chio setpicker 2
.Pp
Configures the changer to use picker 2 (third picker) for operations.
.Pp
.Dl chio -f /dev/cd0a cdlu load 1
.Pp
Loads the media from slot (second slot) into the CD-ROM drive.
.Pp
.Dl chio -f /dev/ch1 status
.Pp
Returns status of all elements in the second changer.
.Sh SEE ALSO
.Xr mt 1 ,
.Xr mount 8
.Sh HISTORY
A
.Nm
utility appeared in
.Nx 1.3 .
.Sh AUTHORS
The
.Nm
program and SCSI changer driver were originally written by
.An Jason R. Thorpe
for
.Lk http://www.and.com/ And Communications .
Additional development was done by
.An -nosplit
.An Jason R. Thorpe
for the Numerical Aerospace Simulation Facility,
NASA Ames Research Center.