1SMP_DISCOVER_LIST(8) SMP_UTILS SMP_DISCOVER_LIST(8)
2
3
4
6 smp_discover_list - invoke DISCOVER LIST SMP function
7
9 smp_discover_list [--adn] [--brief] [--cap] [--descriptor=TY] [--fil‐
10 ter=FI] [--help] [--hex] [--ignore] [--interface=PARAMS] [--num=NUM]
11 [--one] [--phy=ID] [--raw] [--sa=SAS_ADDR] [--summary] [--verbose]
12 [--version] [--zpi=FN] SMP_DEVICE[,N]
13
15 Sends one or more SAS Serial Management Protocol (SMP) DISCOVER LIST
16 function requests to an SMP target and decodes or outputs the
17 responses. The SMP target is identified by the SMP_DEVICE and the
18 SAS_ADDR. Depending on the interface, the SAS_ADDR may be deduced from
19 the SMP_DEVICE. The mpt interface uses SMP_DEVICE to identify a HBA
20 (an SMP initiator) and needs the additional ,N to differentiate between
21 HBAs if there are multiple present.
22
23 If the --phy=ID option is not given then --summary is assumed. When
24 --summary is given or assumed, this utility shows the disposition of
25 each active expander phy in table form. One row is shown for each phy
26 and is described in the SINGLE LINE PER PHY FORMAT section below. For
27 this purpose disabled expander phys and those with errors are consid‐
28 ered "active" and can be suppressed from the output by adding the
29 --brief option.
30
31 The DISCOVER LIST response may contain up to 8 descriptors when the
32 "descriptor type" field in the request is set to 0 (e.g. --descrip‐
33 tor=0). The DISCOVER LIST response may contain up to 40 descriptors
34 when the "descriptor type" field in the request is set to 1 (e.g.
35 --descriptor=1). Multiple DISCOVER LIST requests will be made if more
36 descriptors are requested (e.g. --summary requests 254) and the previ‐
37 ous response indicates that more descriptors may be available.
38
40 Mandatory arguments to long options are mandatory for short options as
41 well.
42
43 -A, --adn
44 causes the "attached device name" field to be output when the
45 --one or --summary option is also given. See the section below
46 on SINGLE LINE PER PHY FORMAT. Note the "attached device name"
47 field is not available in the short format (e.g. --descrip‐
48 tor=1).
49
50 -b, --brief
51 reduce the decoded response output.
52
53 -c, --cap
54 decode and print phy capabilities bits fields (see SNW-3 in
55 draft). Each expander phy has three of these fields: programmed,
56 current and attached. By default these fields are only printed
57 out in hex, or not at all if the --brief option is given or
58 implied. Of the three the attached phy capability field is prob‐
59 ably the most interesting. If the --verbose option is given,
60 then the various "G" identifiers are expanded (e.g. instead of
61 "G4:" it prints "G4 (12 Gbps):").
62
63 -d, --descriptor=TY
64 set the "descriptor type" field in the request. When TY is 0
65 then the 120 byte response defined by the DISCOVER function
66 response (less its CRC field) is placed in the descriptors of
67 this function's response. When TY is 1 the short format (i.e. 24
68 byte per descriptor) information is placed in the descriptors of
69 this function's response.
70
71 -f, --filter=FI
72 set the filter field in the request. When FI is 0 (default)
73 fetch descriptors for all phys. When FI is 1 only fetch descrip‐
74 tors for phys attached to (other) expanders. When FI is 2 only
75 fetch descriptors for phys attached to expanders, SAS or SATA
76 devices. When FI is 1 or 2, expander phys that would yield "phy
77 vacant" (indicating they are hidden by zoning) are filtered out.
78
79 -h, --help
80 output the usage message then exit.
81
82 -H, --hex
83 output the response (less the CRC field) in hexadecimal.
84
85 -i, --ignore
86 sets the Ignore Zone Group bit in the SMP Discover list request.
87
88 -I, --interface=PARAMS
89 interface specific parameters. In this case "interface" refers
90 to the path through the operating system to the SMP initiator.
91 See the smp_utils man page for more information.
92
93 -n, --num=NUM
94 maximum number of descriptors fetch. If any descriptors are in
95 the response the first phy id will be greater than or equal to
96 the argument of --phy=ID. Note that maximum SMP frame size is
97 1032 bytes (including a trailing 4 byte CRC) which may limit the
98 number of descriptors that can be fetched by a single DISCOVER
99 LIST function (especially when '--descriptor=0').
100
101 -o, --one
102 use one line (summarized) format for each descriptor in the
103 response. The default action when this option is not given is
104 to output multiple indented lines for each descriptor in the
105 response. See the section below on SINGLE LINE PER PHY FORMAT.
106
107 -p, --phy=ID
108 phy identifier. ID is a value between 0 and 254. This is the
109 starting (lowest numbered) phy id to fetch in the response.
110 Note that due to the filter field setting, the first phy id in
111 the response may be greater than the argument to this option.
112
113 -r, --raw
114 send the response (less the CRC field) to stdout in binary. All
115 error messages are sent to stderr.
116
117 -s, --sa=SAS_ADDR
118 specifies the SAS address of the SMP target device. Typically
119 this is an expander. This option may not be needed if the
120 SMP_DEVICE has the target's SAS address within it. The SAS_ADDR
121 is in decimal but most SAS addresses are shown in hexadecimal.
122 To give a number in hexadecimal either prefix it with '0x' or
123 put a trailing 'h' on it.
124
125 -S, --summary
126 output a multi line summary, with one line per active phy.
127 Checks up to 254 phys starting at phy identifier ID (which
128 defaults to 0). Equivalent to '-o -d 1 -n 254 -b' unless the
129 --adn option was also given, in which case it is equivalent to
130 '-o -d 0 -n 254 -b' . See the section below on SINGLE LINE PER
131 PHY FORMAT.
132
133 -v, --verbose
134 increase the verbosity of the output. Can be used multiple
135 times.
136
137 -V, --version
138 print the version string and then exit.
139
140 -Z, --zpi=FN
141 FN is a file that will be created or truncated then have zone
142 phy information written to it in a format suitable for input to
143 the smp_conf_zone_phy_info utility's --pconf=FN option. If
144 --num=NUM is not given it is set to 254. The output will start
145 from phy_id 0 unless --phy=ID is given.
146
148 The --summary (or --one) option causes SMP DISCOVER LIST descriptors to
149 be compressed to one line per phy. To save space SAS addresses are
150 shown in hex without a '0x' prefix or 'h' suffix. The header section
151 outputs information found in the DISCOVER LIST response's header sec‐
152 tion.
153
154 For each descriptor in the DISCOVER LIST response, one line is output
155 starting with " phy <n>:" where <n> is the phy identifier (and they
156 are origin zero). That is followed by the routing attribute represented
157 by a single letter which is either "D" for direct routing, "S" for sub‐
158 tractive routing, "T" or "U". Both "T" and "U" imply table routing, the
159 difference is that if REPORT GENERAL indicates "table to table sup‐
160 ported" then "U" is output to indicate that phy can be part of an
161 enclosure universal port; otherwise "T" is used. Next comes the negoti‐
162 ated physical link rate which is either "disabled", "reset problem" or
163 "spinup hold". Other states are mapped to "attached". This includes
164 enabled phys with nothing connected which appear as
165 "attached:[0000000000000000:00]".
166
167 Information shown between the brackets is for the attached device. Phys
168 that are connected display something like:
169 "attached:[5000c50000520a2a:01 " where the first number is the attached
170 SAS address (in hex) and the second number is the attached device's phy
171 identifier. If the attached device type is other than an SAS or SATA
172 device then one of these abbreviations is output: "exp" (for expander),
173 "fex" (for fanout expander) or "res" (for unknown attached device
174 type). If a phy is flagged as "virtual" then the letter "V" appears
175 next. Next are the protocols supported by the attached device which are
176 shown as "i(<list>)" for initiator protocols and/or "t(<list>)" for
177 target protocols. The <list> is made up of "PORT_SEL", "SSP", "STP",
178 "SMP" and "SATA" with "+" used as a separator. For example a SAS host
179 adapter will most likely appear as: "i(SSP+STP+SMP)". This completes
180 the information about the attached phy, hence the closing right
181 bracket.
182
183 If appropriate, the negotiated physical link rate is shown in gigabits
184 per second. Here is an example of a line for expander phy identifier 11
185 connected to a SATA target (or SATA "device" to use the t13.org term):
186
187 phy 11:T:attached:[500605b000000afb:00 t(SATA)] 1.5 Gbps
188
189 If the expander has zoning enabled (i.e. REPORT GENERAL response bit
190 for 'zoning enabled' is set) and a phy's zone group is other than zg 1
191 then the phy's zone group is shown (e.g. "ZG:2").
192
193 If the --adn option is given then after the attached SAS address and
194 the attached device's phy identifier are output an extra field is
195 inserted containing the "attached device name" field. For a SAS disk
196 this should be its target device name (in NAA-5 format) and for a SATA
197 disk its WWN (if provided, also in NAA-5 format). Also when the --adn
198 option is given the phy speed and zone group are not output in order to
199 keep the line length reasonable.
200
202 In SAS-2 and later both the DISCOVER and DISCOVER LIST functions are
203 available. The DISCOVER LIST function should be favoured for several
204 reasons: its response can hold up to 40 descriptors each describing the
205 state of one expander phy. The vast majority of expander chips on the
206 market support 36 phys or less so one DISCOVER LIST response will sum‐
207 marize the states of all its phys. With the DISCOVER function only one
208 expander phy's state is returned in its response. Other advantages of
209 the DISCOVER LIST function are its "phy filter" and "descriptor type"
210 function request fields.
211
213 The SMP DISCOVER LIST function was introduced in SAS-2 .
214
216 Written by Douglas Gilbert.
217
219 Report bugs to <dgilbert at interlog dot com>.
220
222 Copyright © 2006-2014 Douglas Gilbert
223 This software is distributed under a FreeBSD license. There is NO war‐
224 ranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR‐
225 POSE.
226
228 smp_utils, smp_discover, smp_phy_control, smp_conf_zone_phy_info
229
230
231
232smp_utils-0.98 April 2014 SMP_DISCOVER_LIST(8)