trusty (8) sg_write_buffer.8.gz

Provided by: sg3-utils_1.36-1ubuntu1_amd64 bug

NAME

       sg_write_buffer - send SCSI WRITE BUFFER command

SYNOPSIS

       sg_write_buffer   [--help]   [--id=ID]  [--in=FILE]  [--length=LEN]  [--mode=MO]  [--offset=OFF]  [--raw]
       [--skip=SKIP] [--specific=MS] [--verbose] [--version] DEVICE

DESCRIPTION

       Sends a SCSI WRITE BUFFER command to DEVICE, along with data provided by the user. In some cases no  data
       is  required, or data can be read from the file given in the --in=FILE option, or data is read from stdin
       when either --raw or --in=- is given.

       Some WRITE BUFFER command variants do not have associated  data  to  send  to  the  device,  for  example
       "activate_mc" ("activate deferred microcode").

OPTIONS

       Arguments to long options are mandatory for short options as well.

       -h, --help
              output  the  usage  message then exit. If used multiple times also prints the mode names and their
              acronyms.

       -i, --id=ID
              this option sets the buffer id field in the cdb. ID  is  a  value  between  0  (default)  and  255
              inclusive.

       -I, --in=FILE
              read  data  from  file  FILE that will be sent with the WRITE BUFFER command.  If FILE is '-' then
              stdin is read until an EOF is detected (this is the same action as --raw).

       -l, --length=LEN
              where LEN is the length, in bytes, of data to be written to the device.  If not given (and  length
              cannot  be  deduced from --in=FILE or --raw) then defaults to zero. If the option is given and the
              length deduced from --in=FILE or --raw is less (or no data is provided), then bytes  of  0xff  are
              used as fill bytes.

       -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.  To list the  available  mode  abbreviations  give  an
              invalid one (e.g. '--mode=xxx') or use the '-hh' option.

       -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
              read data from stdin until an EOF is detected. This data is sent with the WRITE BUFFER command  to
              DEVICE. The action of this option is the same as using '--in=-'.

       -s, --skip=SKIP
              this  option is only active when --in=FILE is given and FILE is a regular file, rather than stdin.
              Data is read starting  at  byte  offset  SKIP  to  the  end  of  file  (or  the  amount  given  by
              --length=LEN). If not given the byte offset defaults to 0 (i.e. the start of the file).

       -S, --specific=MS
              MS is the mode specific field in the cdb. This is a 3-bit field so the values 0 to 7 are accepted.
              This field was introduced in SPC-4 revision 32 and can be used to specify additional  events  that
              activate deferred microcode (when MO is 0xD).

       -v, --verbose
              increase the level of verbosity, (i.e. debug output).

       -V, --version
              print the version string and then exit.

NOTES

       If  no  --length=LEN is given this utility reads up to 8 MiB of data from the given file FILE (or stdin).
       If a larger amount of data is required then the --length=LEN option should be given. The user  should  be
       aware  that  most  operating  systems  have  limits  on the amount of data that can be sent with one SCSI
       command. In Linux this depends on the pass through mechanism used (e.g. block SG_IO or the sg driver) and
       various setting in sysfs in the Linux lk 2.6 series (e.g. /sys/block/sda/queue/max_sectors_kb).

       Downloading incorrect microcode into a device has the ability to render that device inoperable. One would
       hope that the device vendor verifies the data before activating it. If the SCSI WRITE BUFFER  command  is
       given values in its cdb (e.g. LEN) that are inappropriate (e.g. too large) then the device should respond
       with a sense key of ILLEGAL REQUEST and an additional sense code of INVALID FIELD  in  CDB.  If  a  WRITE
       BUFFER  command  (or  a  sequence  of them) fails due to device vendor verification checks then it should
       respond with a sense key of ILLEGAL REQUEST and an additional sense code of COMMAND SEQUENCE ERROR.

       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_write_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 © 2006-2012 Luben Tuikov and Douglas Gilbert
       This  software is distributed under a FreeBSD license. There is NO warranty; not even for MERCHANTABILITY
       or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

       sg_read_buffer(sg3_utils)