SMP_DISCOVER

Section: SMP_UTILS (8)
Updated: January 2008
Index Return to Main Contents
 

NAME

smp_discover - invoke DISCOVER SMP function  

SYNOPSIS

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

DESCRIPTION

Sends a SAS Management Protocol (SMP) DISCOVER 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. If used twice will exit if there is no attached device (after outputting that). When used with --multiple, unattached phys are not listed; when used twice, trims attached phys output.
-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 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.
-l, --list
list attributes in "name=value" form, one entry per line.
-m, --multiple
loops over multiple phys within SMP target (typically an expander) and does a DISCOVER request and outputs a one line summary. Phy 0 is queried first, then phy 1, continuing until an error occurs. If --brief is given then there is no output for phys that indicate there is no attached device; when used twice additionally trims the output line of attached phys.
-n, --num=NUM
number of phys to fetch, starting at --phy=ID when the --multiple option is given. The default value is 0 which is interpreted as "the rest" (i.e. until a "phy does not exist" function result is received). This option is ignored in the absence of the --multiple option.
-p, --phy=ID
phy identifier. ID is a value between 0 and 127. Default is 0.
-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 --multiple option causes SMP DISCOVER responses to be compressed to a header followed by one line per phy. To save space SAS addresses are shown in hex without a '0x' prefix or 'h' suffix. The header line gives the SAS address of the SMP target itself and assumes it is an expander.

Each line starts 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 function was introduced in SAS-1, with small additions in SAS-1.1 . There have been a large number of additions in SAS-2 .  

AUTHORS

Written by Douglas Gilbert.  

REPORTING BUGS

Report bugs to <dgilbert at interlog dot com>.  

COPYRIGHT

Copyright © 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_list, smp_phy_control


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
SINGLE LINE FORMAT
CONFORMING TO
AUTHORS
REPORTING BUGS
COPYRIGHT
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 05:34:30 GMT, December 24, 2015