1SG_WRITE_BUFFER(8)                 SG3_UTILS                SG_WRITE_BUFFER(8)
2
3
4

NAME

6       sg_write_buffer - send a SCSI WRITE BUFFER command
7

SYNOPSIS

9       sg_write_buffer    [--help]    [--id=ID]   [--in=FILE]   [--length=LEN]
10       [--mode=MO] [--offset=OFF] [--raw]  [--skip=SKIP]  [--verbose]  [--ver‐
11       sion] DEVICE
12

DESCRIPTION

14       Sends  a  SCSI WRITE BUFFER command to DEVICE, along with data provided
15       by the user. In some cases no data is required, or  data  can  be  read
16       from the file given in the --in=FILE option, or data is read from stdin
17       when either --raw or --in=- is given.
18
19       Some WRITE BUFFER command variants do not have associated data to  send
20       to   the   device,   for   example  "activate_mc"  ("activate  deferred
21       microcode").
22

OPTIONS

24       Arguments to long options are mandatory for short options as well.
25
26       -h, --help
27              output the usage message then exit. If used multiple times  also
28              prints the mode names and their acronyms.
29
30       -i, --id=ID
31              this  option  sets the buffer id field in the cdb. ID is a value
32              between 0 (default) and 255 inclusive.
33
34       -I, --in=FILE
35              read data from file FILE that will be sent with the WRITE BUFFER
36              command.   If  FILE  is  '-'  then stdin is read until an EOF is
37              detected (this is the same action as --raw).
38
39       -l, --length=LEN
40              where LEN is the length, in bytes, of data to be written to  the
41              device.   If  not  given  (and  length  cannot  be  deduced from
42              --in=FILE or --raw) then defaults to  zero.  If  the  option  is
43              given and the length deduced from --in=FILE or --raw is less (or
44              no data is provided), then bytes of 0xff are used as fill bytes.
45
46       -m, --mode=MO
47              this option sets the mode field  in  the  cdb.  MO  is  a  value
48              between 0 (default) and 31 inclusive. Alternatively an abbrevia‐
49              tion can be given.  To list  the  available  mode  abbreviations
50              give an invalid one (e.g. '--mode=xxx') or use the '-hh' option.
51
52
53       -o, --offset=OFF
54              this  option  sets  the buffer offset field in the cdb. OFF is a
55              value between 0 (default) and 2**24-1 . It is a byte offset.
56
57       -r, --raw
58              read data from stdin until an EOF is detected. This data is sent
59              with  the  WRITE  BUFFER  command  to DEVICE. The action of this
60              option is the same as using '--in=-'.
61
62       -s, --skip=SKIP
63              this option is only active when --in=FILE is given and FILE is a
64              regular  file,  rather than stdin. Data is read starting at byte
65              offset SKIP  to  the  end  of  file  (or  the  amount  given  by
66              --length=LEN).  If not given the byte offset defaults to 0 (i.e.
67              the start of the file).
68
69       -v, --verbose
70              increase the level of verbosity, (i.e. debug output).
71
72       -V, --version
73              print the version string and then exit.
74

NOTES

76       If no --length=LEN is given this utility reads up to 8 MiB of data from
77       the  given file FILE (or stdin). If a larger amount of data is required
78       then the --length=LEN option should be given. The user should be  aware
79       that  most operating systems have limits on the amount of data that can
80       be sent with one SCSI command.  In  Linux  this  depends  on  the  pass
81       through  mechanism used (e.g. block SG_IO or the sg driver) and various
82       setting   in   sysfs   in   the   linux    lk    2.6    series    (e.g.
83       /sys/block/sda/queue/max_sectors_kb).
84
85       Downloading incorrect microcode into a device has the ability to render
86       that device inoperable. One would hope that the device vendor  verifies
87       the  data  before  activating  it.  If the SCSI WRITE BUFFER command is
88       given values in its cdb (e.g. LEN) that  are  inappropriate  (e.g.  too
89       large)  then  the  device  should  respond  with a sense key of ILLEGAL
90       REQUEST and an additional sense code of INVALID  FIELD  in  CDB.  If  a
91       WRITE BUFFER command (or a sequence of them) fails due to device vendor
92       verification checks then it should respond with a sense key of  ILLEGAL
93       REQUEST and an additional sense code of COMMAND SEQUENCE ERROR.
94
95       All  numbers  given  with  options are assumed to be decimal.  Alterna‐
96       tively numerical values can be given in hexadecimal preceded by  either
97       "0x" or "0X" (or has a trailing "h" or "H").
98

EXIT STATUS

100       The  exit  status of sg_write_buffer is 0 when it is successful. Other‐
101       wise see the sg3_utils(8) man page.
102

AUTHORS

104       Written by Luben Tuikov and Douglas Gilbert.
105

REPORTING BUGS

107       Report bugs to <dgilbert at interlog dot com>.
108
110       Copyright © 2006-2007 Luben Tuikov and Douglas Gilbert
111       This software is distributed under a FreeBSD license. There is NO  war‐
112       ranty;  not  even  for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR‐
113       POSE.
114

SEE ALSO

116       sg_read_buffer(sg3_utils)
117
118
119
120sg3_utils-1.23                   January 2007               SG_WRITE_BUFFER(8)
Impressum