/* Void Main's man pages */
{ phpMan } else { main(); }
SMP_DISCOVER_LIST(8) SMP_UTILS SMP_DISCOVER_LIST(8)
NAME
smp_discover_list - invoke DISCOVER LIST SMP function
SYNOPSIS
smp_discover_list [--brief] [--descriptor=TY] [--filter=FI] [--help] [--hex] [--ignore] [--interface=PARAMS] [--num=NUM]
[--one] [--phy=ID] [--raw] [--sa=SAS_ADDR] [--verbose] [--version] SMP_DEVICE[,N]
DESCRIPTION
Sends a SAS Management Protocol (SMP) DISCOVER LIST request function to a SMP target and decodes or outputs the response.
The SMP target is identified by the SMP_DEVICE and the SAS_ADDR. Depending on the interface, the SAS_ADDR may be deduced
from the SMP_DEVICE. With one interface there is one SMP_DEVICE per machine so the SMP_DEVICE[,N] syntax is needed to
differentiate between HBAs if there are multiple present.
OPTIONS
Mandatory arguments to long options are mandatory for short options as well.
-b, --brief
reduce the decoded response output.
-d, --descriptor=TY
DISCOVER response format as descriptor in the response. When TY is 1 use the short format (i.e. 24 byte per
descriptor) descriptor in the response.
-f, --filter=FI
set the filter field in the request. When FI is 0 (default) fetch descriptors for all phys. When FI is 1 only
fetch descriptors for phys attached to expanders. When FI is 2 only fetch descriptors for phys attached to
expanders or end devices.
-h, --help
output the usage message then exit.
-H, --hex
output the response in hexadecimal.
-i, --ignore
sets the Ignore Zone Group bit in the SMP Discover list request.
-I, --interface=PARAMS
interface specific parameters. In this case "interface" refers to the path through the operating system to the SMP
initiator. See the smp_utils man page for more information.
-n, --num=NUM
maximum number of descriptors fetch. If any descriptors are in the response the first phy id will be greater than
or equal to the argument of --phy=ID. Note that maximum SMP frame size is 1032 bytes (including a trailing 4 byte
CRC) which may limit the number of descriptors that can be fetched by a single DISCOVER LIST function (especially
when '--descriptor=0').
-o, --one
use one line (summarized) format for each descriptor in the response. The default action when this option is not
given is to output multiple indented lines for each descriptor in the response.
-p, --phy=ID
phy identifier. ID is a value between 0 and 127. Default is 0. This is the lowest numbered phy id to attempt
fetch in the response. Note that due to the filter field setting, the first phy id in the response may be greater
than the argument to this option.
-r, --raw
send the response to stdout in binary. All error messages are sent to stderr.
-s, --sa=SAS_ADDR
specifies the SAS address of the SMP target device. Typically this is an expander. This option may not be needed
if the SMP_DEVICE has the target's SAS address within it. The SAS_ADDR is in decimal but most SAS addresses are
shown in hexadecimal. To give a number in hexadecimal either prefix it with '0x' or put a trailing 'h' on it.
-v, --verbose
increase the verbosity of the output. Can be used multiple times
-V, --version
print the version string and then exit.
SINGLE LINE FORMAT
The --one option causes SMP DISCOVER LIST descriptors to be compressed to a header section followed by one line per phy.
To save space SAS addresses are shown in hex without a '0x' prefix or 'h' suffix. The header section outputs information
found in the DISCOVER LIST response's header section.
For each descriptor in the DISCOVER LIST response, one line is output starting with " phy <n>:" where <n> is the phy
identifier (and they are origin zero). That is followed by the routing attribute represented by a single letter which is
either "D" for direct routing, "S" to subtractive routing or "T" for table routing. Then comes the negotiated physical
link rate which is either "disabled", "reset problem" or "spinup hold". Other states are mapped to "attached". This
includes enabled phys with nothing connected which appear as "attached:[0000000000000000:00]".
Information shown between the brackets is for the attached device. Phys that are connected display something like:
"attached:[5000c50000520a2a:01 " where the first number is the attached SAS address (in hex) and the second number is the
attached device's phy identifier. If the attached device type is other than an end device then one of these abbreviations
is output: "exp" (for expander), "fex" (for fanout expander) or "res" (for unknown attached device type). If a phy is
flagged as "virtual" then the letter "V" appears next. Next are the protocols supported by the attached device which are
shown as "i(<list>)" for initiator protocols and/or "t(<list>)" for target protocols. The <list> is made up of
"PORT_SEL", "SSP", "STP", "SMP" and "SATA" with "+" used as a separator. For example a SAS host adapter wi11 most likely
appear as: "i(SSP+STP+SMP)". This completes the information about the attached phy, hence the closing right bracket.
Finally, if appropriate, the negotiated physical link rate is shown in gigabits per second. Here is an example of a line
for expander phy identifier 11 connected to a SATA target (or SATA "device" to use the t13.org term):
phy 11:T:attached:[500605b000000afb:00 t(SATA)] 1.5 Gbps
CONFORMING TO
The SMP DISCOVER LIST function was introduced in SAS-2 .
AUTHORS
Written by Douglas Gilbert.
REPORTING BUGS
Report bugs to <dgilbert at interlog dot com>.
COPYRIGHT
Copyright (C) 2006-2008 Douglas Gilbert
This software is distributed under a FreeBSD license. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
SEE ALSO
smp_utils, smp_discover, smp_phy_control
smp_utils-0.93 January 2008 SMP_DISCOVER_LIST(8)

