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

NAME

6       sg_modes - reads mode pages with SCSI MODE SENSE command
7

SYNOPSIS

9       sg_modes [--all] [--control=PC] [--dbd] [--dbout] [--examine] [--flexi‐
10       ble] [--help] [--hex] [--list] [--llbaa] [--page=PG[,SPG]] [--raw] [-R]
11       [--six] [--verbose] [--version] [DEVICE]
12
13       sg_modes [-6] [-a] [-A] [-c=PC] [-d] [-D] [-e] [-f] [-h] [-H] [-l] [-L]
14       [-p=PG[,SPG]] [-r] [-subp=SPG] [-v] [-V] [-?] [DEVICE]
15

DESCRIPTION

17       This utility sends a MODE SENSE SCSI command to the DEVICE and  outputs
18       the  response.  There is a 6 byte and 10 byte (cdb) variant of the MODE
19       SENSE command, this utility defaults to the 10 byte variant.
20
21       This utility decodes mode page headers and block descriptors  but  out‐
22       puts  the contents of each mode page in hex. It also has no facility to
23       change the mode page contents or block descriptor data. Mode page  con‐
24       tents are decoded and can be changed by the sdparm utility.
25
26       This  utility  supports two command line syntaxes, the preferred one is
27       shown first in the synopsis and explained in this section. A later sec‐
28       tion  on  the  old  command  line  syntax  outlines the second group of
29       options.
30
31       If no page is given (and --list is not selected) then --all is assumed.
32       The --all option requests all mode pages (but not subpages) in a single
33       response.
34

OPTIONS

36       Arguments to long options are mandatory for short options as well.
37
38       -a, --all
39              output all the mode pages reported by the DEVICE. This  is  what
40              the  page  code 63 (0x3f) is defined to do. When used once, mode
41              subpages are not fetched. When used twice (e.g. '-aa'), all mode
42              pages   and  subpages  are  requested  which  is  equivalent  to
43              '--page=63,255'.
44
45       -c, --control=PC
46              PC is the page control value. Up to four different  versions  of
47              each  page  are held by the device: the current values [0] (i.e.
48              those active at the moment), the changeable values [1] (bit mask
49              showing  which  fields  could  be  changed  with a MODE SELECT),
50              default values [2] (the manufacturer's settings). Finally  there
51              are  the  saved  values  [3]  which  are the values that will be
52              re-instated the next time the device is power  cycled.  If  this
53              option is not given then current values [0] are assumed.
54
55       -d, --dbd
56              disable  block  descriptors. By default, block descriptors (usu‐
57              ally one (for disks) or none)  are  returned  in  a  MODE  SENSE
58              response. This option sets the "disable block descriptors" (DBD)
59              bit in the cdb which instructs the  device  not  to  return  any
60              block descriptors in its response. Older devices may not support
61              this setting and may return  an  "illegal  request"  sense  key;
62              alternatively  they  may ignore it. Oddly the Reduced Block Com‐
63              mand set (RBC) requires this bit set.
64
65       -D, --dbout
66              disable outputting block descriptors.  Irrespective  of  whether
67              block  descriptors  are present in the response or not, they are
68              not output.
69
70       -e, --examine
71              examine each mode page in the range 0 through to 62 (inclusive).
72              If  some  response is given then print out the mode page name or
73              number (in hex) if the name is not known.
74
75       -f, --flexible
76              Some devices, bridges and/or drivers attempt crude  translations
77              between MODE SENSE 6 and 10 byte commands without correcting the
78              response. This will cause the  response  to  be  mis-interpreted
79              (usually  with  an error saying the response is malformed). With
80              this option, the length of the response is checked,  and  if  it
81              looks  wrong,  the response is then decoded as if the other mode
82              sense (cdb length) was sent.
83
84       -h, --help
85              print out the usage message then exit.
86
87       -H, --hex
88              The default action is to decode known  mode  page  numbers  (and
89              subpage  numbers)  into text. When this option is used once, the
90              response is output in hexadecimal.  When  this  option  is  used
91              twice,  mode  page numbers and page control values are output in
92              hex.
93
94       -l, --list
95              lists all common page and subpage codes and their names that are
96              found in the command set that matches the peripheral type of the
97              given DEVICE.  If no DEVICE and no --page=PG is given  then  the
98              common page and subpage codes and their names are listed for SBC
99              (e.g. a disk). If no DEVICE is given and a  --page=PG  is  given
100              then  the  common  page  and  subpage  codes and their names are
101              listed for the command set whose peripheral device type  matches
102              the  value  given  to  PG. For example 'sg_mode --list --page=1'
103              lists the command mode pages  and  subpages  for  tape  devices.
104              Additionally  if a sub_page_code is given then it is interpreted
105              as a transport identifier and command  transport  specific  mode
106              page  codes  and  their names are listed following the main mode
107              page list.  Other options are ignored.
108
109       -L, --llbaa
110              set the Long LBA Accepted (LLBAA) bit in  the  MODE  SENSE  (10)
111              cdb.  This  bit is not defined in the MODE SENSE (6) cdb so set‐
112              ting the '-L' and '--six' options is reported as an error.  When
113              set  the  DEVICE  may  respond with 16 byte block descriptors as
114              indicated by the 'LongLBA' field in the response. In most  cases
115              setting this option is not needed.
116
117       -O, --old
118              switch to older style options.
119
120       -p, --page=PG
121              page  code  to  fetch.  The  PG is assumed to be a decimal value
122              unless prefixed by '0x' or has a trailing 'h'. It  should  be  a
123              value between 0 and 63 (inclusive). When not given and a default
124              is required then a value of 63 (0x3f), which  fetches  all  mode
125              pages, is used.
126
127       -p, --page=PG,SPG
128              page  code  and subpage code values to fetch. Both arguments are
129              assumed to be decimal unless flagged as  hexadecimal.  The  page
130              code  should  be  between  0  and 63 inclusive. The subpage code
131              should be between 0 and 255 inclusive. The default value for the
132              subpage code is 0.
133
134       -r, --raw
135              output  the  response  in  binary  to stdout. Error messages and
136              warnings, if any, are sent to stderr. When this option  is  used
137              twice (e.g. '-rr') then has the same action as '-R'
138
139       -R     output  the  selected  mode page to stdout a byte per line. Each
140              line contains two hexadecimal  digits  (e.g.  "3e").  Useful  as
141              input (after editing) to the sg_wr_mode utility.
142
143       -6, --six
144              by  default  this  utility sends a 10 byte MODE SENSE command to
145              the DEVICE. However some SCSI devices only support 6  byte  MODE
146              SENSE  commands (e.g. SCSI-2 tape drives). This parameter forces
147              the use of 6 byte MODE SENSE commands.
148
149       -v, --verbose
150              increase level of verbosity. Can be used multiple times.
151
152       -V, --version
153              print out version string then exit.
154

NOTES

156       If the normal sg_modes utility fails with  "illegal  command  operation
157       code" then try the '--six' (or '-6') option.
158
159       This  utility  performs a SCSI INQUIRY command to determine the periph‐
160       eral type of the device (e.g. 0 -> Direct Access Device  (disk))  prior
161       to  sending  a  MODE  SENSE  command.  This helps in decoding the block
162       descriptor and mode pages.
163
164       In the 2.4 series of Linux kernels the DEVICE must be  a  SCSI  generic
165       (sg)  device.  In the 2.6 series block devices (e.g. SCSI disks and DVD
166       drives) can also be specified. For example "sg_modes -a /dev/sda"  will
167       work in the 2.6 series kernels.
168

EXIT STATUS

170       The  exit  status of sg_modes is 0 when it is successful. Otherwise see
171       the sg3_utils(8) man page.
172

OLDER COMMAND LINE OPTIONS

174       The options in this section were  the  only  ones  available  prior  to
175       sg3_utils  version  1.23  .  In  sg3_utils version 1.23 and later these
176       older options can be selected by either setting the  SG3_UTILS_OLD_OPTS
177       environment variable or using '--old' (or '-O) as the first option.
178
179       -6     by  default  this  utility sends a 10 byte MODE SENSE command to
180              the DEVICE. This parameter forces the use of 6 byte  MODE  SENSE
181              commands.  See --six in the main description.
182
183       -a     see --all in the main description.
184
185       -A     output  all the mode pages and subpages supported by the DEVICE.
186              Same as '--all --all' in the new syntax.
187
188       -c=PC  PC is the page control  value.  See  --control=PC  in  the  main
189              description.
190
191       -d     see --dbd in the main description.
192
193       -D     see --dbout in the main description.
194
195       -e     see --examine in the main description.
196
197       -f     see --flexible in the main description.
198
199       -h     The  default  action  is  to decode known mode page numbers (and
200              subpage numbers) into text. With this option mode  page  numbers
201              (and subpage numbers) are output in hexadecimal.
202
203       -H     same action as the '-h' option.
204
205       -l     see --list in the main description.
206
207       -L     see --llbaa in the main description.
208
209       -N     switch to the newer style options.
210
211       -p=PG  PG is page code to fetch. Should be a hexadecimal number between
212              0 and 3f inclusive (0 to 63 decimal).  The  default  value  when
213              required is 3f (fetch all mode pages).
214
215       -p=PG,SPG
216              page code and subpage code values to fetch. The page code should
217              be a hexadecimal number between 0 and 3f inclusive. The  subpage
218              code  should be a hexadecimal number between 0 and ff inclusive.
219              The default value for the subpage code is 0.
220
221       -r     output the selected mode page to stdout a byte  per  line.  Each
222              line  contains  two  hexadecimal  digits  (e.g. "3e"). Useful as
223              input (after editing) to the sg_wr_mode utility.
224
225       -subp=SPG
226              sub page code to fetch. Should be a hexadecimal number between 0
227              and 0xff inclusive. The default value is 0.
228
229       -v     increase verbosity of output.
230
231       -V     print out version string then exit.
232
233       -?     output usage message then exit. Ignore all other parameters.
234

AUTHOR

236       Written by Doug Gilbert
237

REPORTING BUGS

239       Report bugs to <dgilbert at interlog dot com>.
240
242       Copyright © 2000-2007 Douglas Gilbert
243       This  software is distributed under the GPL version 2. There is NO war‐
244       ranty; not even for MERCHANTABILITY or FITNESS FOR  A  PARTICULAR  PUR‐
245       POSE.
246

SEE ALSO

248       sdparm(sdparm), sg_wr_mode(sg3_utils), sginfo(sg3_utils), sgmode(scsir‐
249       astools), scsiinfo(net), scu(net), seatools(seagate)
250
251       All these utilities offer some facility to change mode page  (or  block
252       descriptor) parameters.
253
254
255
256sg3_utils-1.23                   January 2007                      SG_MODES(8)
Impressum