summaryrefslogtreecommitdiffstats
path: root/sbin/scsi/scsi.8
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/scsi/scsi.8')
-rw-r--r--sbin/scsi/scsi.8251
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.
OpenPOWER on IntegriCloud