sg_raw
(1m)
名前
sg_raw - sends an arbitrary SCSI command to a device
形式
sg_raw [OPTIONS] DEVICE CDB0 CDB1 ...
説明
SG3_UTILS SG_RAW(8)
NAME
sg_raw - sends an arbitrary SCSI command to a device
SYNOPSIS
sg_raw [OPTIONS] DEVICE CDB0 CDB1 ...
DESCRIPTION
This utility sends an arbitrary SCSI command (between 6 and
256 bytes) to the DEVICE. There may be no associated data
transfer; or data may be read from a file and sent to the
DEVICE; or data may be received from the DEVICE and then
displayed or written to a file. If supported by the pass
through, bidirectional commands may be sent (i.e. containing
both data to be sent to the DEVICE and received from the
DEVICE).
The SCSI command may be between 6 and 256 bytes long. Each
command byte is specified in plain hex format (00..FF) with-
out a prefix or suffix. See EXAMPLES section below.
The commands pass through a generic SCSI interface which is
implemented for several operating systems including Linux,
FreeBSD and Windows.
OPTIONS
Arguments to long options are mandatory for short options as
well.
-b, --binary
Dump data in binary form, even when writing to stdout.
-h, --help
Display usage information and exit.
-i, --infile=IFILE
Read data from IFILE instead of stdin. This option is
ignored if --send is not specified.
-k, --skip=LEN
Skip the first LEN bytes of the input file or stream.
This option is ignored if --send is not specified.
-n, --nosense
Don't display SCSI Sense information.
-o, --outfile=OFILE
Write data received from the DEVICE to OFILE. The data
is written in binary. By default, data is dumped in hex
format to stdout. If OFILE is '-' then data is dumped
in binary to stdout. This option is ignored if
--request is not specified.
sg3_utils-1.31 Last change: February 2011 1
SG3_UTILS SG_RAW(8)
-r, --request=RLEN
Expect to receive up to RLEN bytes of data from the
DEVICE. RLEN may be suffixed with 'k' to use kilobytes
(1024 bytes) instead of bytes.
-R, --readonly
Open DEVICE read-only. The default (without this
option) is to open it read-write.
-s, --send=SLEN
Read SLEN bytes of data, either from stdin or from a
file, and send them to the DEVICE.
-t, --timeout=SEC
Wait up to SEC seconds for command completion (default:
20). Note that if a command times out the operating
system may start by aborting the command and if that is
unsuccessful it may attempt to reset the device.
-v, --verbose
Increase level of verbosity. Can be used multiple
times.
-V, --version
Display version and license information and exit.
ATTRIBUTES
See attributes(5) for descriptions of the following
attributes:
+---------------+--------------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+--------------------------+
|Availability | system/storage/sg3_utils |
+---------------+--------------------------+
|Stability | Uncommitted |
+---------------+--------------------------+
NOTES
The sg_inq utility can be used to send an INQUIRY command to
a device to determine its peripheral device type (e.g. '1'
for a streaming device (tape drive)) which determines which
SCSI command sets a device should support (e.g. SPC and
SSC). The sg_vpd utility probes the Vital Product Pages of a
devices which may contain useful information.
The ability to send more than a 16 byte CDB (in some cases
12 byte CDB) may be restricted by the pass-through inter-
face, the low level driver or the transport.
EXAMPLES
These examples, apart from the last one, use Linux device
sg3_utils-1.31 Last change: February 2011 2
SG3_UTILS SG_RAW(8)
names. For suitable device names in other supported Operat-
ing Systems see the sg3_utils(8) man page.
sg_raw /dev/scd0 1b 00 00 00 02 00
Eject the medium in CD drive /dev/scd0.
sg_raw -r 1k /dev/sg0 12 00 00 00 60 00
Perform an INQUIRY on /dev/sg0 and dump the response
data (up to 1024 bytes) to stdout.
sg_raw -s 512 -i i512.bin /dev/sda 3b 02 00 00 00 00 00 02
00 00
Showing an example of writing 512 bytes to a sector on
a disk is a little dangerous. Instead this example will
read i512.bin (assumed to be 512 bytes long) and use
the SCSI WRITE BUFFER command to send it to the "data"
buffer (that is mode 2). This is a safe operation.
sg_raw -r 512 -o o512.bin /dev/sda 3c 02 00 00 00 00 00 02
00 00
This will use the SCSI READ BUFFER command to read 512
bytes from the "data" buffer (i.e. mode 2) then write
it to the o512.bin file. When used in conjunction with
the previous example, if both commands work then 'cmp
i512.bin o512.bin' should show a match.
file=out.bin "/dev/bsg/7:0:0:0" 53 00 00 00 00 00 00 00 01 00
sg_raw --infile=urandom.bin --send=512 --request=512
--out-
This is a bidirectional XDREADWRITE(10) command being
sent via a Linux bsg device. Note that data is being
read from "urandom.bin" and sent to the device
(data-out) while resulting data (data-in) is placed in
the "out.bin" file. Also note the length of both is 512
bytes which corresponds to the transfer length of 1
(block) in the cdb (i.e. the second last byte).
sg_raw.exe PhysicalDrive1 a1 0c 0e 00 00 00 00 00 00 e0 00
00
This example is from Windows and shows a ATA STANDBY
IMMEDIATE command being sent to PhysicalDrive1. That
ATA command is contained within the SCSI ATA PASS-
THROUGH(12) command (see the SAT or SAT-2 standard at
http://www.t10.org). Notice that the STANDBY IMMEDIATE
command does not send or receive any additional data,
however if it fails sense data should be returned and
displayed.
EXIT STATUS
The exit status of sg_raw is 0 when it is successful. Other-
wise see the sg3_utils(8) man page.
sg3_utils-1.31 Last change: February 2011 3
SG3_UTILS SG_RAW(8)
AUTHOR
Written by Ingo van Lil
REPORTING BUGS
Report bugs to <inguin at gmx dot de>.
COPYRIGHT
Copyright (C) 2001-2011 Ingo van Lil
This software is distributed under the GPL version 2. There
is NO warranty; not even for MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE.
SEE ALSO
sg_inq, sg_vpd, sg3_utils (sg3_utils), plscsi
This software was built from source available at
https://java.net/projects/solaris-userland. The original
community source was downloaded from
http://sg.danny.cz/sg/p/sg3_utils-1.33.tgz
Further information about this software can be found on the
open source community website at
http://sg.danny.cz/sg/sg3_utils.html.
sg3_utils-1.31 Last change: February 2011 4