Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Thursday, June 13, 2019

smp_phy_test (8)


smp_phy_test - invoke PHY TEST FUNTION SMP function


smp_phy_test   [--control=CO]  [--dwords=DW]  [--expected=EX]  [--func-
tion=FN]  [--help] [--hex] [--interface=PARAMS] [--linkrate=LR] [--pat-
tern=PA]  [--phy=ID]  [--raw]  [--sa=SAS_ADDR]  [--sata]  [--spread=SC]
[--verbose] [--version] SMP_DEVICE[,N]


SMP_PHY_TEST(8)                    SMP_UTILS                   SMP_PHY_TEST(8)

       smp_phy_test - invoke PHY TEST FUNTION SMP function

       smp_phy_test   [--control=CO]  [--dwords=DW]  [--expected=EX]  [--func-
       tion=FN]  [--help] [--hex] [--interface=PARAMS] [--linkrate=LR] [--pat-
       tern=PA]  [--phy=ID]  [--raw]  [--sa=SAS_ADDR]  [--sata]  [--spread=SC]
       [--verbose] [--version] SMP_DEVICE[,N]

       Sends a SAS Serial Management Protocol (SMP) PHY TEST FUNCTION 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 TEST FUNCTION function can be used to start and stop test pat-
       tern transmission. When a phy  associated  with  an  SMP  target  (most
       likely  an expander) starts test pattern transmission then the attached
       phy (if there is one) sees a link down.

       SAS phys associated with SSP targets (e.g. a  SAS  disk)  can  generate
       similar  test  patterns  by using the SEND DIAGNOSTIC SCSI command with
       page code 3fh . See the sg_senddiag utility.

       Mandatory arguments to long options are mandatory for short options  as

       -c, --control=CO
              set the 'phy test pattern dwords control' field. The argument CO
              can be from 0 to 255 inclusive, the default is 0 (each  byte  in
              'dwords'  sent  as  data  byte (Dxx.y) without scrambling). Only
              active when 'pattern' is set to 40h (i.e. "two_dwords").

       -d, --dwords=DW
              set the 'phy test pattern dwords' field which is 8  bytes  long.
              The  argument DW would normally be entered in hex with a leading
              '0x' or a trailing 'h' (otherwise it  would  be  interpreted  as
              decimal).  Due  to a quirk in the command line parser, the argu-
              ment value ffffffffffffffffh (i.e. all bits sets)  needs  to  be
              entered as '-1'.

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

       -f, --function=FN
              set  the  'phy  test  function' field in the SMP request. Values
              between 0 and 255 are accepted with the  default  being  0.  The
              value  0  stops the selected phy performing a phy test function.
              The value 1 starts the selected phy transmitting the  test  pat-
              tern (and anything that the phy receives is discarded).

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

       -l, --linkrate=LR
              transmits  the test pattern at the specified physical link rate:
              8 -> 1.5 Gbps, 9 -> 3 Gbps, 10 -> 6 Gbps, 11 -> 12 Gbps. Default
              value is 9.

       -P, --pattern=PA
              specifies  the  type  of test pattern to transmit. SAS-2 (rev15)
              values are: 1 -> JTPAT, 2  ->  CJTPAT,  10h  ->  TRAIN,  11h  ->
              TRAIN_DONE,   12h   ->   IDLE,   13h   ->  SCRAMBLED_0,  40h  ->
              "two_dwords".  Default value is 2.

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

       -r, --raw
              send the response (less the CRC field) 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.

       -t, --sata
              set phy test function SATA bit. The default action is  to  leave
              that bit clear (zero).

       -S, --spread=SC
              set  the  phy test function Spread Spectrum Clocking (SSC) field
              to SC.  Default value is zero (no spreading). Other defined val-
              ues are 1 for centre spreading and 2 for down spreading.

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

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

       The  SMP  PHY  TEST  function was introduced in SAS-1.1 and enhanced in
       SAS-2 .

       Written by Douglas Gilbert.

       Report bugs to <dgilbert at interlog dot com>.

       Copyright (C) 2006-2011 Douglas Gilbert
       This software is distributed under a FreeBSD license. There is NO  war-
       ranty;  not  even  for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR-

       See attributes(7) for descriptions of the following attributes:

       |Availability   | system/storage/smp_utils |
       |Stability      | Uncommitted              |
       smp_utils, sg_senddiag(sg3_utils)

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded from  http://sg.danny.cz/sg/p/smp_utils-0.98.tgz

       Further information about this software can be found on the open source
       community website at http://sg.danny.cz/sg/smp_utils.html.

smp_utils-0.96                     May 2011                    SMP_PHY_TEST(8)