1SMP_READ_GPIO(8)                   SMP_UTILS                  SMP_READ_GPIO(8)
2
3
4

NAME

6       smp_read_gpio - invoke READ GPIO REGISTER (ENHANCED) SMP function
7

SYNOPSIS

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

DESCRIPTION

14       Sends a SAS Serial Management Protocol (SMP) READ GPIO REGISTER or READ
15       GPIO REGISTER ENHANCED function request to an SMP target. The SMP  tar‐
16       get  is identified by the SMP_DEVICE and the SAS_ADDR. Depending on the
17       interface, the SAS_ADDR may be deduced from  the  SMP_DEVICE.  The  mpt
18       interface  uses  SMP_DEVICE  to  identify  a HBA (an SMP initiator) and
19       needs the additional ,N to differentiate between HBAs if there are mul‐
20       tiple present.
21
22       This  function  is  defined  in  SFF-8485  ( see www.sffcommittee.com )
23       together with its corresponding WRITE GPIO REGISTER SMP function.   The
24       other  SMP  functions  are  defined  in  SAS documents at www.t10.org .
25       SFF-8485 defines a curious device called  a  "virtual  SMP  port"  that
26       lives  in  a  host  bus  adapter (HBA) and allows SMP to manipulate the
27       sideband signals on wide internal cables. To stop other initiators in a
28       multi-initiator  domain from accessing those sideband signals, the vir‐
29       tual SMP (target) port is not indicated in a DISCOVER response.
30
31       For notes on the SMP READ GPIO REGISTER ENHANCED function see the  sec‐
32       tion on the ENHANCED FUNCTION below.
33

OPTIONS

35       Mandatory  arguments to long options are mandatory for short options as
36       well.
37
38       -c, --count=CO
39              where CO is the register count. This is the number of  (4  byte)
40              registers to request. The default value is 1.
41
42       -E, --enhanced
43              sends  a  READ GPIO REGISTER ENHANCED function request (default:
44              send a READ GPIO REGISTER function request).
45
46       -h, --help
47              output the usage message then exit.
48
49       -H, --hex
50              output the response (less the CRC field) in hexadecimal.
51
52       -i, --index=IN
53              where IN is the register index. This value is  origin  zero  and
54              its default value is 0. If the request succeeds, then --count=CO
55              registers starting from --index=IN of the given --type=TY should
56              be in the response.
57
58       -I, --interface=PARAMS
59              interface  specific  parameters. In this case "interface" refers
60              to the path through the operating system to the  SMP  initiator.
61              See the smp_utils man page for more information.
62
63       -r, --raw
64              send  the response (less the CRC field) to stdout in binary. All
65              error messages are sent to stderr.
66
67       -s, --sa=SAS_ADDR
68              specifies the SAS address of the SMP  target  device.  Typically
69              this  is  an  expander.  This  option  may  not be needed if the
70              SMP_DEVICE has the target's SAS address within it. The  SAS_ADDR
71              is  in  decimal but most SAS addresses are shown in hexadecimal.
72              To give a number in hexadecimal either prefix it  with  '0x'  or
73              put a trailing 'h' on it.
74
75       -t, --type=TY
76              where   TY  is  the  register  type.  The  default  value  is  0
77              (GPIO_CFG).  If the request succeeds, then --count=CO  registers
78              starting from --index=IN of the given --type=TY should be in the
79              response.
80
81       -v, --verbose
82              increase the verbosity of the output. Can be used multiple times
83
84       -V, --version
85              print the version string and then exit.
86

ENHANCED FUNCTION

88       In the technical review of SAS-2 prior to standardization in  this  t10
89       document:  08-212r8.pdf  (page  871 or 552) there is a comment that the
90       READ GPIO REGISTER and WRITE GPIO REGISTER function headers (i.e. first
91       4 bytes) do not comply with all the other SMP functions in SAS-2.
92
93       There  is a suggestion that enhanced variants be introduced in the next
94       version of the SFF-8485 document. If that ever happened then it has not
95       been  made  public.  In  SAS-2.1  both the READ and WRITE GPIO REGISTER
96       functions have been made obsolete and the corresponding ENHANCED  func‐
97       tion numbers are "restricted" for SFF-8485.
98
99       If  the --enhanced option is given then the ENHANCED function number is
100       sent; the register type, index and count  fields  (1   byte  each)  are
101       increased  by  two  byte positions leaving enough space for a compliant
102       SAS-2 SMP header to be built.
103

EXAMPLES

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

CONFORMING TO

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

AUTHORS

113       Written by Douglas Gilbert.
114

REPORTING BUGS

116       Report bugs to <dgilbert at interlog dot com>.
117
119       Copyright © 2006-2011 Douglas Gilbert
120       This software is distributed under a FreeBSD license. There is NO  war‐
121       ranty;  not  even  for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR‐
122       POSE.
123

SEE ALSO

125       smp_utils, smp_write_gpio(smp_utils)
126
127
128
129smp_utils-0.97                    August 2011                 SMP_READ_GPIO(8)
Impressum