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

NAME

6       smp_write_gpio - invoke WRITE GPIO REGISTER SMP function
7

SYNOPSIS

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

DESCRIPTION

14       Sends a SAS Management Protocol (SMP) WRITE GPIO REGISTER request func‐
15       tion to a SMP target. The SMP target is identified  by  the  SMP_DEVICE
16       and  the  SAS_ADDR.  Depending  on  the  interface, the SAS_ADDR may be
17       deduced from the SMP_DEVICE. With one interface there is one SMP_DEVICE
18       per  machine  so  the  SMP_DEVICE,N  syntax  is needed to differentiate
19       between HBAs if there are multiple present.
20
21       This function is defined  in  SFF-8485  (  see  www.sffcommittee.com  )
22       together  with  its corresponding READ GPIO REGISTER SMP function.  The
23       other SMP functions are defined  in  SAS  documents  at  www.t10.org  .
24       SFF-8485  defines  a  curious  device  called a "virtual SMP port" that
25       lives in a host bus adapter (HBA) and  allows  SMP  to  manipulate  the
26       sideband signals in wide internal cables. To stop other initiators in a
27       multi-initiator domain from accessing those sideband signals, the  vir‐
28       tual SMP (target) port is not indicated in a DISCOVER response.
29
30       -c, --count=CO
31              where  CO  is the register count. This is the number of (4 byte)
32              registers to send. The default value is 1.
33
34       -d, --data=H,H...
35              this option supplies a comma separated list of hexadecimal bytes
36              (0 to ff inclusive) that will be used as write data in the WRITE
37              GPIO REGISTER request. The number of bytes  supplied  should  be
38              four  times  --count=C  The  first 4 bytes will become the first
39              register written.
40
41       -d, --data=-
42              reads string of hexadecimal bytes from stdin. Spaces,  tabs  and
43              line feeds additionally are permitted as separators.
44
45       -h, --help
46              output the usage message then exit.
47
48       -H, --hex
49              output the response in hexadecimal.
50
51       -i, --index=IN
52              where  IN  is  the register index. This value is origin zero and
53              its default value is 0. The request will send --count=CO  regis‐
54              ters starting from --index=IN of the given --type=TY.
55
56       -I, --interface=PARAMS
57              interface  specific  parameters. In this case "interface" refers
58              to the path through the operating system to the  SMP  initiator.
59              See the smp_utils man page for more information.
60
61       -r, --raw
62              send  the  response  to stdout in binary. All error messages are
63              sent to stderr.
64
65       -s, --sa=SAS_ADDR
66              specifies the SAS address of the SMP  target  device.  Typically
67              this  is  an  expander.  This  option  may  not be needed if the
68              SMP_DEVICE has the target's SAS address within it. The  SAS_ADDR
69              is  in  decimal but most SAS addresses are shown in hexadecimal.
70              To give a number in hexadecimal either prefix it  with  '0x'  or
71              put a trailing 'h' on it.
72
73       -t, --type=TY
74              where   TY  is  the  register  type.  The  default  value  is  0
75              (GPIO_CFG).  The request will send --count=CO registers starting
76              from --index=IN of the given --type=TY.
77
78       -v, --verbose
79              increase  the  verbosity  of  the  output.  Can be used multiple
80              times.
81
82       -V, --version
83              print the version string and then exit.
84

CONFORMING TO

86       The SMP WRITE GPIO  REGISTER  function  is  defined  in  SFF-8485  (see
87       www.sffcommittee.com ) together with its corresponding READ GPIO REGIS‐
88       TER SMP function.
89

AUTHORS

91       Written by Douglas Gilbert.
92

REPORTING BUGS

94       Report bugs to <dgilbert at interlog dot com>.
95
97       Copyright © 2006-2008 Douglas Gilbert
98       This software is distributed under a FreeBSD license. There is NO  war‐
99       ranty;  not  even  for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR‐
100       POSE.
101

SEE ALSO

103       smp_utils, smp_read_gpio(smp_utils)
104
105
106
107smp_utils-0.93                   January 2008                SMP_WRITE_GPIO(8)
Impressum