focal (8) smp_read_gpio.8.gz

Provided by: smp-utils_0.98-2build1_amd64 bug

NAME

       smp_read_gpio - invoke READ GPIO REGISTER (ENHANCED) SMP function

SYNOPSIS

       smp_read_gpio  [--count=CO]  [--enhanced]  [--help]  [--hex]  [--index=IN]  [--interface=PARAMS]  [--raw]
       [--sa=SAS_ADDR] [--type=TY] [--verbose] [--version] SMP_DEVICE[,N]

DESCRIPTION

       Sends a SAS Serial Management Protocol (SMP) READ GPIO REGISTER or READ GPIO REGISTER  ENHANCED  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.

       This function is defined in SFF-8485 ( see www.sffcommittee.com ) together with its  corresponding  WRITE
       GPIO  REGISTER  SMP  function.   The  other  SMP  functions are defined in SAS documents at www.t10.org .
       SFF-8485 defines a curious device called a "virtual SMP port" that lives in a host bus adapter (HBA)  and
       allows  SMP  to  manipulate  the  sideband signals on wide internal cables. To stop other initiators in a
       multi-initiator domain from accessing those sideband signals,  the  virtual  SMP  (target)  port  is  not
       indicated in a DISCOVER response.

       For notes on the SMP READ GPIO REGISTER ENHANCED function see the section on the ENHANCED FUNCTION below.

OPTIONS

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

       -c, --count=CO
              where  CO  is the register count. This is the number of (4 byte) registers to request. The default
              value is 1.

       -E, --enhanced
              sends a READ GPIO REGISTER ENHANCED function request (default: send a READ GPIO REGISTER  function
              request).

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

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

       -i, --index=IN
              where  IN  is  the  register  index.  This value is origin zero and its default value is 0. If the
              request succeeds, then --count=CO registers starting from --index=IN of the given --type=TY should
              be in the response.

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

       -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, --type=TY
              where  TY  is the register type. The default value is 0 (GPIO_CFG).  If the request succeeds, then
              --count=CO registers starting from --index=IN of the given --type=TY should be in the response.

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

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

ENHANCED FUNCTION

       In the technical review of SAS-2 prior to standardization in this t10 document: 08-212r8.pdf (page 871 or
       552)  there is a comment that the READ GPIO REGISTER and WRITE GPIO REGISTER function headers (i.e. first
       4 bytes) do not comply with all the other SMP functions in SAS-2.

       There is a suggestion that enhanced variants be introduced in the next version of the SFF-8485  document.
       If  that ever happened then it has not been made public. In SAS-2.1 both the READ and WRITE GPIO REGISTER
       functions have been made obsolete and the corresponding ENHANCED function numbers  are  "restricted"  for
       SFF-8485.

       If the --enhanced option is given then the ENHANCED function number is sent; the register type, index and
       count fields (1  byte each) are increased by two byte positions leaving  enough  space  for  a  compliant
       SAS-2 SMP header to be built.

EXAMPLES

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

CONFORMING TO

       The  SMP  READ  GPIO  REGISTER  (ENHANCED)  function  is  defined in SFF-8485 (see www.sffcommittee.com )
       together with its corresponding WRITE GPIO REGISTER (ENHANCED) SMP function.

AUTHORS

       Written by Douglas Gilbert.

REPORTING BUGS

       Report bugs to <dgilbert at interlog dot com>.

       Copyright © 2006-2011 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_write_gpio(smp_utils)