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 Management Protocol (SMP) READ GPIO REGISTER or READ GPIO REGISTER
  ENHANCED function request to a 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.
In SAS-2 this function was made obsolete and seemingly replaced by a function
  called READ GPIO REGISTER ENHANCED with a reference to the same SFF document.
  However the author can find no version of SFF-8485 that defines the READ GPIO
  REGISTER ENHANCED function. In SAS-2.1 both the READ GPIO REGISTER and READ
  GPIO REGISTER ENHANCED functions were dropped.
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.
 
EXAMPLES¶
See "Examples" section in 
http://sg.danny.cz/sg/smp_utils.html
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¶
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)