Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SMP_PHY_CONTROL(8)		    SMP_UTILS		      SMP_PHY_CONTROL(8)

NAME
     smp_phy_control - invoke PHY CONTROL SMP function

SYNOPSIS
     smp_phy_control [--attached=ADN] [--expected=EX] [--help] [--hex] [--inter-
     face=PARAMS]   [--max=MA]	 [--min=MI]   [--op=OP]  [--phy=ID]  [--pptv=TI]
     [--pwrdis=PDC]   [--raw]	[--sa=SAS_ADDR]   [--sas_pa=CO]    [--sas_sl=CO]
     [--sata_pa=CO] [--sata_sl=CO] [--verbose] [--version] SMP_DEVICE[,N]

DESCRIPTION
     Sends  a  SAS Serial Management Protocol (SMP) PHY CONTROL function request
     to an SMP target. 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. The mpt interface uses SMP_DEVICE to identify	a  HBA	(an  SMP
     initiator)  and  needs  the  additional ,N to differentiate between HBAs if
     there are multiple present.

     The PHY CONTROL function is used to change the state of a phy within an SMP
     target. SMP targets are typically SAS expanders which have  multiple  phys.
     Certain  operation  values  (e.g.	'lr' (link reset) and 'hr' (hard reset))
     change the state of the attached phy. Sending such operation values to  the
     phy in the SMP target that is attached to the originator (i.e. the SMP ini-
     tiator) may lead to a bad response.

     Invoking  this utility with no arguments (other than SMP_DEVICE which might
     be in an environment variable and --sa=SAS_ADDR which might be in an  envi-
     ronment  variable	or not needed) is harmless. In other words a phy's state
     is only changed when either --max=MA, --min=MI,  --op=OP  or  --pptv=TI  is
     given with a non default value.

OPTIONS
     Mandatory	arguments  to  long  options  are mandatory for short options as
     well.

     -a, --attached=ADN
	    specifies the attached device name (ADN). The default value is  0  .
	    The  ADN  is  in  decimal but is likely to be a SAS address which is
	    typically shown in hexadecimal. To specify a number  in  hexadecimal
	    either  prefix it with '0x' or put a trailing 'h' on it. This option
	    is ignored by the expander unless the  '--op=sadn'	option	is  also
	    given.

     -E, --expected=EX
	    set  the  'expected expander change count' field in the SMP request.
	    The value EX is from 0 to 65535 inclusive with 0 being  the  default
	    value.  When EX is greater than zero then if the value doesn't match
	    the expander change count of the SMP target (i.e. the expander) when
	    the request arrives then the target ignores the request and  sets  a
	    function result of "invalid expander change count" in the response.

     -h, --help
	    output the usage message then exit.

     -H, --hex
	    output the response (less the CRC field) in hexadecimal.

     -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.

     -M, --max=MA
	    permits  the  programmed maximum physical link rate to be changed on
	    the gven phy. Permitted values are:
	      0  : no change
	      8  : 1.5 Gbps
	      9  : 3 Gbps
	      10 : 6 Gbps
	      11 : 12 Gbps
	      12 : 22.5 Gbps
	    Default value is 0.

     -m, --min=MI
	    permits the programmed minimum physical link rate to be  changed  on
	    the given phy. Permitted values are:
	      0  : no change
	      8  : 1.5 Gbps
	      9  : 3 Gbps
	      10 : 6 Gbps
	      11 : 12 Gbps
	      12 : 22.5 Gbps
	    Default value is 0.

     -o, --op=OP
	    specifies the operation to be performed on the given phy. The OP ar-
	    gument  can  be either numeric or a string. If a number is given, it
	    is put into the 'phy operation'  field  of	the  request.  Allowable
	    strings  are  abbreviations  of  which only the first two characters
	    need to match. Each line in the following list  contains  a  numeric
	    value, a string and then a brief explanation:
	      0 : nop  : no operation
	      1 : lr   : link reset
	      2 : hr   : hard reset
	      3 : dis  : disable phy
	      5 : cel  : clear error log
	      6 : ca   : clear affiliation
	      7 : tspss: transmit SATA port selection signal
	      8 : citnl: clear STP I_T nexus loss (bit)
	      9 : sadn : set attached device name
	    The default value is 0 (no operation).

     -p, --phy=ID
	    phy identifier. ID is a value between 0 and 254. Default is 0.

     -P, --pptv=TI
	    partial  pathway  timeout  value. The units are microseconds and the
	    permitted values are between 0 and 15 inclusive. 7	microseconds  is
	    recommended by sas2r07.

     -D, --pwrdis=PDC
	    where PDC is the power disable control value. The default value is 0
	    which  means no change. The value of 1 is reserved; 2, if supported,
	    instructs the management device server to negate the  POWER  DISABLE
	    signal;  while  3, if supported, instructs it to assert that signal.
	    This applies to the phy given by ID (which defaults to 0).

     -r, --raw
	    send the response (less the CRC field) to stdout in binary. All  er-
	    ror 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.

     -q, --sas_pa=CO
	    set  the Enable SAS Partial field to CO which is two bits wide.  The
	    defined values for CO are 0 for no change; 1 for manage partial  phy
	    power conditions; 2 for disable partial phy power conditions.

     -l, --sas_sl=CO
	    set  the Enable SAS Slumber field to CO which is two bits wide.  The
	    defined values for CO are 0 for no change; 1 for manage slumber  phy
	    power conditions; 2 for disable slumber phy power conditions.

     -Q, --sata_pa=CO
	    set the Enable SATA Partial field to CO which is two bits wide.  The
	    defined  values for CO are 0 for no change; 1 for manage partial phy
	    power conditions; 2 for disable partial phy power conditions.

     -L, --sata_sl=CO
	    set the Enable SATA Slumber field to CO which is two bits wide.  The
	    defined values for CO are 0 for no change; 1 for manage slumber  phy
	    power conditions; 2 for disable slumber phy power conditions.

     -v, --verbose
	    increase the verbosity of the output. Can be used multiple times

     -V, --version
	    print the version string and then exit.

NOTES
     Once  an  expander phy has been disabled with --op=dis then it can be later
     re-enabled with a link reset or hard reset (e.g. --op=lr).

EXAMPLES
     See "Examples" section in http://sg.danny.cz/sg/smp_utils.html

CONFORMING TO
     The SMP PHY CONTROL function was introduced in SAS-1 .

AUTHORS
     Written by Douglas Gilbert.

REPORTING BUGS
     Report bugs to <dgilbert at interlog dot com>.

COPYRIGHT
     Copyright (C) 2006-2015 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_utils)

smp_utils-0.99			  November 2015 	      SMP_PHY_CONTROL(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=smp_phy_control&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help