/[debburn]/nonameyet/trunk/scgcheck/scgcheck.1
ViewVC logotype

Contents of /nonameyet/trunk/scgcheck/scgcheck.1

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations) (download)
Fri Aug 18 17:34:13 2006 UTC (6 years, 9 months ago) by blade
File size: 10408 byte(s)
Imported the resorted version a08
1 .\" @(#)scgcheck.1 1.9 05/05/15 Copyright 2000 J. Schilling
2 .\"
3 .\" This program is free software; you can redistribute it and/or modify
4 .\" it under the terms of the GNU General Public License version 2
5 .\" as published by the Free Software Foundation.
6 .\"
7 .\" The GNU General Public License's references to "object code"
8 .\" and "executables" are to be interpreted as the output of any
9 .\" document formatting or typesetting system, including
10 .\" intermediate and printed output.
11 .\"
12 .\" This manual is distributed in the hope that it will be useful,
13 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
14 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 .\" GNU General Public License for more details.
16 .\"
17 .\" You should have received a copy of the GNU General Public License along with
18 .\" this program; see the file COPYING. If not, write to the Free Software
19 .\" Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 .\"
21 .if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a
22 .if t .ds o \v'-0.55m'\h'0.00n'\z.\h'0.45n'\z.\v'0.55m'\h'-0.45n'o
23 .if t .ds u \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'u
24 .if t .ds A \v'-0.77m'\h'0.25n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.70n'A
25 .if t .ds O \v'-0.77m'\h'0.25n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.70n'O
26 .if t .ds U \v'-0.77m'\h'0.30n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.75n'U
27 .if t .ds s \\(*b
28 .if t .ds S SS
29 .if n .ds a ae
30 .if n .ds o oe
31 .if n .ds u ue
32 .if n .ds s sz
33 .TH SCGCHECK 1 "Version 2.0" "J\*org Schilling" "Schily\'s USER COMMANDS"
34 .SH NAME
35 scgcheck \- check and validate the ABI of libscg
36 .SH SYNOPSIS
37 .B scgcheck
38 [
39 .I options
40 ]
41
42 .SH DESCRIPTION
43 .B Scgcheck
44 is used to check and verify the Application Binary Interface of libscg.
45
46 .PP
47 The
48 .I device
49 refers to
50 .IR scsibus / target / lun
51 of the drive. Communication on
52 .I SunOS
53 is done with the SCSI general driver
54 .B scg.
55 Other operating systems are using a library simulation of this driver.
56 Possible syntax is:
57 .B dev=
58 .IR scsibus , target , lun
59 or
60 .B dev=
61 .IR target , lun .
62 In the latter case, the drive has to be connected to the default
63 SCSI bus of the machine.
64 .IR Scsibus ,
65 .I target
66 and
67 .I lun
68 are integer numbers.
69 Some operating systems or SCSI transport implementations may require to
70 specify a filename in addition.
71 In this case the correct syntax for the device is:
72 .B dev=
73 .IR devicename : scsibus , target , lun
74 or
75 .B dev=
76 .IR devicename : target , lun .
77 If the name of the device node that has been specified on such a system
78 refers to exactly one SCSI device, a shorthand in the form
79 .B dev=
80 .IR devicename : @
81 or
82 .B dev=
83 .IR devicename : @ , lun
84 may be used instead of
85 .B dev=
86 .IR devicename : scsibus , target , lun .
87
88 .PP
89 To access remote SCSI devices, you need to prepend the SCSI device name by
90 a remote device indicator. The remote device indicator is either
91 .BI REMOTE: user@host:
92 or
93 .BR
94 .BI REMOTE: host:
95 .br
96 A valid remote SCSI device name may be:
97 .BI REMOTE: user@host:
98 to allow remote SCSI bus scanning or
99 .BI REMOTE: user@host:1,0,0
100 to access the SCSI device at
101 .I host
102 connected to SCSI bus # 1,target 0 lun 0.
103
104 .PP
105 To make
106 .B readcd
107 portable to all \s-2UNIX\s0 platforms, the syntax
108 .B dev=
109 .IR devicename : scsibus , target , lun
110 is preferred as is hides OS specific knowledge about device names from the user.
111 A specific OS must not necessarily support a way to specify a real device file name nor a
112 way to specify
113 .IR scsibus , target , lun .
114
115 .PP
116 .I Scsibus
117 0 is the default SCSI bus on the machine. Watch the boot messages for more
118 information or look into
119 .B /var/adm/messages
120 for more information about the SCSI configuration of your machine.
121 If you have problems to figure out what values for
122 .IR scsibus , target , lun
123 should be used, try the
124 .B \-scanbus
125 option of
126 .BR cdrecord .
127
128 .SH OPTIONS
129 .TP
130 .B \-version
131 Print version information and exit.
132 .TP
133 .BI dev= target
134 Sets the SCSI target default for SCSI Bus scanning test, see notes above.
135 This allows e.g. to specify to use Solaris USCSI or remote SCSI
136 for the bus scanning case.
137
138 For the non bus scanning case, a typical device specification is
139 .BI dev= 6,0
140 \&.
141 If a filename must be provided together with the numerical target
142 specification, the filename is implementation specific.
143 The correct filename in this case can be found in the system specific
144 manuals of the target operating system.
145 On a
146 .I FreeBSD
147 system without
148 .I CAM
149 support, you need to use the control device (e.g.
150 .IR /dev/rcd0.ctl ).
151 A correct device specification in this case may be
152 .BI dev= /dev/rcd0.ctl:@
153 \&.
154 .sp
155 On Linux, drives connected to a parallel port adapter are mapped
156 to a virtual SCSI bus. Different adapters are mapped to different
157 targets on this virtual SCSI bus.
158 .sp
159 If no
160 .I dev
161 option is present,
162 .B cdrecord
163 will try to get the device from the
164 .B CDR_DEVICE
165 environment.
166 .sp
167 If the argument to the
168 .B dev=
169 option does not contain the characters ',', '/', '@' or ':',
170 it is interpreted as an label name that may be found in the file
171 /etc/default/cdrecord (see FILES section).
172 .TP
173 .BI timeout= #
174 Set the default SCSI command timeout value to
175 .IR # " seconds.
176 The default SCSI command timeout is the minimum timeout used for sending
177 SCSI commands.
178 If a SCSI command fails due to a timeout, you may try to raise the
179 default SCSI command timeout above the timeout value of the failed command.
180 If the command runs correctly with a raised command timeout,
181 please report the better timeout value and the corresponding command to
182 the author of the program.
183 If no
184 .I timeout
185 option is present, a default timeout of 40 seconds is used.
186 .TP
187 .BI debug= "#, " -d
188 Set the misc debug value to # (with debug=#) or increment
189 the misc debug level by one (with -d). If you specify
190 .I -dd,
191 this equals to
192 .BI debug= 2.
193 This may help to find problems while opening a driver for libscg.
194 as well as with sector sizes and sector types.
195 Using
196 .B \-debug
197 slows down the process and may be the reason for a buffer underrun.
198 .TP
199 .BR kdebug= "#, " kd= #
200 Tell the
201 .BR scg -driver
202 to modify the kernel debug value while SCSI commands are running.
203 .TP
204 .BR \-silent ", " \-s
205 Do not print out a status report for failed SCSI commands.
206 .TP
207 .B \-v
208 Increment the level of general verbosity by one.
209 This is used e.g. to display the progress of the process.
210 .TP
211 .B \-V
212 Increment the verbose level with respect of SCSI command transport by one.
213 This helps to debug problems
214 during the process, that occur in the CD-Recorder.
215 If you get incomprehensible error messages you should use this flag
216 to get more detailed output.
217 .B \-VV
218 will show data buffer content in addition.
219 Using
220 .B \-V
221 or
222 .B \-VV
223 slows down the process.
224 .TP
225 .BI f= file
226 Specify the log file to be used instead of
227 .IR check.log .
228
229 .SH EXAMPLES
230
231 .SH FILES
232 .SH SEE ALSO
233 .BR cdrecord (1),
234 .BR readcd (1),
235 .BR mkisofs (1),
236 .BR scg (7).
237
238 .SH NOTES
239 .PP
240 When using
241 .B scgckeck
242 with the broken
243 .B "Linux SCSI generic driver."
244 You should note that
245 .B scgcheck
246 uses a hack, that tries to emulate the functionality of the scg driver.
247 Unfortunately, the sg driver on
248 .B Linux
249 has several severe bugs:
250 .TP
251 \(bu
252 It cannot see if a SCSI command could not be sent at all.
253 .TP
254 \(bu
255 It cannot get the SCSI status byte.
256 .B Scgcheck
257 for that reason cannot report failing SCSI commands in some
258 situations.
259 .TP
260 \(bu
261 It cannot get real DMA count of transfer.
262 .B Scgcheck
263 cannot tell you if there is an DMA residual count.
264 .TP
265 \(bu
266 It cannot get number of bytes valid in auto sense data.
267 .B Scgcheck
268 cannot tell you if device transfers no sense data at all.
269 .TP
270 \(bu
271 It fetches to few data in auto request sense (CCS/SCSI-2/SCSI-3 needs >= 18).
272
273 .SH DIAGNOSTICS
274 .PP
275 .PP
276 A typical error message for a SCSI command looks like:
277 .sp
278 .RS
279 .nf
280 readcd: I/O error. test unit ready: scsi sendcmd: no error
281 CDB: 00 20 00 00 00 00
282 status: 0x2 (CHECK CONDITION)
283 Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 25 00 00 00 00 00
284 Sense Key: 0x5 Illegal Request, Segment 0
285 Sense Code: 0x25 Qual 0x00 (logical unit not supported) Fru 0x0
286 Sense flags: Blk 0 (not valid)
287 cmd finished after 0.002s timeout 40s
288 .fi
289 .sp
290 .RE
291 The first line gives information about the transport of the command.
292 The text after the first colon gives the error text for the system call
293 from the view of the kernel. It usually is:
294 .B "I/O error
295 unless other problems happen. The next words contain a short description for
296 the SCSI command that fails. The rest of the line tells you if there were
297 any problems for the transport of the command over the SCSI bus.
298 .B "fatal error
299 means that it was not possible to transport the command (i.e. no device present
300 at the requested SCSI address).
301 .PP
302 The second line prints the SCSI command descriptor block for the failed command.
303 .PP
304 The third line gives information on the SCSI status code returned by the
305 command, if the transport of the command succeeds.
306 This is error information from the SCSI device.
307 .PP
308 The fourth line is a hex dump of the auto request sense information for the
309 command.
310 .PP
311 The fifth line is the error text for the sense key if available, followed
312 by the segment number that is only valid if the command was a
313 .I copy
314 command. If the error message is not directly related to the current command,
315 the text
316 .I deferred error
317 is appended.
318 .PP
319 The sixth line is the error text for the sense code and the sense qualifier if available.
320 If the type of the device is known, the sense data is decoded from tables
321 in
322 .IR scsierrs.c " .
323 The text is followed by the error value for a field replaceable unit.
324 .PP
325 The seventh line prints the block number that is related to the failed command
326 and text for several error flags. The block number may not be valid.
327 .PP
328 The eight line reports the timeout set up for this command and the time
329 that the command realy needed to complete.
330
331 .SH BUGS
332
333 .SH CREDITS
334
335 .SH "MAILING LISTS
336
337 .SH AUTHOR
338 .nf
339 J\*org Schilling
340 Seestr. 110
341 D-13353 Berlin
342 Germany
343 .fi
344 .PP
345 Additional information can be found on:
346 .br
347 http://www.fokus.fhg.de/usr/schilling/cdrecord.html
348 .PP
349 If you have support questions, send them to:
350 .PP
351 .B
352 cdrecord-support@berlios.de
353 .br
354 or
355 .B
356 other-cdwrite@lists.debian.org
357 .PP
358 If you have definitely found a bug, send a mail to:
359 .PP
360 .B
361 cdrecord-developers@berlios.de
362 .br
363 or
364 .B
365 schilling@fokus.fhg.de
366 .PP
367 To subscribe, use:
368 .PP
369 .B
370 http://lists.berlios.de/mailman/listinfo/cdrecord-developers
371 .br
372 or
373 .B
374 http://lists.berlios.de/mailman/listinfo/cdrecord-support

  ViewVC Help
Powered by ViewVC 1.1.5