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 [--brief] [--descriptor=TY] [--filter=FI] [--help]
10 [--hex] [--ignore] [--interface=PARAMS] [--num=NUM] [--one] [--phy=ID]
11 [--raw] [--sa=SAS_ADDR] [--verbose] [--version] SMP_DEVICE[,N]
12
14 Sends a SAS Management Protocol (SMP) DISCOVER LIST request function to
15 a SMP target and decodes or outputs the response. The SMP target is
16 identified by the SMP_DEVICE and the SAS_ADDR. Depending on the inter‐
17 face, the SAS_ADDR may be deduced from the SMP_DEVICE. With one inter‐
18 face there is one SMP_DEVICE per machine so the SMP_DEVICE[,N] syntax
19 is needed to differentiate between HBAs if there are multiple present.
20
22 Mandatory arguments to long options are mandatory for short options as
23 well.
24
25 -b, --brief
26 reduce the decoded response output.
27
28 -d, --descriptor=TY
29 DISCOVER response format as descriptor in the response. When TY
30 is 1 use the short format (i.e. 24 byte per descriptor) descrip‐
31 tor in the response.
32
33 -f, --filter=FI
34 set the filter field in the request. When FI is 0 (default)
35 fetch descriptors for all phys. When FI is 1 only fetch descrip‐
36 tors for phys attached to expanders. When FI is 2 only fetch
37 descriptors for phys attached to expanders or end devices.
38
39 -h, --help
40 output the usage message then exit.
41
42 -H, --hex
43 output the response in hexadecimal.
44
45 -i, --ignore
46 sets the Ignore Zone Group bit in the SMP Discover list request.
47
48 -I, --interface=PARAMS
49 interface specific parameters. In this case "interface" refers
50 to the path through the operating system to the SMP initiator.
51 See the smp_utils man page for more information.
52
53 -n, --num=NUM
54 maximum number of descriptors fetch. If any descriptors are in
55 the response the first phy id will be greater than or equal to
56 the argument of --phy=ID. Note that maximum SMP frame size is
57 1032 bytes (including a trailing 4 byte CRC) which may limit the
58 number of descriptors that can be fetched by a single DISCOVER
59 LIST function (especially when '--descriptor=0').
60
61 -o, --one
62 use one line (summarized) format for each descriptor in the
63 response. The default action when this option is not given is
64 to output multiple indented lines for each descriptor in the
65 response.
66
67 -p, --phy=ID
68 phy identifier. ID is a value between 0 and 127. Default is 0.
69 This is the lowest numbered phy id to attempt fetch in the
70 response. Note that due to the filter field setting, the first
71 phy id in the response may be greater than the argument to this
72 option.
73
74 -r, --raw
75 send the response to stdout in binary. All error messages are
76 sent to stderr.
77
78 -s, --sa=SAS_ADDR
79 specifies the SAS address of the SMP target device. Typically
80 this is an expander. This option may not be needed if the
81 SMP_DEVICE has the target's SAS address within it. The SAS_ADDR
82 is in decimal but most SAS addresses are shown in hexadecimal.
83 To give a number in hexadecimal either prefix it with '0x' or
84 put a trailing 'h' on it.
85
86 -v, --verbose
87 increase the verbosity of the output. Can be used multiple times
88
89 -V, --version
90 print the version string and then exit.
91
93 The --one option causes SMP DISCOVER LIST descriptors to be compressed
94 to a header section followed by one line per phy. To save space SAS
95 addresses are shown in hex without a '0x' prefix or 'h' suffix. The
96 header section outputs information found in the DISCOVER LIST
97 response's header section.
98
99 For each descriptor in the DISCOVER LIST response, one line is output
100 starting with " phy <n>:" where <n> is the phy identifier (and they
101 are origin zero). That is followed by the routing attribute represented
102 by a single letter which is either "D" for direct routing, "S" to sub‐
103 tractive routing or "T" for table routing. Then comes the negotiated
104 physical link rate which is either "disabled", "reset problem" or
105 "spinup hold". Other states are mapped to "attached". This includes
106 enabled phys with nothing connected which appear as
107 "attached:[0000000000000000:00]".
108
109 Information shown between the brackets is for the attached device.
110 Phys that are connected display something like:
111 "attached:[5000c50000520a2a:01 " where the first number is the attached
112 SAS address (in hex) and the second number is the attached device's phy
113 identifier. If the attached device type is other than an end device
114 then one of these abbreviations is output: "exp" (for expander), "fex"
115 (for fanout expander) or "res" (for unknown attached device type). If a
116 phy is flagged as "virtual" then the letter "V" appears next. Next are
117 the protocols supported by the attached device which are shown as
118 "i(<list>)" for initiator protocols and/or "t(<list>)" for target pro‐
119 tocols. The <list> is made up of "PORT_SEL", "SSP", "STP", "SMP" and
120 "SATA" with "+" used as a separator. For example a SAS host adapter
121 wi11 most likely appear as: "i(SSP+STP+SMP)". This completes the infor‐
122 mation about the attached phy, hence the closing right bracket.
123
124 Finally, if appropriate, the negotiated physical link rate is shown in
125 gigabits per second. Here is an example of a line for expander phy
126 identifier 11 connected to a SATA target (or SATA "device" to use the
127 t13.org term):
128
129 phy 11:T:attached:[500605b000000afb:00 t(SATA)] 1.5 Gbps
130
132 The SMP DISCOVER LIST function was introduced in SAS-2 .
133
135 Written by Douglas Gilbert.
136
138 Report bugs to <dgilbert at interlog dot com>.
139
141 Copyright © 2006-2008 Douglas Gilbert
142 This software is distributed under a FreeBSD license. There is NO war‐
143 ranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR‐
144 POSE.
145
147 smp_utils, smp_discover, smp_phy_control
148
149
150
151smp_utils-0.93 January 2008 SMP_DISCOVER_LIST(8)