Man page - sg_read_buffer(8)
Packages contains this manual
- scsi_start(8)
- sginfo(8)
- sg_scan(8)
- sg_luns(8)
- sg_bg_ctl(8)
- sg3_utils_json(8)
- sg_safte(8)
- sg_referrals(8)
- sg_sat_datetime(8)
- sg_vpd(8)
- sg_decode_sense(8)
- sg_rdac(8)
- sg_inq(8)
- sg_start(8)
- sg_timestamp(8)
- sg_z_act_query(8)
- sg_write_buffer(8)
- sg_sat_phy_event(8)
- sg_get_elem_status(8)
- sg_wr_mode(8)
- sg_rep_pip(8)
- scsi_mandat(8)
- sg_test_rwbuf(8)
- scsi_stop(8)
- sg_modes(8)
- sg_rmsn(8)
- sg_ses_microcode(8)
- sg_read_buffer(8)
- sgm_dd(8)
- scsi_readcap(8)
- sg_write_same(8)
- sg_rbuf(8)
- sg_rep_zones(8)
- sg_ident(8)
- sg_sat_set_features(8)
- sg_zone(8)
- sg_opcodes(8)
- sg_logs(8)
- sg_read_block_limits(8)
- sg_write_attr(8)
- sg_rep_density(8)
- sg_dd(8)
- sg_sanitize(8)
- sg_seek(8)
- sg3_utils(8)
- sg_compare_and_write(8)
- sg_requests(8)
- sg_reset(8)
- scsi_temperature(8)
- scsi_ready(8)
- sg_verify(8)
- sg_prevent(8)
- sg_sat_read_gplog(8)
- sg_persist(8)
- scsi_logging_level(8)
- sg_rtpg(8)
- sg_write_long(8)
- sg_senddiag(8)
- sg_format(8)
- sg_read_long(8)
- sgp_dd(8)
- sg_ses(8)
- sg_reassign(8)
- sg_map26(8)
- sg_get_lba_status(8)
- sg_get_config(8)
- sg_reset_wp(8)
- sg_unmap(8)
- sg_read(8)
- sg_write_verify(8)
- sg_rem_rest_elem(8)
- scsi_satl(8)
- rescan-scsi-bus.sh(8)
- sg_map(8)
- sg_emc_trespass(8)
- sg_write_x(8)
- sg_sat_identify(8)
- sg_sync(8)
- sg_copy_results(8)
- sg_stpg(8)
- sg_raw(8)
- sg_xcopy(8)
- sg_read_attr(8)
- sg_stream_ctl(8)
- sg_readcap(8)
- sg_turs(8)
apt-get install sg3-utils
Manual
SG_READ_BUFFER
NAMESYNOPSIS
DESCRIPTION
OPTIONS
MODES
NOTES
EXIT STATUS
AUTHORS
REPORTING BUGS
COPYRIGHT
SEE ALSO
NAME
sg_read_buffer - send SCSI READ BUFFER command
SYNOPSIS
sg_read_buffer [ --eh_code=EHC ] [ --help ] [ --hex ] [ --id=ID ] [ --inhex=FN ] [ --length=LEN ] [ --mode=MO ] [ --no_output ] [ --offset=OFF ] [ --raw ] [ --readonly ] [ --specific=MS ] [ --verbose ] [ --version ] DEVICE
DESCRIPTION
Sends a SCSI READ BUFFER command to the DEVICE , and if there is a response either decodes it, prints it in hexadecimal or sends it in binary to stdout. If a response is received for a "descriptor" mode then, in the absence of --hex and --raw , it is decoded. Response for non-descriptor modes are output in hexadecimal unless the --raw option is given.
The responses to the Read microcode status (’rd_microc_st’ [0xf]) and Error history (’err_hist’ [0x1c]) modes are decoded as described in spc6r06.pdf and earlier T10 documents.
This utility may
be called without a
DEVICE
but with a
--inhex=FN
option instead.
FN
is expected to
be a file name (or
’-’ for stdin). The contents of the file (or
stdin stream) is assumed to be hexadecimal (or binary) data
that represents a SCSI READ BUFFER command response and is
decoded as such.
OPTIONS
Arguments to
long options are mandatory for short options as well.
-e
,
--eh_code
=
EHC
EHC
is the error history
code placed in the Buffer ID field of the cdb. The Mode
field is set to err_hist [0x1c]. The option is equivalent to
using the ’
--mode=eh --id=EHC
’ options.
If this option and one of the other options is given, then
an error will be generated if they contradict. The default
(maximum) response length is increased to 64 bytes when may
need to be increased (if so that is noted if the output is
truncated).
An example is setting
EHC
to 0 in which case the
error history directory will be decoded (unless
--hex
or
--raw
options is given).
-h , --help
output the usage message then exit. If used multiple times also prints the mode names and their acronyms.
-H , --hex
output the response in hexadecimal. When given twice the response is output in hex with the corresponding representation in ASCII to the right of each line. When given three time the hex is printed without addresses (indexes) at the start of each line; this type of format is suitable for the --inhex=FN option on a subsequent invocation.
-i , --id = ID
this option sets the Buffer ID field in the cdb. ID is a value between 0 (default) and 255 inclusive. The meaning of the Buffer ID field varies with the value in the Mode field of the cdb.
-I , --inhex = FN
FN is expected to be a file name (or ’-’ for stdin) which contains ASCII hexadecimal or binary representing a READ BUFFER response. If known this utility will then decode that response. It is preferable to also supply the --mode=MO , --id=ID and possible --specific=MS options, since these are not present in the response. See the "HEX, BINARY AND JSON FORMATS" section in the sg3_utils manpage for more information. If the --raw option is also given then the contents of FN is treated as binary.
-l , --length = LEN
where
LEN
is the length,
in bytes, that is placed in the "allocation
length" field in the cdb. The default value is 4
(bytes) which is increased to 64 if the
’err_hist’ mode [0x1c] is given or implied. The
device may respond with less bytes.
If the
--inhex=FN
option is given, then the default
value of the length is increased to 8192 bytes. This length
may then be reduced to match the number of bytes decoded
from the contents of
FN
.
-m , --mode = MO
this option sets the mode field in the cdb. MO is a value between 0 (default) and 31 inclusive. Alternatively an abbreviation can be given. See the MODES section below. To list the available mode abbreviations use an invalid one (e.g. ’--mode=xxx’). As an example, to fetch the read buffer descriptor give ’--mode=desc’ .
-N , --no_output
when this option is given after
sending the SCSI command to the
DEVICE
the response
is processed, looking for any errors, and then this utility
exits. Any data read by the READ BUFFER command is ignored.
May be useful for timing larger reads from the
DEVICE
buffer in ’data’ mode [0x2].
-o , --offset = OFF
this option sets the buffer offset field in the cdb. OFF is a value between 0 (default) and 2**24-1 . It is a byte offset.
-r , --raw
if a response is received then it is sent in binary to stdout. When this option is given together with --inhex=FN then the contents of FN is assumed to be binary and the output of this utility is normal ASCII (i.e. _not_ in binary).
-R , --readonly
open the DEVICE read-only (e.g. in Unix with the O_RDONLY flag). The default is to open it read-write.
-S , --specific = MS
this option sets the mode specific field in the cdb. MS is a value between 0 and 7 as this is a 3 bit field.
-v , --verbose
increase the level of verbosity, (i.e. debug output).
-V , --version
print the version string and then exit.
MODES
Following is a
list of READ BUFFER command settings for the MODE field.
First is an acronym accepted by the
MO
argument of
this utility. Following the acronym in square brackets are
the corresponding decimal and hex values that may also be
given for
MO
. The following are listed in numerical
order.
hd [0, 0x0]
Combined header and data (obsolete in SPC-4).
vendor [1, 0x1]
Vendor specific.
data [2, 0x2]
Data.
desc [3, 0x3]
Descriptor: yields 4 bytes that contain an offset boundary field (1 byte) and buffer capacity (3 bytes).
echo [10, 0xa]
Read data from echo buffer (was called "Echo buffer" in SPC-3).
echo_desc [11, 0xb]
Echo buffer descriptor: yields 4 bytes of which the last (lowest) 13 bits represent the echo buffer capacity. The maximum echo buffer size is 4096 bytes.
rd_microc_st [15, 0xf]
Read microcode status. Added in spc5r20 .
en_ex [26, 0x1a]
Enable expander communications protocol and Echo buffer. Made obsolete in SPC-4.
err_hist|eh [28, 0x1c]
Error history. Either ’err_hist’ or the short ’eh’ abbreviation can be used for this mode. Introduced in SPC-4.
NOTES
All numbers given with options are assumed to be decimal. Alternatively numerical values can be given in hexadecimal preceded by either "0x" or "0X" (or has a trailing "h" or "H").
EXIT STATUS
The exit status of sg_read_buffer is 0 when it is successful. Otherwise see the sg3_utils(8) man page.
AUTHORS
Written by Luben Tuikov and Douglas Gilbert.
REPORTING BUGS
Report bugs to <dgilbert at interlog dot com>.
COPYRIGHT
Copyright ©
2006-2023 Luben Tuikov and Douglas Gilbert
This software is distributed under a BSD-2-Clause license.
There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
SEE ALSO
sg_write_buffer(sg3_utils)