Get Drive 1 Capacity

SteelVine SiI57XX Series
I2C Programmer’s Guide
Version 1.0
Document Number: DOC-0057XX-450
Document Number: DOC-0057XX-450
Version 1.0
Copyright © 2007, Silicon Image, Inc.
All rights reserved. No part of this publication may be reproduced, transmitted, transcribed, or translated into any language or
computer format, in any form or by any means without prior written permission of:
Silicon Image, Inc.
1060 East Arques Ave.
Sunnyvale CA 94085
Silicon Image and the Silicon Image logo are the trademarks or registered trademarks of Silicon Image, Inc. ("Silicon Image")
in the United States and other countries. The information contained in this document is provided by Silicon Image merely as a
courtesy and is, to the knowledge of Silicon Image, accurate. However, Silicon Image is under no obligation to update and/or
keep current the information contained in the document. Silicon Image disclaims any and all liability resulting from the use of
the information contained in this document and any reliance on such information shall be at the sole risk of the relying party.
Silicon Image expressly reserves the right to change the information contained herein without notice.
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page ii
Document Number: DOC-0057XX-450
Version 1.0
Contents
1
Introduction ....................................................................................................................................1
Overview.......................................................................................................................................................1
Request Command Syntax .....................................................................................................................................1
Response Message Syntax .....................................................................................................................................1
Multiple Response Messages .................................................................................................................................2
Summary of GET Commands ................................................................................................................................2
Summary of GET Responses .................................................................................................................................3
Summary of SET Commands.................................................................................................................................4
Summary of SET Responses ..................................................................................................................................4
Cascaded Configurations .......................................................................................................................................4
Sample Command and Response Packets ..............................................................................................................4
2
GET Commands .............................................................................................................................6
Get I2C Interface Protocol Version.............................................................................................................6
Get Enclosure Status ..................................................................................................................................7
Get Enclosure Serial Number.....................................................................................................................8
Get Enclosure Firmware Version...............................................................................................................9
Get Chip Type ............................................................................................................................................10
Get Enclosure Temperature .....................................................................................................................11
Get System Fan Status .............................................................................................................................12
Get Power Supply Fan Status ..................................................................................................................13
Get Drive 0 Status .....................................................................................................................................14
Get Drive 0 Rebuild/Verify Progress .......................................................................................................15
Get Drive 0 Manufacturer..........................................................................................................................16
Get Drive 0 Serial Number ........................................................................................................................17
Get Drive 0 Model Number .......................................................................................................................18
Get Drive 0 Capacity .................................................................................................................................19
Get Drive 1 Status .....................................................................................................................................20
Get Drive 1 Rebuild/Verify Progress .......................................................................................................21
Get Drive 1 Manufacturer..........................................................................................................................22
Get Drive 1 Serial Number ........................................................................................................................23
Get Drive 1 Model Number .......................................................................................................................24
Get Drive 1 Capacity .................................................................................................................................25
Get Partition 0 Capacity............................................................................................................................26
Get Partition 1 Capacity............................................................................................................................27
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page iii
Document Number: DOC-0057XX-450
Version 1.0
Get Partition 2 Capacity............................................................................................................................28
Get Partition 3 Capacity............................................................................................................................29
Get RAID Mode ..........................................................................................................................................30
Get Partition 0 RAID Mode........................................................................................................................31
Get Partition 1 RAID Mode........................................................................................................................32
Get Partition 2 RAID Mode........................................................................................................................33
Get Partition 3 RAID Mode........................................................................................................................34
Get Policies ................................................................................................................................................35
Get GPI-7 Status ........................................................................................................................................36
Get GPI-9 Status ........................................................................................................................................37
Get Drive Locking Index Value ................................................................................................................38
3
SET Commands............................................................................................................................39
Set Alarm Off/On .......................................................................................................................................39
Clear/Set GPO-0 Status.............................................................................................................................40
Clear/Set GPO-1 Status.............................................................................................................................41
Clear/Set GPO-2 Status.............................................................................................................................42
Clear/Set GPO-3 Status.............................................................................................................................43
Clear/Set GPO-4 Status.............................................................................................................................44
Set RAID Mode...........................................................................................................................................45
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page iv
Document Number: DOC-0057XX-440
Version 1.0
1
Introduction
Overview
This document describes the commands and responses that are available for managing the 57XX-Series of the SteelVine
Storage Processors using version 2.1 of the I2C bus specification protocol for out-of-band communication from an
external controller that behaves as a master device on the I2C bus, such as a PIC processor. Each SteelVine Storage
Processor on the I2C bus behaves as a slave device, so all commands must be initiated by the master device. Each
SteelVine Storage Processor on the I2C bus must also have its own unique I2C slave address. The SteelVine Storage
Processor will reply with a response, so the external controller must issue a READ operation after sending any
command. A variety of GET and SET commands are available for reading and writing various attributes of the
SteelVine Storage Processor. Chapter 2 describes all of the GET commands and responses, and Chapter 3 describes all
of the SET commands and responses. In all cases, all commands and responses use the syntax described below.
Request Command Syntax
The syntax for all request commands is shown below:
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
M
6
0
Byte 2
5
0
Opcode
7
Byte 3
0
7
Data-0
Byte 4
0
Data-1
7
0
Data-2
Byte 0:
Bits 7:1
Bit 0
Slave Address
R/W bit: Read = 1 and Write = 0
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 0 for Set (Write); 1 for Get (Read) – same as R/W bit in Byte 0
Must be set to 0
Command Opcode
Bytes 2-4: Command parameter bytes as needed for each command (refer to Chapters 2 & 3 for details)
Response Message Syntax
The syntax for all response messages is shown below:
7
M
6
E
Byte 0:
Byte 0
5
0
Opcode
Bit 7
Bit 6
Bits 5:0
Byte 1
7
Byte 2
0
Data-1
7
Byte 3
0
Data-2
7
0
Data-3
Command Mode:
0 for Set (Write)
1 for Get (Read)
Error status:
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (same value that was included in the request command)
Bytes 1-3: Response data bytes as needed (if the Error status in Byte 0, Bit 6 is 0)
Byte 1 or 2: Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
SteelVine SiI57XX Series I2C Programmer’s Guide
Page 1
Document Number: DOC-0057XX-450
Version 1.0
Multiple Response Messages
For some GET commands, the length of the response message may contain more bytes than what can be included in a
single response message. In those cases, the request command must be issued multiple times with a sequential index
number that is incremented for each partial response, and the response must be read before sending the next request
command. It is not necessary to send the GET commands in sequence-number order, although it is a good practice to do
so. Refer to the specific parameters for each command for more information.
Summary of GET Commands
The following GET commands are available for reading various attributes of the SteelVine Storage Processor. Sending
a GET command does not modify the current state of the device. Refer to Chapter 2 for the detailed description of each
GET command.
Command Description
Reserved (do not use)
Get I2C Interface Protocol Version
Get Enclosure Status
Get Enclosure Serial Number
Get Enclosure Firmware Version
Get Chip Type
Get Enclosure Temperature
Get System Fan Status
Get Power Supply Fan Status
Get Drive 0 Status
Get Drive 0 Rebuild/Verify Progress
Get Drive 0 Manufacturer
Get Drive 0 Serial Number
Get Drive 0 Model Number
Get Drive 0 Capacity
Get Drive 1 Status
Get Drive 1 Rebuild/Verify Progress
Get Drive 1 Manufacturer
Get Drive 1 Serial Number
Get Drive 1 Model Number
Get Drive 1 Capacity
Get Partition 0 Capacity
Get Partition 1 Capacity
Get Partition 2 Capacity
Get Partition 3 Capacity
Get RAID Mode
Get Partition 0 RAID Mode
Get Partition 1 RAID Mode
Get Partition 2 RAID Mode
Get Partition 3 RAID Mode
Get Policies
Get GPI-7 Status
Get GPI-9 Status
Get Drive Locking Index Value
7
R/W
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Byte 1
6 5
0
Opcode
0
0
0
1
0
2
0
3
0
4
0
5
0
6
0
7
0
8
0
9
0
10
0
11
0
12
0
13
0
14
0
15
0
16
0
17
0
18
0
19
0
20
0
21
0
22
0
23
0
24
0
25
0
26
0
27
0
28
0
29
0
30
0
31
0
32
0
33
Byte 2
Byte 3
Byte 4
Data-0
0
N/A
N/A
Sequence: 0-3
N/A
N/A
N/A
N/A
N/A
N/A
Sequence: 0-7
N/A
Sequence: 0-9
Sequence: 0-19
Sequence: 0-3
N/A
Sequence: 0-7
N/A
Sequence: 0-9
Sequence: 0-19
Sequence: 0-3
Sequence: 0-3
Sequence: 0-3
Sequence: 0-3
Sequence: 0-3
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Sequence: 0-1
Data-1
0
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Data-2
0
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Note: For clarity, Byte 0 is not shown in the table above.
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 2
Document Number: DOC-0057XX-450
Version 1.0
Summary of GET Responses
The following table shows the responses are generated for each GET Command. Refer to Chapter 2 for the detailed
description of each response and any error codes.
Command Description
Get I2C Interface Protocol Version
Get Enclosure Status
Get Enclosure Serial Number
7
R/W
1
1
1
Byte 0
6 5
0
E
Opcode
E
1
E
2
E
3
Get Enclosure Firmware Version
Get Chip Type
Get Enclosure Temperature
Get System Fan Status
Get Power Supply Fan Status
Get Drive 0 Status
Get Drive 0 Rebuild/Verify Progress
1
1
1
1
1
1
1
E
E
E
E
E
E
E
4
5
6
7
8
9
10
Get Drive 0 Manufacturer
Get Drive 0 Serial Number
1
1
E
E
11
12
Get Drive 0 Model Number
1
E
13
Get Drive 0 Capacity
1
E
14
Get Drive 1 Status
Get Drive 1 Rebuild/Verify Progress
1
1
E
E
15
16
Get Drive 1 Manufacturer
Get Drive 1 Serial Number
1
1
E
E
17
18
Get Drive 1 Model Number
1
E
19
Get Drive 1 Capacity
1
E
20
Get Partition 0 Capacity
1
E
21
Get Partition 1 Capacity
1
E
22
Get Partition 2 Capacity
1
E
23
Get Partition 3 Capacity
1
E
24
Get RAID Mode
1
E
25
Get Partition 0 RAID Mode
Get Partition 1 RAID Mode
Get Partition 2 RAID Mode
Get Partition 3 RAID Mode
Get Policies
Get GPI-7 Status
Get GPI-9 Status
Get Drive Locking Index Value
1
1
1
1
1
1
1
1
E
E
E
E
E
E
E
E
26
27
28
29
30
31
32
33
Byte 1
Byte 2
Byte 3
Data-0
Version
0 or 1
Sequence
0-3
Version
Version
Temperature
Fan Speed
Fan Speed
Drive Status
Sequence
0-7
Manufacturer
Sequence
0-9
Sequence
0-19
Sequence
0-3
Drive Status
Sequence
0-7
Manufacturer
Sequence
0-9
Sequence
0-19
Sequence
0-3
Sequence
0-3
Sequence
0-3
Sequence
0-3
Sequence
0-3
RAID Mode
Data-1
Version
N/A
Serial
Number
Version
Version
Temperature
Fan Speed
Fan Speed
N/A
Number of
Sectors
Manufacturer
Serial
Number
Model
Number
Capacity
Data-2
Version
N/A
Serial
Number
N/A
N/A
N/A
N/A
N/A
N/A
Number of
Sectors
N/A
Serial
Number
Model
Number
Capacity
N/A
Number of
Sectors
Manufacturer
Serial
Number
Model
Number
Capacity
N/A
Number of
Sectors
N/A
Serial
Number
Model
Number
Capacity
Capacity
Capacity
Capacity
Capacity
Capacity
Capacity
Capacity
Capacity
Config Pin
Settings
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Index
N/A
RAID Mode
RAID Mode
RAID Mode
RAID Mode
N/A
N/A
N/A
Sequence
0-1
Note: The READ command for the response should allow a timeout duration of up to one second.
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 3
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Index
Document Number: DOC-0057XX-450
Version 1.0
Summary of SET Commands
The following SET commands are available. Sending a SET command will affect the current state of the device. Refer
to Chapter 3 for the detailed description of each SET command.
Command Description
7
R/W
0
0
0
0
0
0
0
Set Alarm Off/On
Clear/Set GPO-0 Status
Clear/Set GPO-1 Status
Clear/Set GPO-2 Status
Clear/Set GPO-3 Status
Clear/Set GPO-4 Status
Set Raid Mode
Byte 1
6
5
0
Opcode
0
34
0
35
0
36
0
37
0
38
0
39
0
40
Byte 2
Data-0
0 or 1
0 or 1
0 or 1
0 or 1
0 or 1
0 or 1
Mode
Note: For clarity, Byte 0 is not shown in the table above.
Summary of SET Responses
All SET responses return an error code to indicate the completion status of the command. No other values are returned
in a SET response. Refer to Chapter 3 for a description of the error codes.
Cascaded Configurations
Each node in a cascaded configuration should have its own unique slave address, so the GET and SET commands
described in this document will apply to each node independently of any other node.
Sample Command and Response Packets
The following sample commands and responses illustrate the communication session between the external I2C bus
master device (such as a PIC processor) and the response(s) from the SteelVine Storage Processor. In all cases, assume
that a “Get I2C Protocol Version” command has already been issued to open a communication session.
Example 1 – Get Drive 0 Status (Opcode=9)
Assume that hard disk drive 0 is currently rebuilding a RAID-1 mirror set, and that there are no errors.
Request Command (Slave Address in Byte 0 is omitted):
7
1
6
0
Byte 1
5
0
9
0x89
Response Message:
7
1
6
0
Byte 0
5
Byte 1
0
9
0x89
7
0
Drive 0 Status
(bit 1 set for rebuild)
0x02
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 4
Document Number: DOC-0057XX-450
Version 1.0
Example 2 – Get Drive 1 Capacity (Opcode=20)
Assume that hard disk drive 1 has a capacity of 100,000,000 sectors (0x5F5E100 in hex), and that there are no errors.
First Request Command (Slave Address in Byte 0 is omitted):
7
1
6
0
Byte 1
5
0
20
0x94
Byte 2
7
0
Sequence: 0 - 3
0x00
First Response Message:
7
1
6
0
Byte 0
5
0
20
0x94
Byte 1
7
0
Sequence Number
0x00
Byte 2
7
0
Capacity (1st byte)
0x00
Byte 3
7
0
Capacity (2nd byte)
0x00
Second Request Command (Slave address in Byte 0 is omitted):
7
1
6
0
Byte 1
5
0
20
0x94
Byte 2
7
0
Sequence: 0 - 3
0x01
Second Response Message:
7
1
6
0
Byte 0
5
0
20
0x94
Byte 1
7
0
Sequence Number
0x01
Byte 2
7
0
Capacity (3rd byte)
0x00
Byte 3
7
0
Capacity (4th byte)
0x00
Third Request Command (Slave address in Byte 0 is omitted):
7
1
6
0
Byte 1
5
0
20
0x94
Byte 2
7
0
Sequence: 0 - 3
0x02
Third Response Message (Slave address in Byte 0 is omitted):
7
1
6
0
Byte 0
5
0
20
0x94
Byte 1
7
0
Sequence Number
0x02
Byte 2
7
0
Capacity (5th byte)
0x05
Byte 3
7
0
Capacity (6th byte)
0xF5
Fourth Request Command (Slave address in Byte 0 is omitted):
7
1
6
0
Byte 1
5
0
20
0x94
Byte 2
7
0
Sequence: 0 - 3
0x03
Fourth Response Message:
7
1
6
0
Byte 0
5
0
20
0x94
Byte 1
7
0
Sequence Number
0x03
Byte 2
7
0
Capacity (7th byte)
0xE1
2
Byte 3
7
0
Capacity (8th byte)
0x00
SteelVine SiI57XX Series I C Programmer’s Guide
Page 5
Document Number: DOC-0057XX-450
Version 1.0
2
GET Commands
Get I2C Interface Protocol Version
The Get I2C Interface Protocol Version command returns the version number of the I2C protocol that is
supported by the SteelVine Storage Processor. This command also serves as an “Open” command for any I2C
communication session, and it must be the first command issued after the SteelVine Storage Processor starts . This
command can also be issued any time after startup.
Command Syntax
Byte 0
Byte 1
7
1
Slave Address
0
R/W
7
1
6
0
5
0
1
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (1)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
1
Bit 7
Bit 6
Bits 5:0
Byte 1
7
0
Version or Error Code
Byte 2
7
Byte 3
0
Version
7
0
Version
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (1)
Bytes 1-3: Version number, one character per byte (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
Notes
This command should be re-tried up to 10 times with one-second timeout duration for each retry attempt, to allow
sufficient time for the SteelVine Storage Processor to startup and become ready.
Error code 1 can never be returned for this command.
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 6
Document Number: DOC-0057XX-450
Version 1.0
Get Enclosure Status
The Get Enclosure Status command returns the SATA or USB host link status as absent or present.
Command Syntax
Byte 0
Byte 1
7
1
Slave Address
0
R/W
7
1
6
0
5
0
2
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (2)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
2
Bit 7
Bit 6
Bits 5:0
7
0
Host Link Status
or Error Code
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (2)
Byte 1:
Host Link Status: 0 = present; 1 = absent (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 7
Document Number: DOC-0057XX-450
Version 1.0
Get Enclosure Serial Number
The Get Enclosure Status command returns the eight-character Serial Number from the SteelVine Storage
Processor Enclosure. This command must be sent four times (with an increasing sequence number ranging from 0 to 3)
and the serial number will be returned two bytes at a time in the corresponding ten responses. For example, the first two
bytes will be return by the first command, the second two bytes will be returned by the second command, and so on.
Command Syntax
Byte 0
Byte 1
7
1
Slave Address
0
R/W
7
1
6
0
Byte 2
5
0
3
7
0
Sequence: 0 - 3
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 3
Command Mode: 1 for GET
Must be set to 0
Command Opcode (3)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
3
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
Byte 3
0
Serial Number
(byte n)
or Error Code
7
0
Serial Number
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (3)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the Serial Number as ASCII characters (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
10 = Error retrieving the serial number from the Serial EEPROM
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 8
Document Number: DOC-0057XX-450
Version 1.0
Get Enclosure Firmware Version
The Get Enclosure Firmware Version command returns the firmware revision number from the SteelVine
Storage Processor.
Command Syntax
Byte 0
Byte 1
7
1
Slave Address
0
R/W
7
1
6
0
5
0
4
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (4)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
4
Bit 7
Bit 6
Bits 5:0
7
Byte 2
0
Firmware Version
or Error Code
7
0
Version
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (4)
Bytes 1-2: The firmware version number as an integer value (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 9
Document Number: DOC-0057XX-450
Version 1.0
Get Chip Type
The Get Chip Type command returns the chip-type identifier from the SteelVine Storage Processor.
Command Syntax
Byte 0
Byte 1
7
1
Slave Address
0
R/W
7
1
6
0
5
0
5
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (5)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
5
Bit 7
Bit 6
Bits 5:0
7
Byte 2
0
Chip Identifier or
Error Code
7
0
Chip Identifier
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (5)
Bytes 1-2: The chip identifier (if the Error status in Byte 0, Bit 6 is 0)
0xff = SiI5744
0xfe = SiI5734
0x7f = SiI5723
0x7e = SiI5733
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 10
Document Number: DOC-0057XX-450
Version 1.0
Get Enclosure Temperature
The Get Enclosure Temperature command returns the temperature of the SteelVine Storage Processor
enclosure as a 16-bit integer measured in degrees Celsius.
Command Syntax
Byte 0
Byte 1
7
1
Slave Address
0
R/W
7
1
6
0
5
0
6
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (6)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
6
Bit 7
Bit 6
Bits 5:0
Byte 1
7
0
Temperature (MSB)
or Error Code
Byte 2
7
0
Temperature (LSB)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (6)
Bytes 1-2: The enclosure temperature in degrees Celsius as an integer value (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
9 = No LM87 sensor is present in the enclosure
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 11
Document Number: DOC-0057XX-450
Version 1.0
Get System Fan Status
The Get System Fan Status command returns the speed of the system cooling fan in the SteelVine Storage
Processor enclosure as a 16-bit integer that indicates the number of clock ticks per revolution.
Command Syntax
Byte 0
Byte 1
7
1
Slave Address
0
R/W
7
1
6
0
5
0
7
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (7)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
7
Bit 7
Bit 6
Bits 5:0
Byte 1
7
0
System Fan Speed (MSB)
or Error Code
Byte 2
7
0
System Fan Speed (LSB)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (7)
Bytes 1-2: The system fan speed measured in ticks per revolution (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
9 = No LM87 sensor is present in the enclosure
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 12
Document Number: DOC-0057XX-450
Version 1.0
Get Power Supply Fan Status
The Get Power Supply Fan Status command returns the speed of the power supply cooling fan in the
SteelVine Storage Processor enclosure as a 16-bit integer that indicates the number of clock ticks per revolution.
Command Syntax
Byte 0
Byte 1
7
1
Slave Address
0
R/W
7
1
6
0
5
0
8
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (8)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
8
Bit 7
Bit 6
Bits 5:0
Byte 1
7
0
Power Supply Fan Speed
(MSB) or Error Code
Byte 2
7
0
Power Supply Fan Speed
(LSB)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (8)
Bytes 1-2: The power supply fan speed measured in ticks per revolution (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
9 = No LM87 sensor is present in the enclosure
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 13
Document Number: DOC-0057XX-450
Version 1.0
Get Drive 0 Status
The Get Drive 0 Status command returns the status of the hard disk drive that is connected to device port 0 of
the SteelVine Storage Processor.
Command Syntax
Byte 0
Byte 1
7
1
Slave Address
0
R/W
7
1
6
0
5
0
9
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (9)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
9
Bit 7
Bit 6
Bits 5:0
7
0
Drive 0 Status or
Error Code
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (9)
Byte 1:
The drive status indicated by the following bits being set (if the Error status in Byte 0, Bit 6 is 0):
Bit 0 = Online
Bit 1 = Rebuilding a RAID1 mirror
Bit 2 = Verifying a RAID1 mirror
Bit 3 = Unplugged
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 14
Document Number: DOC-0057XX-450
Version 1.0
Get Drive 0 Rebuild/Verify Progress
The Get Drive 0 Rebuild/Verify Progress command returns the progress of a rebuild or verify operation
on the hard disk drive that is connected to device port 0 of the SteelVine Storage Processor, and includes the following
information:
•
•
Number of hard disk drive sectors that have been rebuilt or verified so far (Sequences 0 through 3)
Number of hard disk drive sectors that are remaining to be rebuild or verified (Sequences 4 through 7)
For each numeric value, eight bytes are used to return the value, conveyed as four sequences of two bytes. Byte 2 of
Sequences 0 and 4 is considered the most significant byte.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
10
7
0
Sequence: 0 - 7
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 7
Command Mode: 1 for GET
Must be set to 0
Command Opcode (10)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
10
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
0
Number of Sectors
(byte n)
or Error Code
Byte 3
7
0
Number of Sectors
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (10)
Sequence number
Bytes 2-3: The next two bytes of the number of sectors (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
11 = Drive status is other than Rebuild or Verify
Example
Assuming that a hard disk drive contains 1000 sectors and is 25% complete, the number of sectors that have been rebuilt
or verified will be 250, and the number of sectors remaining to be rebuilt or verified will be 750. These values are only
shown to illustrate the concept; the actual number of sectors will depend on the physical capacity of the hard disk drive.
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 15
Document Number: DOC-0057XX-450
Version 1.0
Get Drive 0 Manufacturer
The Get Drive 0 Manufacturer command returns a two-character identifier of the manufacturer of the hard disk
drive that is connected to device port 0 of the SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
5
0
11
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (11)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
11
Bit 7
Bit 6
Bits 5:0
Byte 1
7
0
Manufacturer Code
(first byte)
or Error Code
Byte 2
7
0
Manufacturer Code
(second byte)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (11)
Bytes 1-2: The two ASCII characters that represent the manufacturer (if the Error status in Byte 0, Bit 6 is 0):
WD = Western Digital
ST = Seagate
Ma = Maxtor (second byte is lower case “a”)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
13 = Drive is not present
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 16
Document Number: DOC-0057XX-450
Version 1.0
Get Drive 0 Serial Number
The Get Drive 0 Serial Number command returns the 20-character serial number from the hard disk drive that
is connected to device port 0 of the SteelVine Storage Processor Enclosure. This command must be sent ten times (with
an increasing sequence number ranging from 0 to 9) and the serial number will be returned two bytes at a time in the
corresponding ten responses. For example, the first two bytes will be return by the first command, the second two bytes
will be returned by the second command, and so on.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
12
7
0
Sequence: 0 - 9
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 9
Command Mode: 1 for GET
Must be set to 0
Command Opcode (12)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
12
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
Byte 3
0
Serial Number
(byte n)
or Error Code
7
0
Serial Number
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (12)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the Serial Number as ASCII characters (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
13 = Drive is not present
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 17
Document Number: DOC-0057XX-450
Version 1.0
Get Drive 0 Model Number
The Get Drive 0 Model Number command returns the 40-character model number from the hard disk drive that
is connected to device port 0 of the SteelVine Storage Processor Enclosure. This command must be sent twenty times
(with an increasing sequence number ranging from 0 to 19) and the model number will be returned two bytes at a time in
the corresponding 20 responses. For example, the first two bytes will be return by the first command, the second two
bytes will be returned by the second command, and so on.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
13
7
0
Sequence: 0 - 19
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 19
Command Mode: 1 for GET
Must be set to 0
Command Opcode (13)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
13
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
Byte 3
0
Model Number
(byte n)
or Error Code
7
0
Model Number
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (13)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the Model Number as ASCII characters (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
13 = Drive is not present
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 18
Document Number: DOC-0057XX-450
Version 1.0
Get Drive 0 Capacity
The Get Drive 0 Capacity command returns the storage capacity (measured in sectors) of the hard disk drive
that is connected to device port 0 of the SteelVine Storage Processor Enclosure. This command must be sent four times
(with an increasing sequence number ranging from 0 to 3) and the capacity will be returned two bytes at a time in the
corresponding four responses. For example, the first two bytes will be return by the first command, the second two bytes
will be returned by the second command, and so on. The most significant byte is Byte 2 of the Sequence 0 response
message.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
14
7
0
Sequence: 0 - 3
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 3
Command Mode: 1 for GET
Must be set to 0
Command Opcode (14)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
14
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
Byte 3
0
Capacity
(byte n)
or Error Code
7
0
Capacity
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (14)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the capacity in sectors (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
13 = Drive is not present
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 19
Document Number: DOC-0057XX-450
Version 1.0
Get Drive 1 Status
The Get Drive 1 Status command returns the status of the hard disk drive that is connected to device port 1 of
the SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
5
0
15
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (15)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
15
Bit 7
Bit 6
Bits 5:0
7
0
Drive 0 Status
or Error Code
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (15)
Byte 1:
The drive status indicated by the following bits being set (if the Error status in Byte 0, Bit 6 is 0):
Bit 0 = Online
Bit 1 = Rebuilding a RAID1 mirror
Bit 2 = Verifying a RAID1 mirror
Bit 3 = Unplugged
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 20
Document Number: DOC-0057XX-450
Version 1.0
Get Drive 1 Rebuild/Verify Progress
The Get Drive 1 Rebuild/Verify Progress command returns the progress of a rebuild or verify operation
on the hard disk drive that is connected to device port 1 of the SteelVine Storage Processor, and includes the following
information:
•
•
Number of hard disk drive sectors that have been rebuilt or verified so far (Sequences 0 through 3)
Number of hard disk drive sectors that are remaining to be rebuild or verified (Sequences 4 through 7)
For each numeric value, eight bytes are used to return the value, conveyed as four sequences of two bytes. Byte 2 of
Sequences 0 and 4 is considered the most significant byte.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
M
6
0
Byte 2
5
0
16
7
0
Sequence: 0 - 7
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 7
Command Mode: 1 for GET
Must be set to 0
Command Opcode (16)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
16
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
0
Number of Sectors
(byte n)
or Error Code
Byte 3
7
0
Number of Sectors
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (16)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the number of sectors (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
11 = Drive status is other than Rebuild or Verify
Example
Assuming that a hard disk drive contains 1000 sectors and is 25% complete, the number of sectors that have been rebuilt
or verified will be 250, and the number of sectors remaining to be rebuilt or verified will be 750. These values are only
shown to illustrate the concept; the actual number of sectors will depend on the physical capacity of the hard disk drive.
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 21
Document Number: DOC-0057XX-450
Version 1.0
Get Drive 1 Manufacturer
The Get Drive 1 Manufacturer command returns a two-character identifier of the manufacturer of the hard disk
drive that is connected to device port 1 of the SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
5
0
17
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (17)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
17
Bit 7
Bit 6
Bits 5:0
7
Byte 2
0
Manufacturer
(first byte)
or Error Code
7
0
Manufacturer
(second byte)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (17)
Bytes 1-2: The two ASCII characters that represent the manufacturer (if the Error status in Byte 0, Bit 6 is 0):
WD = Western Digital
ST = Seagate
MA = Maxtor
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
13 = Drive is not present
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 22
Document Number: DOC-0057XX-450
Version 1.0
Get Drive 1 Serial Number
The Get Drive 1 Serial Number command returns the 20-character serial number from the hard disk drive that
is connected to device port 1 of the SteelVine Storage Processor Enclosure. This command must be sent ten times (with
an increasing sequence number ranging from 0 to 9) and the serial number will be returned two bytes at a time in the
corresponding ten responses. For example, the first two bytes will be return by the first command, the second two bytes
will be returned by the second command, and so on.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
18
7
0
Sequence: 0 - 9
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 9
Command Mode: 1 for GET
Must be set to 0
Command Opcode (18)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
18
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
Byte 3
0
Serial Number
(byte n)
or Error Code
7
0
Serial Number
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (18)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the Serial Number as ASCII characters (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
13 = Drive is not present
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 23
Document Number: DOC-0057XX-450
Version 1.0
Get Drive 1 Model Number
The Get Drive 1 Model Number command returns the 40-character model number from the hard disk drive that
is connected to device port 1 of the SteelVine Storage Processor Enclosure. This command must be sent twenty times
(with an increasing sequence number ranging from 0 to 19) and the model number will be returned two bytes at a time in
the corresponding 20 responses. For example, the first two bytes will be return by the first command, the second two
bytes will be returned by the second command, and so on.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
19
7
0
Sequence: 0 - 19
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 19
Command Mode: 1 for GET
Must be set to 0
Command Opcode (19)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
19
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
Byte 3
0
Model Number
(byte n)
or Error Code
7
0
Model Number
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (19)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the Model Number as ASCII characters (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
13 = Drive is not present
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 24
Document Number: DOC-0057XX-450
Version 1.0
Get Drive 1 Capacity
The Get Drive 1 Capacity command returns the storage capacity (measured in sectors) of the hard disk drive
that is connected to device port 1 of the SteelVine Storage Processor Enclosure. This command must be sent four times
(with an increasing sequence number ranging from 0 to 3) and the capacity will be returned two bytes at a time in the
corresponding four responses. For example, the first two bytes will be return by the first command, the second two bytes
will be returned by the second command, and so on. The most significant byte is Byte 2 of the Sequence 0 response
message.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
20
7
0
Sequence: 0 - 3
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 3
Command Mode: 1 for GET
Must be set to 0
Command Opcode (20)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
20
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
Byte 3
0
Capacity
(byte n)
or Error Code
7
0
Capacity
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (20)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the capacity in sectors (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
13 = Drive is not present
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 25
Document Number: DOC-0057XX-450
Version 1.0
Get Partition 0 Capacity
The Get Partition 0 Capacity command returns the storage capacity (measured in sectors) of the first virtual
volume that is presented by the SteelVine Storage Processor. This command must be sent four times (with an increasing
sequence number ranging from 0 to 3) and the capacity will be returned two bytes at a time in the corresponding four
responses. For example, the first two bytes will be return by the first command, the second two bytes will be returned by
the second command, and so on. The most significant byte is Byte 2 of the Sequence 0 response message.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
21
7
0
Sequence: 0 - 3
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 3
Command Mode: 1 for GET
Must be set to 0
Command Opcode (21)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
21
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
Byte 3
0
Capacity
(byte n)
or Error Code
7
0
Capacity
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (21)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the capacity in sectors (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
13 = Partition does not exist
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 26
Document Number: DOC-0057XX-450
Version 1.0
Get Partition 1 Capacity
The Get Partition 1 Capacity command returns the storage capacity (measured in sectors) of the second
virtual volume that is presented by the SteelVine Storage Processor. This command must be sent four times (with an
increasing sequence number ranging from 0 to 3) and the capacity will be returned two bytes at a time in the
corresponding four responses. For example, the first two bytes will be return by the first command, the second two bytes
will be returned by the second command, and so on. The most significant byte is Byte 2 of the Sequence 0 response
message.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
22
7
0
Sequence: 0 - 3
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 3
Command Mode: 1 for GET
Must be set to 0
Command Opcode (22)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
22
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
Byte 3
0
Capacity
(byte n)
or Error Code
7
0
Capacity
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (22)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the capacity in sectors (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
13 = Partition does not exist
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 27
Document Number: DOC-0057XX-450
Version 1.0
Get Partition 2 Capacity
The Get Partition 2 Capacity command returns the storage capacity (measured in sectors) of the third virtual
volume that is presented by the SteelVine Storage Processor. This command must be sent four times (with an increasing
sequence number ranging from 0 to 3) and the capacity will be returned two bytes at a time in the corresponding four
responses. For example, the first two bytes will be return by the first command, the second two bytes will be returned by
the second command, and so on. The most significant byte is Byte 2 of the Sequence 0 response message.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
23
7
0
Sequence: 0 - 3
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 3
Command Mode: 1 for GET
Must be set to 0
Command Opcode (23)
Bytes 3-4: Not applicable (can be set to 0)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
23
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
Byte 3
0
Capacity
(byte n)
or Error Code
7
0
Capacity
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (23)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the capacity in sectors (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
13 = Partition does not exist
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 28
Document Number: DOC-0057XX-450
Version 1.0
Get Partition 3 Capacity
The Get Partition 3 Capacity command returns the storage capacity (measured in sectors) of the fourth virtual
volume that is presented by the SteelVine Storage Processor. This command must be sent four times (with an increasing
sequence number ranging from 0 to 3) and the capacity will be returned two bytes at a time in the corresponding four
responses. For example, the first two bytes will be return by the first command, the second two bytes will be returned by
the second command, and so on. The most significant byte is Byte 2 of the Sequence 0 response message.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
24
7
0
Sequence: 0 - 3
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 3
Command Mode: 1 for GET
Must be set to 0
Command Opcode (24)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
24
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
Byte 3
0
Capacity
(byte n)
or Error Code
7
0
Capacity
(byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (24)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the capacity in sectors (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
13 = Partition does not exist
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 29
Document Number: DOC-0057XX-450
Version 1.0
Get RAID Mode
The Get RAID Mode command returns the current RAID mode and the settings of the Config [2:0] pins of the
SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
5
0
25
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (25)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
25
Bit 7
Bit 6
Bits 5:0
7
0
RAID Mode
or Error Code
Byte 2
7
0
Config Pin Settings
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (25)
Byte 1:
The current RAID mode (if the Error status in Byte 0, Bit 6 is 0):
0x0 = BIG
0x1 = JBOD
0x2 = FAST
0x3 = SAFE
0x4 = SAFE33
0x5 = SAFE50
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
Byte 2:
The Configuration Pin settings (if the Error status in Byte 0, Bit 6 is 0):
0x0 = BIG
0x1 = JBOD
0x2 = FAST
0x3 = SAFE
0x4 = SAFE33
0x5 = SAFE50
0x7 = GUI
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 30
Document Number: DOC-0057XX-450
Version 1.0
Get Partition 0 RAID Mode
The Get Partition 0 RAID Mode command returns the RAID mode for the first virtual volume that is created
by the SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
5
0
26
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (26)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
26
Bit 7
Bit 6
Bits 5:0
7
0
RAID Mode
or Error Code
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (26)
Byte 1:
The RAID mode for Partition 0 (if the Error status in Byte 0, Bit 6 is 0):
0x0 = BIG
0x1 = JBOD
0x2 = FAST
0x3 = SAFE
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
13 = Partition does not exist
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 31
Document Number: DOC-0057XX-450
Version 1.0
Get Partition 1 RAID Mode
The Get Partition 1 RAID Mode command returns the RAID mode for the second virtual volume that is created
by the SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
5
0
27
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (27)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
27
Bit 7
Bit 6
Bits 5:0
7
0
RAID Mode
or Error Code
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (27)
Byte 1:
The RAID mode for Partition 0 (if the Error status in Byte 0, Bit 6 is 0):
0x0 = BIG
0x1 = JBOD
0x2 = FAST
0x3 = SAFE
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
13 = Partition does not exist
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 32
Document Number: DOC-0057XX-450
Version 1.0
Get Partition 2 RAID Mode
The Get Partition 2 Mode command returns the RAID mode for the third virtual volume that is created by the
SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
5
0
28
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (28)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
28
Bit 7
Bit 6
Bits 5:0
7
0
RAID Mode
or Error Code
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (28)
Byte 1:
The RAID mode for Partition 0 (if the Error status in Byte 0, Bit 6 is 0):
0x0 = BIG
0x1 = JBOD
0x2 = FAST
0x3 = SAFE
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
13 = Partition does not exist
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 33
Document Number: DOC-0057XX-450
Version 1.0
Get Partition 3 RAID Mode
The Get Partition 3 Mode command returns the RAID mode for the fourth virtual volume that is created by the
SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
5
0
29
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (29)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
29
Bit 7
Bit 6
Bits 5:0
7
0
RAID Mode
or Error Code
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (29)
Byte 1:
The RAID mode for Partition 0 (if the Error status in Byte 0, Bit 6 is 0):
0x0 = BIG
0x1 = JBOD
0x2 = FAST
0x3 = SAFE
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
13 = Partition does not exist
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 34
Document Number: DOC-0057XX-450
Version 1.0
Get Policies
The Get Policies command returns the Rebuild and Volume Expansion Policy mode settings for the SteelVine
Storage Processor, as defined by GPI pins 5/6/8 and the SteelVine Manager GUI.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
5
0
30
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (30)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
30
Bit 7
Bit 6
Bits 5:0
7
0
Policy Bits
or Error Code
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (30)
Byte 1:
The Policy bits for the following attributes (if the Error status in Byte 0, Bit 6 is 0):
Bit 0 = Auto Rebuild (0 = disabled; 1 = enabled)
Bit 1 = Verify after Rebuild (0 = disabled; 1 = enabled)
Bit 2 = Init Rebuild (0 = disabled; 1 = enabled)
Bit 3 = Auto Expansion (0 = disabled; 1 = enabled)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 35
Document Number: DOC-0057XX-450
Version 1.0
Get GPI-7 Status
The Get GPI-7 Status command returns the status of GPI pin 7 (low or high).
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
5
0
31
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (31)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
31
Bit 7
Bit 6
Bits 5:0
7
0
GPI-7 Status or
Error Code
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (31)
Byte 1:
GPI-7 Status: 0 = low; 1 = high (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 36
Document Number: DOC-0057XX-450
Version 1.0
Get GPI-9 Status
The Get GPI-9 Status command returns the status of GPI pin 9 (low or high).
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
5
0
32
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Command Mode: 1 for GET
Must be set to 0
Command Opcode (32)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
Byte 1
0
32
Bit 7
Bit 6
Bits 5:0
7
0
GPI-9 Status
or Error Code
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (32)
Byte 1:
GPI-7 Status: 0 = low; 1 = high (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 37
Document Number: DOC-0057XX-450
Version 1.0
Get Drive Locking Index Value
The Get Drive Locking Index Value command returns the numeric index value of the Automatic Drive
Locking password that is encoded into the SiI5733 Storage Processor chip. Since the Drive Locking Index is a 32-bit
numeric value, this command must be sent twice (with an increasing sequence number ranging from 0 to 1) and the
index value will be returned two bytes at a time in the corresponding responses. For example, the first two bytes will be
return by the first command, and the second two bytes will be returned by the second command. Both commands must
be sent in the proper order. The most significant byte is Byte 2 of the Sequence 0 response message.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
33
7
0
Sequence: 0 - 1
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
Sequence Number of 0 through 1
Command Mode: 1 for GET
Must be set to 0
Command Opcode (33)
Response Syntax
7
1
6
E
Byte 0:
Byte 0
5
0
33
Bit 7
Bit 6
Bits 5:0
Byte 1:
Byte 1
7
0
Sequence Number
Byte 2
7
0
Drive Locking Index
Value (byte n)
or Error Code
Byte 3
7
0
Drive Locking Index
Value (byte n+1)
Command Mode:
Error status:
1 for GET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (33)
Sequence number (if the Error status in Byte 0, Bit 6 is 0)
Bytes 2-3: The next two bytes of the Drive Locking Index Value (if the Error status in Byte 0, Bit 6 is 0)
Byte 2:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
7 = Invalid Sequence Number
12 = Chip type is not SiI5733
16 = Cannot read OTP ROM
17 = Invalid OTP ROM checksum
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 38
Document Number: DOC-0057XX-450
Version 1.0
3
SET Commands
Set Alarm Off/On
The Set Alarm Off/On command sets or clears the Alarm (GPO-5) pin on the SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
7
34
0
0 or 1
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
0 for OFF (low); 1 for ON (high)
Command Mode: 0 for SET
Must be set to 0
Command Opcode (34)
Response Syntax
7
0
6
E
Byte 0:
Byte 0
5
Byte 1
0
34
Bit 7
Bit 6
Bits 5:0
7
0
Error Code
Command Mode:
Error status:
0 for SET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (34)
Byte 1:
Not applicable (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 39
Document Number: DOC-0057XX-450
Version 1.0
Clear/Set GPO-0 Status
The Clear/Set GPO-0 Status command sets or clears the GPO-0 pin on the SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
7
35
0
0 or 1
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
0 for OFF (low); 1 for ON (high)
Command Mode: 0 for SET
Must be set to 0
Command Opcode (35)
Response Syntax
7
0
6
E
Byte 0:
Byte 0
5
Byte 1
0
35
Bit 7
Bit 6
Bits 5:0
7
0
Error Code
Command Mode:
Error status:
0 for SET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (35)
Byte 1:
Not applicable (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 40
Document Number: DOC-0057XX-450
Version 1.0
Clear/Set GPO-1 Status
The Clear/Set GPO-1 Status command sets or clears the GPO-1 pin on the SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
7
36
0
0 or 1
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
0 for OFF (low); 1 for ON (high)
Command Mode: 0 for SET
Must be set to 0
Command Opcode (36)
Response Syntax
7
0
6
E
Byte 0:
Byte 0
5
Byte 1
0
36
Bit 7
Bit 6
Bits 5:0
7
0
Error Code
Command Mode:
Error status:
0 for SET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (36)
Byte 1:
Not applicable (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 41
Document Number: DOC-0057XX-450
Version 1.0
Clear/Set GPO-2 Status
The Clear/Set GPO-2 Status command sets or clears the GPO-2 pin on the SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
7
37
0
0 or 1
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
0 for OFF (low); 1 for ON (high)
Command Mode: 0 for SET
Must be set to 0
Command Opcode (37)
Response Syntax
7
0
6
E
Byte 0:
Byte 0
5
Byte 1
0
37
Bit 7
Bit 6
Bits 5:0
7
0
Error Code
Command Mode:
Error status:
0 for SET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (37)
Byte 1:
Not applicable (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 42
Document Number: DOC-0057XX-450
Version 1.0
Clear/Set GPO-3 Status
The Clear/Set GPO-3 Status command sets or clears the GPO-3 pin on the SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
7
38
0
0 or 1
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
0 for OFF (low); 1 for ON (high)
Command Mode: 0 for SET
Must be set to 0
Command Opcode (38)
Response Syntax
7
0
6
E
Byte 0:
Byte 0
5
Byte 1
0
38
Bit 7
Bit 6
Bits 5:0
7
0
Error Code
Command Mode:
Error status:
0 for SET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (38)
Byte 1:
Not applicable (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 43
Document Number: DOC-0057XX-450
Version 1.0
Clear/Set GPO-4 Status
The Clear/Set GPO-4 Status command sets or clears the GPO-4 pin on the SteelVine Storage Processor.
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
7
39
0
0 or 1
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
0 for OFF (low); 1 for ON (high)
Command Mode: 0 for SET
Must be set to 0
Command Opcode (39)
Response Syntax
7
0
6
E
Byte 0:
Byte 0
5
Byte 1
0
39
Bit 7
Bit 6
Bits 5:0
7
0
Error Code
Command Mode:
Error status:
0 for SET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (39)
Byte 1:
Not applicable (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 44
Document Number: DOC-0057XX-450
Version 1.0
Set RAID Mode
The Set RAID Mode command sets a Basic RAID mode for the SteelVine Storage Processor (equivalent to setting
the CONFIG[2:0] pins to an explicit setting).
Command Syntax
Byte 0
7
1
Slave Address
Byte 1
0
R/W
7
1
6
0
Byte 2
5
0
7
40
0
RAID Mode
Byte 0:
The slave address plus the R/W bit according to the I2C standard.
Byte 1:
Bit 7
Bit 6
Bits 5:0
Byte 2:
RAID Mode setting:
0x0 = BIG
0x1 = JBOD
0x2 = FAST
0x3 = SAFE
0x4 = SAFE33
0x5 = SAFE50
Command Mode: 0 for SET
Must be set to 0
Command Opcode (40)
Response Syntax
7
0
6
E
Byte 0:
Byte 0
5
Byte 1
0
40
Bit 7
Bit 6
Bits 5:0
7
0
Error Code
Command Mode:
Error status:
0 for SET
0 for no error
1 if an error was detected; the error code is included in Byte 1
Command Opcode (40)
Byte 1:
Not applicable (if the Error status in Byte 0, Bit 6 is 0)
Byte 1:
Error code (if the Error status in Byte 0, Bit 6 is 1)
1 = Open Command (Get I2C Interface Protocol Version) has not been received
2 = Invalid Command Opcode
3 = Invalid Command mode for command Opcode (e.g., mode = 1 for a SET command)
4 = Invalid number of bytes sent for Command Opcode
5 = Requested RAID mode is not supported by the specific chip-ID
Notes
This command is only effective when the CONFIG[2:0] pins are set to the GUI mode (111) and the SteelVine Storage
Processor is reset. This command will be ignored for any other setting of the CONFIG[2:0] pins.
2
SteelVine SiI57XX Series I C Programmer’s Guide
Page 45