Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature_tlsv12/sys/man/8/scuzz – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
.TH SCUZZ 8
2
.SH NAME
3
scuzz \- SCSI target control
4
.SH SYNOPSIS
5
.B scuzz
6
[
7
.B -6eq
8
] [
9
.B -m
10
.I max-xfer
11
] [
12
[
13
.B -r
14
]
15
.I sddev
16
]
17
.SH DESCRIPTION
18
.I Scuzz
19
is an interactive program for exercising
20
raw SCSI devices.
21
Its intended purpose is to investigate and manipulate
22
odd devices without the effort of writing a special driver,
23
such as shuffling the media around on an optical jukebox.
24
It reads commands from standard input and applies them to a SCSI target
25
(other devices accessed through the
26
.IR sd (3)
27
interface,
28
such as ATA(PI) devices,
29
may also work).
30
If
31
.I sddev
32
is given on the command line, an
33
.B open
34
(see below)
35
is immediately applied to the target.
36
On successful completion of a command,
37
.BI ok " n
38
is printed, where
39
.I n
40
is the number of bytes transferred to/from the target;
41
the
42
.B -q
43
command line option suppresses the
44
.B ok
45
message.
46
.LP
47
The
48
.B -6
49
forces the use of 6-byte SCSI commands rather than 10-byte ones.
50
Some older devices require this, though
51
.I scuzz
52
attempts to adapt automatically.
53
The
54
.B -e
55
makes
56
.I scuzz
57
more willing to retry I/O errors but less tolerant of other errors
58
and implies
59
.BR -6 .
60
This option is often needed to read Exabyte 8mm tapes.
61
The
62
.B -m
63
option sets the maximum I/O transfer size to
64
.IR max-xfer .
65
Exabyte drives often require this to be 1024 or the exact tape block size
66
and some 4mm drives require this to be the exact tape block size or larger.
67
.SS Commands
68
.TF "inquiry"
69
.PD
70
.TP
71
.BI help " command
72
.B Help
73
is rudimentary and prints a one line synopsis for the named
74
.IR command ,
75
or for all commands if no argument is given.
76
.TP
77
.B probe
78
.B Probe
79
attempts an
80
.B inquiry
81
command on all SCSI units,
82
and prints the result preceded by the name of those
83
targets which respond.
84
.LP
85
The
86
.B help
87
and
88
.B probe
89
commands may be given at any time.
90
.TF "inquiry"
91
.PD
92
.TP
93
.BI open\ [ -r ] sddev
94
.B Open
95
must be given before any of the remaining commands will be accepted.
96
Internally,
97
unless the
98
.B -r
99
option is given,
100
.B open
101
issues
102
.B ready
103
then
104
.BR inquiry ,
105
followed by a device class-specific command to determine the
106
logical block size of the target.
107
.I Sddev
108
is an
109
.IR sd (3)
110
device directory like
111
.IR /dev/sdC0 .
112
.TP
113
.B close
114
.B Close
115
need only be given if another target is to be opened in the current
116
session.
117
.LP
118
The remaining commands are in rough groups,
119
intended for specific classes of device.
120
With the exception of the
121
.BR read ,
122
.BR write ,
123
and
124
.B space
125
commands,
126
all arguments are in the style of ANSI-C integer constants.
127
.TF "inquiry"
128
.PD
129
.TP
130
.B ready
131
Test Unit Ready
132
checks if the unit is powered up and ready to do
133
.B read
134
and
135
.B write
136
commands.
137
.TP
138
.B rezero
139
Rezero
140
Unit requests that a disk be brought to a known state,
141
usually by seeking to track zero.
142
.TP
143
.B rewind
144
.B Rewind
145
positions a tape at the beginning of current partition
146
(there is usually only one partition, the beginning of tape).
147
.TP
148
.B reqsense
149
Request Sense retrieves Sense Data concerning an error or
150
other condition and is usually issued following the completion of a command
151
that had check-condition status.
152
.I Scuzz
153
automatically issues a
154
.B reqsense
155
in response to a check-condition status and prints the result.
156
.TP
157
.B format
158
Format
159
Unit performs a ``low level'' format of a disk.
160
.TP
161
.B rblimits
162
Read Block Limits
163
reports the possible block lengths for the logical unit. Tapes only.
164
.TP
165
.BI read " file nbytes
166
.B Read
167
transfers data from the target to the host.
168
A missing
169
.I nbytes
170
causes the entire device to be read.
171
.TP
172
.BI write " file nbytes
173
.B Write
174
transfers data from the host to the target.
175
A missing
176
.I nbytes
177
causes the entire input file to be transferred.
178
.IP
179
The first argument to the
180
.BR read
181
and
182
.BR write
183
commands specifies a source
184
.RB ( write )
185
or destination
186
.RB ( read )
187
for the I/O.
188
The argument is either a plain file name or
189
.B |
190
followed by a command to be executed by
191
.IR rc (1).
192
The argument may be quoted in the style of
193
.IR rc (1).
194
.TP
195
.BI seek " offset whence
196
.B Seek
197
requests the target to seek to a position on a disk,
198
arguments being in the style of
199
.IR seek (2);
200
.I whence
201
is 0 by default.
202
.IP
203
.I Scuzz
204
maintains an internal notion of where the current target
205
is positioned.
206
The
207
.BR seek ,
208
.BR read ,
209
.BR write ,
210
.BR rewind ,
211
.BR rezero ,
212
and
213
.B wtrack
214
commands all manipulate the internal offset.
215
.TP
216
.BI filemark " howmany
217
Write Filemarks
218
writes one (default) or more filemarks on a tape.
219
.TP
220
.BI space\ [ -b ]\ [ -f ]\ [[ "--\fP]\fIhowmany\fP]"
221
.B Space
222
positions a tape forwards or backwards.
223
The arguments
224
specify logical block
225
.RB ( -b )
226
or
227
filemark
228
.RB ( -f )
229
spacing;
230
default is
231
.BR -b .
232
If
233
.I howmany
234
is negative
235
it specifies spacing backwards,
236
and should be preceded by
237
.B --
238
to turn off any further
239
option processing.
240
Default is 1.
241
.TP
242
.B inquiry
243
.B Inquiry
244
is issued to determine the device type of a particular target,
245
and to determine some basic information about the implemented options and
246
the product name.
247
.TP
248
.BI modeselect bytes...
249
.TP
250
.BI modeselect6 bytes...
251
Mode
252
Select
253
is issued to set variable parameters in the target.
254
.I Bytes
255
given as arguments comprise all the data for the target;
256
see an appropriate manual for the format.
257
The default is the 10-byte form of the command;
258
modeselect6 is the 6-byte version.
259
.TP
260
.BI modesense\ [ page [ nbytes ]]
261
.TP
262
.BI modesense6\ [ page [ nbytes ]]
263
Mode
264
Sense
265
reports variable and fixed parameters from the target.
266
If no
267
.I page
268
is given,
269
all pages are returned.
270
.I Nbytes
271
specifies how many bytes should be returned.
272
The default is the 10-byte form of the command;
273
modesense6 is the 6-byte version.
274
.TP
275
.BI start\ [ code ]
276
.TP
277
.BI stop\ [ code ]
278
.TP
279
.BI eject\ [ code ]
280
.TP
281
.BI ingest\ [ code ]
282
.BR Start ,
283
.BR stop ,
284
.BR eject ,
285
and
286
.B ingest
287
are synonyms for Start/Stop Unit with different default values of
288
.IR code .
289
Start/Stop Unit is typically used to spin up and spin down a rotating
290
disk drive.
291
.I Code
292
is 0 to stop,
293
1 to start and
294
3 to eject (if the device supports ejection of the medium).
295
.TP
296
.B capacity
297
Read Capacity reports the number of blocks and the block
298
size of a disk.
299
.LP
300
The following commands are specific to CD and CD-R/RW devices.
301
A brief description of each is given; see the SCSI-3
302
Multimedia Commands (MMC) Specification for details of arguments
303
and interpretation of the results.
304
.TF "inquiry"
305
.PD
306
.TP
307
.BI blank\ [ track/LBA [ type ]]
308
Erase a CD-RW disk.
309
Type identifies the method and coverage of the blanking.
310
.TP
311
.BI rtoc\ [ track/session-number [ ses ]]
312
The Read TOC/PMA command transfers data from one of the tables of contents
313
(TOC or PMA) on the CD medium.
314
.TP
315
.B rdiscinfo
316
(Note the spelling.)
317
Provides information about disks, including incomplete CD-R/RW.
318
.TP
319
.BI rtrackinfo\ [ track ]
320
Provides information about a track, regardless of its status.
321
.TP
322
.B cdpause
323
.TP
324
.B cdresume
325
Pause/resume playback.
326
.TP
327
.B cdstop
328
Stop playback.
329
.TP
330
.BI cdplay\ [ track-number ]\ or\ [ -r [ "LBA\fP[\fIlength\fP]]]"
331
Play audio.
332
With no arguments, starts at the beginning of the medium.
333
If a track number is given, the table of contents is read
334
to find the playback start point.
335
If the
336
.B -r
337
option is given, block addressing is used to find the
338
playback start point.
339
.TP
340
.BI cdload\ [ slot ]
341
.TP
342
.BI cdunload\ [ slot ]
343
Load/unload a disk from a changer.
344
.TP
345
.B cdstatus
346
Read the mechanism status.
347
.LP
348
The following commands are specific to Media Changer devices.
349
A brief description of each is given; see the SCSI-3
350
Medium Changer Commands (SMC) Specification for details of arguments.
351
.TF "inquiry"
352
.PD
353
.TP
354
.B einit
355
Initialize element status.
356
.TP
357
.BI "estatus " "type " [ length ]
358
Report the status of the internal elements.
359
Type 0 reports all element types.
360
.TP
361
.BI "mmove " transport\ source\ destination [ invert ]
362
Move medium.
363
.SH FILES
364
.TF /dev/sdXX/raw
365
.TP
366
.B /dev/\fIsdXX\fP/raw
367
raw SCSI interface for command, I/O, and status.
368
.SH SOURCE
369
.B /sys/src/cmd/scuzz
370
.SH "SEE ALSO"
371
.IR sd (3)
372
.br
373
.IR "Small Computer System Interface - 2 (X3T9.2/86-109)" ,
374
Global Engineering Documents
375
.br
376
.IR "SCSI Bench Reference" ,
377
ENDL Publications
378
.br
379
.IR "SCSI-3 Multimedia Commands (MMC) Specification" ,
380
www.t10.org
381
.br
382
.IR "SCSI-3 Medium Changer Commands (SMC) Specification" ,
383
www.t10.org
384
.SH BUGS
385
Only a limited subset of SCSI commands has been implemented (as needed).
386
.LP
387
Only one target can be open at a time.
388
.LP
389
LUNs other than 0 are not supported.
390
.LP
391
No way to force 10-byte commands, though they are the default.
392
.LP
393
Should be recoded to use
394
.IR scsi (2)
395
in order to get more complete sense code descriptions.
396
.LP
397
.I Scuzz
398
betrays its origins by spelling
399
.B rdiscinfo
400
with a
401
.B c
402
even though the devices it manipulates are spelled with a
403
.BR k .
404
.LP
405
The
406
.I max-xfer
407
value is currently limited to 245760
408
to limit kernel memory consumption.
409
.LP
410
It may be necessary to set
411
.I max-xfer
412
to exactly the block size used to write a tape
413
in order to read it on some drives.