xref: /freebsd/bin/chio/chio.1 (revision 9d5abbddbf03791c777fed86500976ea3dd19245)
120bf9a14SJustin T. Gibbs.\"	$NetBSD: chio.1,v 1.4 1997/10/02 00:41:25 hubertf Exp $
2224c8a5bSJoerg Wunsch.\"
3224c8a5bSJoerg Wunsch.\" Copyright (c) 1996 Jason R. Thorpe <thorpej@and.com>
4224c8a5bSJoerg Wunsch.\" All rights reserved.
5224c8a5bSJoerg Wunsch.\"
6224c8a5bSJoerg Wunsch.\" Redistribution and use in source and binary forms, with or without
7224c8a5bSJoerg Wunsch.\" modification, are permitted provided that the following conditions
8224c8a5bSJoerg Wunsch.\" are met:
9224c8a5bSJoerg Wunsch.\" 1. Redistributions of source code must retain the above copyright
10224c8a5bSJoerg Wunsch.\"    notice, this list of conditions and the following disclaimer.
11224c8a5bSJoerg Wunsch.\" 2. Redistributions in binary form must reproduce the above copyright
12224c8a5bSJoerg Wunsch.\"    notice, this list of conditions and the following disclaimer in the
13224c8a5bSJoerg Wunsch.\"    documentation and/or other materials provided with the distribution.
14224c8a5bSJoerg Wunsch.\" 3. All advertising materials mentioning features or use of this software
15224c8a5bSJoerg Wunsch.\"    must display the following acknowledgements:
16224c8a5bSJoerg Wunsch.\"	This product includes software developed by Jason R. Thorpe
17224c8a5bSJoerg Wunsch.\"	for And Communications, http://www.and.com/
18224c8a5bSJoerg Wunsch.\" 4. The name of the author may not be used to endorse or promote products
19224c8a5bSJoerg Wunsch.\"    derived from this software without specific prior written permission.
20224c8a5bSJoerg Wunsch.\"
21224c8a5bSJoerg Wunsch.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22224c8a5bSJoerg Wunsch.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23224c8a5bSJoerg Wunsch.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24224c8a5bSJoerg Wunsch.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25224c8a5bSJoerg Wunsch.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26224c8a5bSJoerg Wunsch.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27224c8a5bSJoerg Wunsch.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28224c8a5bSJoerg Wunsch.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29224c8a5bSJoerg Wunsch.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30224c8a5bSJoerg Wunsch.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31224c8a5bSJoerg Wunsch.\" SUCH DAMAGE.
32224c8a5bSJoerg Wunsch.\"
332a456239SPeter Wemm.\" $FreeBSD$
34cbf6f7d3SPhilippe Charnier.\"
3520bf9a14SJustin T. Gibbs.Dd May 14, 1998
36224c8a5bSJoerg Wunsch.Dt CHIO 1
37224c8a5bSJoerg Wunsch.Os
38224c8a5bSJoerg Wunsch.Sh NAME
39224c8a5bSJoerg Wunsch.Nm chio
40224c8a5bSJoerg Wunsch.Nd medium changer control utility
41224c8a5bSJoerg Wunsch.Sh SYNOPSIS
4220bf9a14SJustin T. Gibbs.Nm
43224c8a5bSJoerg Wunsch.Op Fl f Ar changer
44224c8a5bSJoerg Wunsch.Ar command
4520bf9a14SJustin T. Gibbs.Op Fl <flags>
46224c8a5bSJoerg Wunsch.Ar arg1
47224c8a5bSJoerg Wunsch.Ar arg2
48e30b1c64SRuslan Ermilov.Op Ar arg3 Op ...
49224c8a5bSJoerg Wunsch.Sh DESCRIPTION
5020bf9a14SJustin T. Gibbs.Nm
51224c8a5bSJoerg Wunschis used to control the operation of medium changers, such as those found
52224c8a5bSJoerg Wunschin tape and optical disk jukeboxes.
53224c8a5bSJoerg Wunsch.Pp
54224c8a5bSJoerg WunschThe options are as follows:
55224c8a5bSJoerg Wunsch.Bl -tag -width indent
56224c8a5bSJoerg Wunsch.It Fl f Ar changer
57224c8a5bSJoerg WunschUse the device
589b24396bSSheldon Hearn.Ar changer
59224c8a5bSJoerg Wunschrather than the default device
60224c8a5bSJoerg Wunsch.Pa /dev/ch0 .
61224c8a5bSJoerg Wunsch.El
62224c8a5bSJoerg Wunsch.Pp
63224c8a5bSJoerg WunschThe default changer may be overridden by setting the environment variable
64cbf6f7d3SPhilippe Charnier.Ev CHANGER
65224c8a5bSJoerg Wunschto the desired changer device.
66224c8a5bSJoerg Wunsch.Pp
67224c8a5bSJoerg WunschA medium changer apparatus is made up of
68cbf6f7d3SPhilippe Charnier.Em elements .
69f944dc77SKenneth D. MerryThere are five element types:
70cbf6f7d3SPhilippe Charnier.Em picker
71224c8a5bSJoerg Wunsch(medium transport),
72cbf6f7d3SPhilippe Charnier.Em slot
73224c8a5bSJoerg Wunsch(storage),
74cbf6f7d3SPhilippe Charnier.Em portal
75f944dc77SKenneth D. Merry(import/export),
76cbf6f7d3SPhilippe Charnier.Em drive
77f944dc77SKenneth D. Merry(data transfer), and
78f944dc77SKenneth D. Merry.Em voltag
79f944dc77SKenneth D. Merry(select by volume identifier).  The
80f944dc77SKenneth D. Merry.Em voltag
81f944dc77SKenneth D. Merrypseudo-element type allows the selection of tapes by their volume tag
82f944dc77SKenneth D. Merry(typically a barcode on the tape).
83f944dc77SKenneth D. Merry.Pp
84f944dc77SKenneth D. MerryIn this command description, the shorthand
85cbf6f7d3SPhilippe Charnier.Em ET
86224c8a5bSJoerg Wunschwill be used to represent an element type, and
87cbf6f7d3SPhilippe Charnier.Em EU
88f944dc77SKenneth D. Merrywill be used to represent an element unit.
89f944dc77SKenneth D. MerryFor example, to represent the first robotic arm in the changer, the
90cbf6f7d3SPhilippe Charnier.Em ET
91cbf6f7d3SPhilippe Charnierwould be
92224c8a5bSJoerg Wunsch.Dq picker
93cbf6f7d3SPhilippe Charnierand the
94cbf6f7d3SPhilippe Charnier.Em EU
95cbf6f7d3SPhilippe Charnierwould be
96224c8a5bSJoerg Wunsch.Dq 0 .
97224c8a5bSJoerg Wunsch.Sh SUPPORTED COMMANDS
98cbf6f7d3SPhilippe Charnier.Bl -tag -width indent
999b24396bSSheldon Hearn.It Ic move Xo
100224c8a5bSJoerg Wunsch.Ar <from ET> <from EU> <to ET> <to EU>
10152e0c32bSRuslan Ermilov.Op Cm inv
102cbf6f7d3SPhilippe Charnier.Xc
103cbf6f7d3SPhilippe CharnierMove the media unit from
1049b24396bSSheldon Hearn.Ar <from ET/EU>
105224c8a5bSJoerg Wunschto
1069b24396bSSheldon Hearn.Ar <to ET/EU> .
107224c8a5bSJoerg WunschIf the optional modifier
10852e0c32bSRuslan Ermilov.Cm inv
109224c8a5bSJoerg Wunschis specified, the media unit will be inverted before insertion.
1109b24396bSSheldon Hearn.It Ic exchange Xo
111224c8a5bSJoerg Wunsch.Ar <src ET> <src EU> <dst1 ET> <dst1 EU>
112224c8a5bSJoerg Wunsch.Op Ar <dst2 ET> <dst2 ET>
11352e0c32bSRuslan Ermilov.Op Cm inv1
11452e0c32bSRuslan Ermilov.Op Cm inv2
115cbf6f7d3SPhilippe Charnier.Xc
116cbf6f7d3SPhilippe CharnierPerform a media unit exchange operation.  The media unit in
1179b24396bSSheldon Hearn.Ar <src ET/EU>
118224c8a5bSJoerg Wunschis moved to
1199b24396bSSheldon Hearn.Ar <dst1 ET/EU>
120224c8a5bSJoerg Wunschand the media unit previously in
1219b24396bSSheldon Hearn.Ar <dst1 ET/EU>
122224c8a5bSJoerg Wunschis moved to
1239b24396bSSheldon Hearn.Ar <dst2 ET/EU> .
124224c8a5bSJoerg WunschIn the case of a simple exchange,
1259b24396bSSheldon Hearn.Ar <dst2 ET/EU>
126224c8a5bSJoerg Wunschis omitted and the values
1279b24396bSSheldon Hearn.Ar <src ET/EU>
128224c8a5bSJoerg Wunschare used in their place.
129224c8a5bSJoerg WunschThe optional modifiers
13052e0c32bSRuslan Ermilov.Cm inv1
131224c8a5bSJoerg Wunschand
13252e0c32bSRuslan Ermilov.Cm inv2
133224c8a5bSJoerg Wunschspecify whether the media units are to be inverted before insertion into
1349b24396bSSheldon Hearn.Ar <dst1 ET/EU>
135224c8a5bSJoerg Wunschand
1369b24396bSSheldon Hearn.Ar <dst2 ET/EU>
137f6b31571SWolfram Schneiderrespectively.
138224c8a5bSJoerg Wunsch.Pp
139224c8a5bSJoerg WunschNote that not all medium changers support the
14020bf9a14SJustin T. Gibbs.Ic exchange
141305a253aSKris Kennawayoperation; the changer must have multiple free pickers or emulate
142224c8a5bSJoerg Wunschmultiple free pickers with transient storage.
1439b24396bSSheldon Hearn.It Ic return Xo
144f944dc77SKenneth D. Merry.Ar <from ET> <from EU>
145f944dc77SKenneth D. Merry.Xc
146f944dc77SKenneth D. MerryReturn the media unit to its source element.
147f944dc77SKenneth D. MerryThis command will query the status of the specified media unit, and
148f944dc77SKenneth D. Merrywill move it to the element specified in its source attribute.
149f944dc77SKenneth D. MerryThis is a convenient way to return media from a drive or portal
150f944dc77SKenneth D. Merryto its previous element in the changer.
151f944dc77SKenneth D. Merry.Pp
1529b24396bSSheldon Hearn.It Ic position Xo
153224c8a5bSJoerg Wunsch.Ar <to ET> <to EU>
15452e0c32bSRuslan Ermilov.Op Cm inv
155cbf6f7d3SPhilippe Charnier.Xc
156224c8a5bSJoerg WunschPosition the picker in front of the element described by
1579b24396bSSheldon Hearn.Ar <to ET/EU> .
158224c8a5bSJoerg WunschIf the optional modifier
15952e0c32bSRuslan Ermilov.Cm inv
160224c8a5bSJoerg Wunschis specified, the media unit will be inverted before insertion.
161224c8a5bSJoerg Wunsch.Pp
162224c8a5bSJoerg WunschNote that not all changers behave as expected when issued this command.
1639b24396bSSheldon Hearn.It Ic params
164224c8a5bSJoerg WunschReport the number of slots, drives, pickers, and portals in the changer,
165224c8a5bSJoerg Wunschand which picker unit the changer is currently configured to use.
1669b24396bSSheldon Hearn.It Ic getpicker
167224c8a5bSJoerg WunschReport which picker unit the changer is currently configured to use.
1689b24396bSSheldon Hearn.It Ic setpicker Xo
169224c8a5bSJoerg Wunsch.Ar <unit>
170cbf6f7d3SPhilippe Charnier.Xc
171224c8a5bSJoerg WunschConfigure the changer to use picker
1729b24396bSSheldon Hearn.Ar <unit> .
17320bf9a14SJustin T. Gibbs.Pp
1749b24396bSSheldon Hearn.It Ic ielem Xo
1759b24396bSSheldon Hearn.Op Ar <timeout>
17620bf9a14SJustin T. Gibbs.Xc
1779b24396bSSheldon HearnPerform an
1789b24396bSSheldon Hearn.Em INITIALIZE ELEMENT STATUS
17920bf9a14SJustin T. Gibbsoperation on the changer.  The optional
1809b24396bSSheldon Hearn.Ar <timeout>
18120bf9a14SJustin T. Gibbsparameter may be given to specify a timeout in seconds for the
18220bf9a14SJustin T. Gibbsoperations.  This may be used if the operation takes unusually long
18320bf9a14SJustin T. Gibbsbecause of buggy firmware or the like.
1849b24396bSSheldon Hearn.It Ic voltag Xo
18520bf9a14SJustin T. Gibbs.Op Fl fca
18620bf9a14SJustin T. Gibbs.Ar <ET>
18720bf9a14SJustin T. Gibbs.Ar <EU>
18820bf9a14SJustin T. Gibbs.Op Ar <label>
18920bf9a14SJustin T. Gibbs.Op Ar <serial>
19020bf9a14SJustin T. Gibbs.Xc
19120bf9a14SJustin T. GibbsChange volume tag for an element in the media changer.  This command
19220bf9a14SJustin T. Gibbsis only supported by few media changers.  If it is not supported by a
1939d5abbddSJens Schweikhardtdevice, using this command will usually result in an "Invalid Field in
19420bf9a14SJustin T. GibbsCDB" error message on the console.
19520bf9a14SJustin T. Gibbs.Pp
19620bf9a14SJustin T. GibbsIf the
19720bf9a14SJustin T. Gibbs.Fl c
19820bf9a14SJustin T. Gibbsflag is specified, the volume tag of the specified element is
19920bf9a14SJustin T. Gibbscleared.  If the
20020bf9a14SJustin T. Gibbs.Fl f
201969385c1SBill Fumerolaflag is specified, the volume tag is superseded with the specified
20220bf9a14SJustin T. Gibbsvolume tag even if a volume tag is already defined for the element.
20320bf9a14SJustin T. GibbsIt is an error to not specify the
20420bf9a14SJustin T. Gibbs.Fl f
20520bf9a14SJustin T. Gibbsflag when trying to set a label for an element which already has
20620bf9a14SJustin T. Gibbsvolume tag information defined.
20720bf9a14SJustin T. Gibbs.Pp
20820bf9a14SJustin T. GibbsThe command works with the primary volume tag or, if the
20920bf9a14SJustin T. Gibbs.Fl a
21020bf9a14SJustin T. Gibbsflag is given, with the alternate volume tag.
2119b24396bSSheldon Hearn.It Ic status Xo
21220bf9a14SJustin T. Gibbs.Op Fl vVsSbIa
213224c8a5bSJoerg Wunsch.Op Ar <type>
214cbf6f7d3SPhilippe Charnier.Xc
215224c8a5bSJoerg WunschReport the status of all elements in the changer.  If
2169b24396bSSheldon Hearn.Ar <type>
217224c8a5bSJoerg Wunschis specified, report the status of all elements of type
2189b24396bSSheldon Hearn.Ar <type> .
21920bf9a14SJustin T. Gibbs.It Fl v
22020bf9a14SJustin T. GibbsPrint the primary volume tag for each loaded medium, if any.  The volume
2219b24396bSSheldon Hearntag is printed as
2229b24396bSSheldon Hearn.Dq <LABEL:SERIAL> .
22320bf9a14SJustin T. Gibbs.It Fl V
22420bf9a14SJustin T. GibbsPrint the alternate volume tag for each loaded medium, if any.
22520bf9a14SJustin T. Gibbs.It Fl s
22620bf9a14SJustin T. GibbsPrint the additional sense code and additional sense code qualifier for
22720bf9a14SJustin T. Gibbseach element.
22820bf9a14SJustin T. Gibbs.It Fl S
22920bf9a14SJustin T. GibbsPrint the element source address for each element.
23020bf9a14SJustin T. Gibbs.It Fl b
23120bf9a14SJustin T. GibbsPrint SCSI bus information for each element.  Note that this information
23220bf9a14SJustin T. Gibbsis valid only for drives.
23320bf9a14SJustin T. Gibbs.It Fl I
23420bf9a14SJustin T. GibbsPrint the internal element addresses for each element.  The internal
23520bf9a14SJustin T. Gibbselement address is not normally used with this driver.  It is reported
23620bf9a14SJustin T. Gibbsfor diagnostic purposes only.
23720bf9a14SJustin T. Gibbs.It Fl a
23820bf9a14SJustin T. GibbsPrint all additional information (as in
23994ba280cSRuslan Ermilov.Fl vVsSba ) .
240cbf6f7d3SPhilippe Charnier.El
241224c8a5bSJoerg Wunsch.Pp
242224c8a5bSJoerg WunschThe status bits are defined as follows:
243224c8a5bSJoerg Wunsch.Bl -tag -width indent
244cbf6f7d3SPhilippe Charnier.It FULL
245224c8a5bSJoerg WunschElement contains a media unit.
246cbf6f7d3SPhilippe Charnier.It IMPEXP
247224c8a5bSJoerg WunschMedia was deposited into element by an outside human operator.
248cbf6f7d3SPhilippe Charnier.It EXCEPT
249224c8a5bSJoerg WunschElement is in an abnormal state.
250cbf6f7d3SPhilippe Charnier.It ACCESS
251224c8a5bSJoerg WunschMedia in this element is accessible by a picker.
252cbf6f7d3SPhilippe Charnier.It EXENAB
25332c21313SSteve PriceElement supports passing media (exporting) to an outside human operator.
254cbf6f7d3SPhilippe Charnier.It INENAB
255224c8a5bSJoerg WunschElement supports receiving media (importing) from an outside human operator.
256224c8a5bSJoerg Wunsch.El
257224c8a5bSJoerg Wunsch.Sh EXAMPLES
258cbf6f7d3SPhilippe Charnier.Bl -tag -width indent
2599b24396bSSheldon Hearn.It Li chio move slot 3 drive 0
260cbf6f7d3SPhilippe CharnierMove the media in slot 3 (fourth slot) to drive 0 (first drive).
2619b24396bSSheldon Hearn.It Li chio move voltag VOLUME01 drive 0
262f944dc77SKenneth D. MerryMove the media with the barcode VOLUME01 to drive 0 (first drive).
2639b24396bSSheldon Hearn.It Li chio return drive 0
264f944dc77SKenneth D. MerryRemove the tape from drive 0 (first drive) and return it to its original
265f944dc77SKenneth D. Merrylocation in the rack.
2669b24396bSSheldon Hearn.It Li chio setpicker 2
267cbf6f7d3SPhilippe CharnierConfigure the changer to use picker 2 (third picker) for operations.
268cbf6f7d3SPhilippe Charnier.El
269224c8a5bSJoerg Wunsch.Sh FILES
270cbf6f7d3SPhilippe Charnier.Bl -tag -width /dev/ch0 -compact
271cbf6f7d3SPhilippe Charnier.It Pa /dev/ch0
272cbf6f7d3SPhilippe Charnierdefault changer device
273cbf6f7d3SPhilippe Charnier.El
274224c8a5bSJoerg Wunsch.Sh SEE ALSO
275224c8a5bSJoerg Wunsch.Xr mt 1 ,
27632e5e4cfSBen Smithurst.Xr mount 8
27705e61fd5SPhilippe Charnier.Sh AUTHORS
278725ab628SRuslan Ermilov.An -nosplit
279224c8a5bSJoerg WunschThe
280cbf6f7d3SPhilippe Charnier.Nm
28105e61fd5SPhilippe Charnierprogram and SCSI changer driver were written by
28205e61fd5SPhilippe Charnier.An Jason R. Thorpe Aq thorpej@and.com
283725ab628SRuslan Ermilovfor And Communications,
284725ab628SRuslan Ermilov.Pa http://www.and.com/ .
285726b61abSRuslan Ermilov.Pp
28620bf9a14SJustin T. GibbsAdditional work by
287f944dc77SKenneth D. Merry.An Hans Huebner
288f944dc77SKenneth D. Merry.Aq hans@artcom.de
289726b61abSRuslan Ermilovand
290726b61abSRuslan Ermilov.An Steve Gunn
291725ab628SRuslan Ermilov.Aq csg@waterspout.com .
292