1SMP_DISCOVER(8)                    SMP_UTILS                   SMP_DISCOVER(8)
2
3
4

NAME

6       smp_discover - invoke DISCOVER SMP function
7

SYNOPSIS

9       smp_discover [--brief] [--help] [--hex] [--ignore] [--interface=PARAMS]
10       [--list] [--multiple] [--num=NUM]  [--phy=ID]  [--raw]  [--sa=SAS_ADDR]
11       [--verbose] [--version] SMP_DEVICE[,N]
12

DESCRIPTION

14       Sends  a  SAS  Management Protocol (SMP) DISCOVER request function to a
15       SMP target and decodes or outputs the response. The SMP target is iden‐
16       tified  by the SMP_DEVICE and the SAS_ADDR. Depending on the interface,
17       the SAS_ADDR may be deduced from the  SMP_DEVICE.  With  one  interface
18       there  is  one  SMP_DEVICE  per  machine  so the SMP_DEVICE,N syntax is
19       needed to differentiate between HBAs if there are multiple present.
20

OPTIONS

22       Mandatory arguments to long options are mandatory for short options  as
23       well.
24
25       -b, --brief
26              reduce  the  decoded response output. If used twice will exit if
27              there is no attached device (after outputting that).  When  used
28              with  --multiple,  unattached  phys  are  not  listed; when used
29              twice, trims attached phys output.
30
31       -h, --help
32              output the usage message then exit.
33
34       -H, --hex
35              output the response in hexadecimal.
36
37       -i, --ignore
38              sets the Ignore Zone Group bit in the SMP Discover request.
39
40       -I, --interface=PARAMS
41              interface specific parameters. In this case  "interface"  refers
42              to  the  path through the operating system to the SMP initiator.
43              See the smp_utils man page for more information.
44
45       -l, --list
46              list attributes in "name=value" form, one entry per line.
47
48       -m, --multiple
49              loops  over  multiple  phys  within  SMP  target  (typically  an
50              expander)  and  does  a  DISCOVER request and outputs a one line
51              summary. Phy 0 is queried first, then phy 1, continuing until an
52              error  occurs.  If  --brief is given then there is no output for
53              phys that indicate there is no attached device; when used  twice
54              additionally trims the output line of attached phys.
55
56       -n, --num=NUM
57              number  of phys to fetch, starting at --phy=ID when the --multi‐
58              ple option is given. The default value is 0 which is interpreted
59              as "the rest" (i.e. until a "phy does not exist" function result
60              is received). This option is  ignored  in  the  absence  of  the
61              --multiple option.
62
63       -p, --phy=ID
64              phy identifier. ID is a value between 0 and 127. Default is 0.
65
66       -r, --raw
67              send  the  response  to stdout in binary. All error messages are
68              sent to stderr.
69
70       -s, --sa=SAS_ADDR
71              specifies the SAS address of the SMP  target  device.  Typically
72              this  is  an  expander.  This  option  may  not be needed if the
73              SMP_DEVICE has the target's SAS address within it. The  SAS_ADDR
74              is  in  decimal but most SAS addresses are shown in hexadecimal.
75              To give a number in hexadecimal either prefix it  with  '0x'  or
76              put a trailing 'h' on it.
77
78       -v, --verbose
79              increase the verbosity of the output. Can be used multiple times
80
81       -V, --version
82              print the version string and then exit.
83

SINGLE LINE FORMAT

85       The --multiple option causes SMP DISCOVER responses to be compressed to
86       a header followed by one line per phy. To save space SAS addresses  are
87       shown in hex without a '0x' prefix or 'h' suffix. The header line gives
88       the SAS address of the SMP target itself and assumes it is an expander.
89
90       Each line starts with "  phy  <n>:" where <n>  is  the  phy  identifier
91       (and  they  are origin zero). That is followed by the routing attribute
92       represented by a single letter which is either "D" for direct  routing,
93       "S"  to  subtractive  routing  or "T" for table routing. Then comes the
94       negotiated physical link rate which is either "disabled", "reset  prob‐
95       lem"  or  "spinup  hold".  Other  states are mapped to "attached". This
96       includes  enabled  phys  with  nothing  connected   which   appear   as
97       "attached:[0000000000000000:00]".
98
99       Information  shown  between  the  brackets  is for the attached device.
100       Phys     that     are     connected     display     something     like:
101       "attached:[5000c50000520a2a:01 " where the first number is the attached
102       SAS address (in hex) and the second number is the attached device's phy
103       identifier.  If  the  attached  device type is other than an end device
104       then one of these abbreviations is output: "exp" (for expander),  "fex"
105       (for fanout expander) or "res" (for unknown attached device type). If a
106       phy is flagged as "virtual" then the letter "V" appears next. Next  are
107       the  protocols  supported  by  the  attached  device which are shown as
108       "i(<list>)" for initiator protocols and/or "t(<list>)" for target  pro‐
109       tocols.  The  <list>  is made up of "PORT_SEL", "SSP", "STP", "SMP" and
110       "SATA" with "+" used as a separator. For example  a  SAS  host  adapter
111       wi11 most likely appear as: "i(SSP+STP+SMP)". This completes the infor‐
112       mation about the attached phy, hence the closing right bracket.
113
114       Finally, if appropriate, the negotiated physical link rate is shown  in
115       gigabits  per  second.  Here  is  an example of a line for expander phy
116       identifier 11 connected to a SATA target (or SATA "device" to  use  the
117       t13.org term):
118
119         phy  11:T:attached:[500605b000000afb:00  t(SATA)]  1.5 Gbps
120

CONFORMING TO

122       The SMP DISCOVER function was introduced in SAS-1, with small additions
123       in SAS-1.1 . There have been a large number of additions in SAS-2 .
124

AUTHORS

126       Written by Douglas Gilbert.
127

REPORTING BUGS

129       Report bugs to <dgilbert at interlog dot com>.
130
132       Copyright © 2006-2008 Douglas Gilbert
133       This software is distributed under a FreeBSD license. There is NO  war‐
134       ranty;  not  even  for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR‐
135       POSE.
136

SEE ALSO

138       smp_utils, smp_discover_list, smp_phy_control
139
140
141
142smp_utils-0.93                   January 2008                  SMP_DISCOVER(8)
Impressum