diff options
Diffstat (limited to 'sbin/scsi/scsi.8')
-rw-r--r-- | sbin/scsi/scsi.8 | 251 |
1 files changed, 251 insertions, 0 deletions
diff --git a/sbin/scsi/scsi.8 b/sbin/scsi/scsi.8 new file mode 100644 index 0000000..e0f62f5 --- /dev/null +++ b/sbin/scsi/scsi.8 @@ -0,0 +1,251 @@ +.\" +.\" Written By Julian ELischer +.\" Copyright julian Elischer 1993. +.\" Permission is granted to use or redistribute this file in any way as long +.\" as this notice remains. Julian Elischer does not guarantee that this file +.\" is totally correct for any given task and users of this file must +.\" accept responsibility for any damage that occurs from the application of this +.\" file. +.\" +.\" (julian@tfs.com julian@dialix.oz.au) +.\" User SCSI hooks added by Peter Dufault: +.\" +.\" Copyright (c) 1994 HD Associates +.\" (contact: dufault@hda.com) +.\" All rights reserved. +.\" +.\" 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. +.\" 3. The name of HD Associates +.\" may not be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY HD ASSOCIATES ``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 HD ASSOCIATES 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. +.\" +.\" +.\" $Id: scsi.8,v 1.5 1995/05/05 20:41:58 dufault Exp $ +.\" +.Dd October 11, 1993 +.Dt SCSI 8 +.Os BSD 4 +.Sh NAME +.Nm scsi +.Nd program to assist with scsi devices. +.Sh SYNOPSIS +.Bd -literal -offset +Usage: +scsi -f device -d debug_level # To set debug level +scsi -f device [-v] -z seconds # To freeze bus +scsi -f device -m page [-P pc] [-e] # To read mode pages +scsi -f device -p [-b bus] [-l lun] # To probe all devices +scsi -f device -r [-b bus] [-t targ] [-l lun] # To reprobe a device +scsi -f device [-v] [-s seconds] -c cmd_fmt [arg0 ... argn] # A command... + -o count out_fmt [arg0 ... argn] # EITHER (for data out) + -i count in_fmt # OR (for data in) +.Pp +"out_fmt" can be "-" to read output data from stdin; +"in_fmt" can be "-" to write input data to stdout; +.Pp +If debugging is not compiled in the kernel, "-d" will have no effect +.Ed +.Sh DESCRIPTION +The +.Nm scsi +program is used to send commands to a scsi device. It is also +a sample usage of the user level SCSI commands. +.Pp +The +.Fr -d +option sets the SCSI kernel debug level. The kernel must have been compiled +with the +.Em SCSIDEBUG +option. See +.Fr /sys/scsi/scsi_debug.h +to figure out what to set the kernel debug level to. +.Pp +The +.Fr -z +option freezes all activity on all SCSI busses for a given number of +seconds. If +.Fr -v +is also specified then a BEL character is sent to the standard +output at the start and finish of the bus freeze. +This requires that the kernel be built with the SCSI_FREEZE kernel option. +This kernel code is not committed yet. +.Pp +The +.Fr -m +option is used to read a device mode page. The file +.Fr /usr/share/misc/scsi_modes +is read to look at for how to interpret the mode data. The environment +variable SCSI_MODES can specify a different file to use. +.Pp +.in +.25i +The +.Fr -P +option can be used to specify a page control field. The page control +fields are +.Bd -literal -offset +0 Current Values +1 Changeable Values +2 Default Values +3 Saved Values +.Ed +.Pp +The +.Fr -e +option permits you to edit the fields. It will use the editor specified +by your EDITOR environment variable. To store changes permanently, +edit page control 3 using the +.Fr -P +flag. +.in -.25i +.Pp +The +.Fr -p +option can be used against the "super scsi" device +.Fr /dev/scsi/super +to probe all devices with a given SCSI lun on a given SCSI bus. +The bus can be selected with the -b option and the default is 0. +The lun can be selected with the -l option and the default is 0. +See +.Xr scsi 4 +for a description of the "super scsi" device. +.Pp +The +.Fr -r +option can be used in +.Tn FreeBSD +1.1 to reprobe a specific SCSI device at a given +Bus, Target and Lun. +This is not needed in +.Fx 2.1 , +since opening a fixed SCSI device +has the side effect of reprobing it, and probing with the bus with the +-p option should bring on line any newly found devices. +See +.Xr scsi 4 +for a description of fixed scsi devices. +.Pp +The +.Fr -c +option permits you to send user level SCSI commands specified on +the command line to a +device. The command is sent using the SCIOCCOMMAND ioctl, so the +device you are accessing must permit this ioctl. See +.Xr scsi 4 +for full details of which minor devices permit the ioctl, and +.Xr scsi 3 +for the full details on how to build up the commands and data phases +using the format arguments. +.in +.25i +.Pp +.Fr -v +turns on more verbose information. +.Pp +.Fr -s +sets the command timeout in seconds. The default is two seconds. +.Pp +.Fr "-c cmd_fmt" +specifies the command as described in +.Xr scsi 3 "." +The additional arguments provide values for any variables +specified in the command format. +.Pp +.Fr "-o count out_fmt arg0 ... argn" +indicates that this is a data out command (i.e., data will be sent from +the system to the device) with +.Fr count +bytes of data. The data out is built up using the facilities described in +.Xr scsi 3 +using the provided arguments to fill in any integer variables. +.Fr out_fmt +can be specified as a hyphen ("-") to indicate that the +.Fr count +bytes of data should be read from the standard input. +.Pp +.Fr "-i count in_fmt" +indicates that this is a data in command (i.e., data will be read from +the device into the system) with +.Fr count +bytes of data read in. The information is extracted according to +.Fr in_fmt +using the facilities described in +.Xr scsi 3 +and displayed on the standard output. +.Fr in_fmt +can be specified as a hyphen ("-") to indicate that the +.Fr count +bytes of data input should be written to the standard output. +.in -.25i +.Sh EXAMPLES +To verify that the device type for the disk /dev/rsd0c is 0 +(direct access device): +.Bd -literal -offset +root# scsi -f /dev/rsd0c -c "12 0 0 0 64 0" -i 64 "*b3 b5" +0 +.Ed +.Pp +To do an inquiry to /dev/rsd2c: +.Bd -literal -offset +root# scsi -f /dev/rsd2c -c "12 0 0 0 64 0" -i 64 "s8 z8 z16 z4" +FUJITSU M2654S-512 010P +.Pp +To edit mode page 1 on /dev/rsd2c, and store it permanently on the +drive: +.Bd -literal -offset +root# scsi -f /dev/rsd2c -m 1 -e -P 3 +.Ed +.Pp +.Sh ENVIRONMENT +The SU_DEBUG_OUTPUT variable can be set to a file to send debugging +output to that file. +.Pp +The SU_DEBUG_LEVEL variable can be set to a non-zero integer to increase +the level of debugging. Currently this is a on or off thing; it should +perhaps use the ioctl to set the debug level in the kernel and then set +it back to zero at program exit. +.Pp +The SU_DEBUG_TRUNCATE variable can be set to an integer to limit the +amount of data phase output sent to the debugging file. +.Pp +The EDITOR variable determines the editor to use for the mode editor. +.Sh SEE ALSO +.Xr scsi 4 , +.Xr scsi 3 +.Sh BUGS +.Pp +This command wasn't ready for inclusion in 2.0R and so is missing in +that release. +.Pp +Some devices respond to an inquiry for all LUNS. This will cause them +to come on line to 8 times during reprobe to different logical units. +.Pp +The "-i" option to do an inquiry went away in 2.1. The new facilities +provided by "-c" supercede that. +.Pp +Check your permissions carefully. +"scsi -f /dev/rsd0c -c "4 0 0 0 0 0" permits anyone who can open +/dev/rsd0c to format the disk drive. This must be changed to +at least require write access to the drive. +.Sh HISTORY +The +.Nm scsi +command appeared in 386BSD 0.1.2.4/FreeBSD to support the new reprobe +and user SCSI commands. |