                      README for sg3_utils/scripts
                      ============================
Introduction
============
This directory contains bash shell scripts. Most of them call one or
more utilities from the sg3_utils package. They assume the sg3_utils
package utilities are on the PATH of the user.

rescan-scsi-bus.sh is written by Kurt Garloff (see
http://www.garloff.de/kurt/linux/ under the "Rescan SCSI bus" heading)
with patches from Hannes Reinecke.

scsi_logging_level is written by Andreas Herrmann <aherrman at de dot ibm
dot com>. It sets the logging level of the SCSI subsystem in the Linux
2.6 series kernels. See that file for more information.

The other scripts are written by the author. Some do testing while others
do bulk tasks (e.g. stopping multiple disks).

Details
=======
Each script supplies more information, typically by supplying a '-h'
or '--help' option. The script source often contains explanatory
information. Following is a usage summary with a one line description:
   rescan-scsi-bus.sh [OPTIONS]
        - see the output of 'rescan-scsi-bus.sh --help'
   scsi_logging_level [OPTIONS]
        - set Linux SCSI subsystem logging level
   scsi_mandat [-h] [-L] [-q] <device>
        - check for mandatory SCSI command support
   scsi_readcap [-b] [-h] [-v] <device>+
        - fetch capacity/size information for each <device>
   scsi_ready [-h] [-v] <device>+
        - check the media ready status on each <device>
   scsi_satl [-h] [-L] [-q] [-v] <device>
        - check <device> for SCSI to ATA Translation Layer (SATL)
   scsi_start [-h] [-v] [-w] <device>+
        - start media (i.e. spin up) in each <device>
   scsi_stop [-h] [-v] [-w] <device>+
        - stop media (i.e. spin down) in each <device>
   scsi_temperature [-h] [-v] <device>+
        - check temperature in each <device>

These scripts assume that the main sg3_utils utilities are installed
and are on the user's PATH.

This directory, prior to sg3_utils-1.28, contained the sas_disk_blink
script. Since it depends on the sdparm utility it has been moved to
the sdparm package in its scripts directory.

59-scsi-sg3_utils.rules is a Linux specific file for udev. These rules use
'sg_inq --export' to help udev create identifying device nodes, for example
/dev/disk/by-id/wwn-0x5001501234567890-part1.

Douglas Gilbert
8th March 2014
