#-MIBFILE: cpqida.mib

CPQIDA-MIB DEFINITIONS ::= BEGIN


compaq OBJECT IDENTIFIER ::= { enterprises 232 }
DisplayString ::=
	OCTET STRING

PhysAddress ::=
	OCTET STRING

mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
system OBJECT IDENTIFIER ::= { mib-2 1 }
sysName OBJECT IDENTIFIER ::= { system 5 }
cpqHostOs OBJECT IDENTIFIER ::= { compaq 11 }
cpqHoComponent OBJECT IDENTIFIER ::= { cpqHostOs 2 }
cpqHoTrapInfo OBJECT IDENTIFIER ::= { cpqHoComponent 11 }
cpqHoTrapFlags OBJECT IDENTIFIER ::= { cpqHoTrapInfo 1 }
cpqDriveArray OBJECT IDENTIFIER ::= { compaq 3 }

cpqDaMibRev OBJECT IDENTIFIER ::= { cpqDriveArray 1 }

cpqDaComponent OBJECT IDENTIFIER ::= { cpqDriveArray 2 }

cpqDaTrap OBJECT IDENTIFIER ::= { cpqDriveArray 3 }

cpqDaInterface OBJECT IDENTIFIER ::= { cpqDaComponent 1 }

cpqDaCntlr OBJECT IDENTIFIER ::= { cpqDaComponent 2 }

cpqDaLogDrv OBJECT IDENTIFIER ::= { cpqDaComponent 3 }

cpqDaSpareDrv OBJECT IDENTIFIER ::= { cpqDaComponent 4 }

cpqDaPhyDrv OBJECT IDENTIFIER ::= { cpqDaComponent 5 }

cpqDaPhyDrvThr OBJECT IDENTIFIER ::= { cpqDaComponent 6 }

cpqDaCntlrPerf OBJECT IDENTIFIER ::= { cpqDaComponent 7 }

cpqDaLogDrvPerf OBJECT IDENTIFIER ::= { cpqDaComponent 8 }

cpqDaTapeDrv OBJECT IDENTIFIER ::= { cpqDaComponent 9 }

cpqDaTapeCounters OBJECT IDENTIFIER ::= { cpqDaComponent 10 }

cpqDaTapeLibrary OBJECT IDENTIFIER ::= { cpqDaComponent 11 }

cpqDaOsNetWare3x OBJECT IDENTIFIER ::= { cpqDaInterface 1 }

cpqDaOsCommon OBJECT IDENTIFIER ::= { cpqDaInterface 4 }

cpqDaMibRevMajor OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Major Revision level.
A change in the major revision level represents a major change
in the architecture of the MIB.  A change in the major revision
level may indicate a significant change in the information
supported and/or the meaning of the supported information,
correct interpretation of data may require a MIB document with
the same major revision level."
	::= { cpqDaMibRev 1 }


cpqDaMibRevMinor OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Minor Revision level.
A change in the minor revision level may represent some minor
additional support, no changes to any pre-existing information
has occurred."
	::= { cpqDaMibRev 2 }


cpqDaMibCondition OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	degraded(3),
	failed(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The overall condition (status) of the system represented by
this MIB."
	::= { cpqDaMibRev 3 }


cpqDaNw3xDriverName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..255))
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Controller Driver Interface Name.

This is the name of the device driver for the Array
Controllers."
	::= { cpqDaOsNetWare3x 1 }


cpqDaNw3xDriverVer OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..5))
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Controller Driver Interface Version.

This is the version number of the device driver for
the Array Controllers."
	::= { cpqDaOsNetWare3x 2 }


cpqDaNw3xPollType OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	polled(2),
	demand(3)
	}
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Controller Driver Interface Poll Type.

The Insight Agent collects information from the
device driver in two ways:

Polled (2)
Indicates that the information is periodically requested and
stored by the server based agent and is available when
requested.

Demand (3)
Indicates that the information is collected at the time of
the request."
	::= { cpqDaOsNetWare3x 3 }


cpqDaNw3xPollTime OBJECT-TYPE
	SYNTAX INTEGER (1..300)
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Controller Driver Interface Poll Time.

If the Poll Type is Polled, this value shows how frequently,
in seconds, the instrument agent requests Information from
the device driver.

For example, if the Poll Type is Polled and the Poll Time
is two, the instrument agent will poll the device driver
every two seconds.

To change the Poll Time for NetWare, unload and then
reload the instrument agent using the following commands:

UNLOAD CPQDSKSA
LOAD CPQDSKSA [/Un]

The parameter /U specifies the frequency of updates in seconds.
The variable n represents the number of seconds that the NLM
should wait before collecting new data.  The minimum value is
one second.  The maximum value is 300 seconds (five minutes)."
	::= { cpqDaOsNetWare3x 4 }


cpqDaNw3xDriverStatTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaNw3xDriverStatEntry
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Controller Driver Statistics Table.

This is a table of logical drive statistics which are gathered
by the device driver."
	::= { cpqDaOsNetWare3x 5 }


cpqDaNw3xDriverStatEntry OBJECT-TYPE
	SYNTAX CpqDaNw3xDriverStatEntry
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Controller Driver Statistics Table Entry.

One entry in the driver statistics table. Each entry
represents a logical drive for which the statistics are kept."
	INDEX { cpqDaNw3xCntlrIndex , cpqDaNw3xLogDrvIndex }

	::= { cpqDaNw3xDriverStatTable 1 }

cpqDaNw3xDriverStatEntry ::=
	SEQUENCE {
		cpqDaNw3xCntlrIndex INTEGER,
		cpqDaNw3xLogDrvIndex INTEGER,
		cpqDaNw3xTotalReads Counter,
		cpqDaNw3xTotalWrites Counter,
		cpqDaNw3xCorrReads Counter,
		cpqDaNw3xCorrWrites Counter,
		cpqDaNw3xFatalReads Counter,
		cpqDaNw3xFatalWrites Counter
		}

cpqDaNw3xCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Controller Index.

This maps the logical drives into their respective controllers.
This controller index matches the controller group entries."
	::= { cpqDaNw3xDriverStatEntry 1 }


cpqDaNw3xLogDrvIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Logical Drive Index.

This is the logical drive number which keeps track of multiple
instances of logical drives which are on the same controller.
For each controller index value, the logical drive index starts
at 1 and increments for each logical drive."
	::= { cpqDaNw3xDriverStatEntry 2 }


cpqDaNw3xTotalReads OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Logical Drive Total Reads.

This shows the total number of reads performed by the IDA device
driver to this logical drive.  This number is reset each time the
device driver is loaded for this logical drive."
	::= { cpqDaNw3xDriverStatEntry 3 }


cpqDaNw3xTotalWrites OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Logical Drive Total Writes.

This shows the total number of writes performed by the IDA device
driver to this logical drive.  This number is reset each time the
device driver is loaded for this logical drive."
	::= { cpqDaNw3xDriverStatEntry 4 }


cpqDaNw3xCorrReads OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Logical Drive Corrected Reads.

This is the total number of read commands sent to the specified
logical drive which had to be corrected by fault tolerance.  This
number is reset each time the device driver is loaded for this
logical drive.

If the number of corrected reads is higher than normal for a
particular system, check the physical drive screen for abnormal
activity.  There may be a problem with a drive. If you suspect
that a problem exists, schedule server down time to run
diagnostics on the monitored system."
	::= { cpqDaNw3xDriverStatEntry 5 }


cpqDaNw3xCorrWrites OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Logical Drive Corrected Writes.

This is the total number of write commands sent to the specified
logical drive which had to be corrected by fault tolerance.  This
number is reset each time the device driver is loaded for this
logical drive.

If the number of corrected writes is higher than normal for a
particular system, check the physical drive screen for abnormal
activity.  There may be a problem with a drive. If you suspect
that a problem exists, schedule server down time to run
diagnostics on the monitored system."
	::= { cpqDaNw3xDriverStatEntry 6 }


cpqDaNw3xFatalReads OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Logical Drive Fatal Reads.

This is the total number of read commands sent to the specified
logical drive which failed.  This number is reset each time the
device driver is loaded for this logical drive.

The drive array was unable to correct these reads.  Check the
drive status to see if any of the drives have failed.  If a
drive has failed you will need to replace the drive."
	::= { cpqDaNw3xDriverStatEntry 7 }


cpqDaNw3xFatalWrites OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Logical Drive Fatal Writes.

This is the total number of write commands sent to the specified
logical drive which failed.  This number is reset each time the
device driver is loaded for this logical drive.

The drive array was unable to correct these writes.  Check the
drive status to see if any of the drives have failed.  If a
drive has failed you will need to replace the drive."
	::= { cpqDaNw3xDriverStatEntry 8 }


cpqDaNw3xVolMapTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaNw3xVolMapEntry
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Volume Map Table.

This is a table of NetWare volumes which map into the
logical drives"
	::= { cpqDaOsNetWare3x 6 }


cpqDaNw3xVolMapEntry OBJECT-TYPE
	SYNTAX CpqDaNw3xVolMapEntry
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Volume Map Table Entry.

One entry in the volume map table. Each entry represents
a logical drive for which the volume map is kept."
	INDEX { cpqDaNw3xVolCntlrIndex , cpqDaNw3xVolLogDrvIndex }

	::= { cpqDaNw3xVolMapTable 1 }

cpqDaNw3xVolMapEntry ::=
	SEQUENCE {
		cpqDaNw3xVolCntlrIndex INTEGER,
		cpqDaNw3xVolLogDrvIndex INTEGER,
		cpqDaNw3xVolMap OCTET STRING
		}

cpqDaNw3xVolCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Controller Index.

This maps the logical drives into their respective controllers.
This controller index matches the controller group entries."
	::= { cpqDaNw3xVolMapEntry 1 }


cpqDaNw3xVolLogDrvIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Array Logical Drive Index.

This is the logical drive number which keeps track of multiple
instances of logical drives which are on the same controller.
For each controller index value, the logical drive index starts
at 1 and increments for each logical drive."
	::= { cpqDaNw3xVolMapEntry 2 }


cpqDaNw3xVolMap OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..255))
	ACCESS read-only
	STATUS optional
	DESCRIPTION "NetWare Volume Map.

This is a data structure containing the volume mappings for this
logical drive. There are 8 entries in a volume mapping. Each
entry has the following format. An entry can be null indicating
no mapping exists.

BYTE    Name[16]
BYTE    Segment"
	::= { cpqDaNw3xVolMapEntry 3 }


cpqDaOsCommonPollFreq OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Insight Agent's polling frequency.

The frequency, in seconds, at which the Insight Agent requests
information from the device driver.  A frequency of zero (0)
indicates that the Insight Agent retrieves the information upon
request of a management station, it does not poll the device
driver at a specific interval.

If the poll frequency is zero (0) all attempts to write to
this object will fail.  If the poll frequency is non-zero,
setting this value will change the polling frequency of the
Insight Agent.  Setting the poll frequency to zero (0) will
always fail, an agent may also choose to fail any request to
change the poll frequency to a value that would severely impact
system performance."
	::= { cpqDaOsCommon 1 }


cpqDaOsCommonModuleTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaOsCommonModuleEntry
	ACCESS read-only
	STATUS optional
	DESCRIPTION "A table of software modules that provide an interface to the
device this MIB describes."
	::= { cpqDaOsCommon 2 }


cpqDaOsCommonModuleEntry OBJECT-TYPE
	SYNTAX CpqDaOsCommonModuleEntry
	ACCESS read-only
	STATUS optional
	DESCRIPTION "A description of a software module that provides an interface
to the device this MIB describes."
	INDEX { cpqDaOsCommonModuleIndex  }

	::= { cpqDaOsCommonModuleTable 1 }

cpqDaOsCommonModuleEntry ::=
	SEQUENCE {
		cpqDaOsCommonModuleIndex INTEGER,
		cpqDaOsCommonModuleName DisplayString,
		cpqDaOsCommonModuleVersion DisplayString,
		cpqDaOsCommonModuleDate OCTET STRING,
		cpqDaOsCommonModulePurpose DisplayString
		}

cpqDaOsCommonModuleIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS optional
	DESCRIPTION "A unique index for this module description."
	::= { cpqDaOsCommonModuleEntry 1 }


cpqDaOsCommonModuleName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..255))
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The module name."
	::= { cpqDaOsCommonModuleEntry 2 }


cpqDaOsCommonModuleVersion OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..5))
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The module version in XX.YY format.

Where XX is the major version number and YY is the minor version
number.  This field will be a null (size 0) string if the agent
cannot provide the module version."
	::= { cpqDaOsCommonModuleEntry 3 }


cpqDaOsCommonModuleDate OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(7))
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The module date.

field  octets  contents                  range
=====  ======  =======                  =====
1      1-2   year                      0..65536
2       3    month                     1..12
3       4    day                       1..31
4       5    hour                      0..23
5       6    minute                    0..59
6       7    second                    0..60
(use 60 for leap-second)


This field will be set to year = 0 if the agent cannot provide
the module date.  The hour, minute, and second field will be set
to zero (0) if they are not relevant.  The year field is set
with the most significant octect first."
	::= { cpqDaOsCommonModuleEntry 4 }


cpqDaOsCommonModulePurpose OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..255))
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The purpose of the module described in this entry."
	::= { cpqDaOsCommonModuleEntry 5 }


cpqDaOsCommonCollectionReset OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	resetSupported(2),
	resetNotSupported(3),
	doReset(4)
	}
	ACCESS read-only
	STATUS obsolete
	DESCRIPTION "Drive Array MIB Collection Reset.

This variable is used to force the collection agent for this
MIB to scan the associated hardware for configuration changes.

The following values are defined:

other(1)
The agent is unable to determine if collection reset is
supported.  Any attempts to write to this variable will be
ignored.

resetSupported(2)
The agent supports collection reset.  A value of doReset(4)
may be written to force a collection reset.

resetNotSupported(3)
The agent does not support collection reset.  Any attempts to
write to this variable will be ignored.

doReset(4)
This is a write only value used to cause a collection reset.
Writing this value is only allowed when a read of this variable
returns resetSupported(2)."
	::= { cpqDaOsCommon 3 }


cpqDaCntlrTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaCntlrEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Table."
	::= { cpqDaCntlr 1 }


cpqDaCntlrEntry OBJECT-TYPE
	SYNTAX CpqDaCntlrEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Entry."
	INDEX { cpqDaCntlrIndex  }

	::= { cpqDaCntlrTable 1 }

cpqDaCntlrEntry ::=
	SEQUENCE {
		cpqDaCntlrIndex INTEGER,
		cpqDaCntlrModel INTEGER,
		cpqDaCntlrFWRev DisplayString,
		cpqDaCntlrStndIntr INTEGER,
		cpqDaCntlrSlot INTEGER,
		cpqDaCntlrCondition INTEGER,
		cpqDaCntlrProductRev DisplayString,
		cpqDaCntlrPartnerSlot INTEGER,
		cpqDaCntlrCurrentRole INTEGER,
		cpqDaCntlrBoardStatus INTEGER,
		cpqDaCntlrPartnerBoardStatus INTEGER,
		cpqDaCntlrBoardCondition INTEGER,
		cpqDaCntlrPartnerBoardCondition INTEGER,
		cpqDaCntlrDriveOwnership INTEGER,
		cpqDaCntlrSerialNumber DisplayString,
		cpqDaCntlrRedundancyType INTEGER,
		cpqDaCntlrRedundancyError INTEGER,
		cpqDaCntlrAccessModuleStatus INTEGER,
		cpqDaCntlrDaughterBoardType INTEGER,
		cpqDaCntlrHwLocation DisplayString,
		cpqDaCntlrNumberOfBuses INTEGER,
		cpqDaCntlrBlinkTime Counter,
		cpqDaCntlrRebuildPriority INTEGER,
		cpqDaCntlrExpandPriority INTEGER,
		cpqDaCntlrNumberOfInternalPorts INTEGER,
		cpqDaCntlrNumberOfExternalPorts INTEGER,
		cpqDaCntlrDriveWriteCacheState INTEGER,
		cpqDaCntlrPartnerSerialNumber DisplayString
		}

cpqDaCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Index.

This value is a logical number whose meaning is OS dependent.
Each physical controller has one unique controller number
associated with it."
	::= { cpqDaCntlrEntry 1 }


cpqDaCntlrModel OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ida(2),
	idaExpansion(3),
	ida-2(4),
	smart(5),
	smart-2e(6),
	smart-2p(7),
	smart-2sl(8),
	smart-3100es(9),
	smart-3200(10),
	smart-2dh(11),
	smart-221(12),
	sa-4250es(13),
	sa-4200(14),
	sa-integrated(15),
	sa-431(16),
	sa-5300(17),
	raidLc2(18),
	sa-5i(19),
	sa-532(20),
	sa-5312(21),
	sa-641(22),
	sa-642(23),
	sa-6400(24),
	sa-6400em(25),
	sa-6i(26),
	sa-generic(27),
	sa-p600(29),
	sa-p400(30),
	sa-e200(31),
	sa-e200i(32),
	sa-p400i(33),
	sa-p800(34),
	sa-e500(35),
	sa-p700m(36),
	sa-p212(37),
	sa-p410(38),
	sa-p410i(39),
	sa-p411(40),
	sa-b110i(41),
	sa-p712m(42),
	sa-p711m(43),
	sa-p812(44),
	sw-1210m(45)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Model.

The type of controller card.  The valid types are:

Other  (1)
You may need to upgrade your driver software and\or instrument
agent(s).  You have a drive array controller in the system
that the instrument agent does not recognize.

IDA (2)
Compaq 32-Bit Intelligent Drive Array Controller.
The physical drives are located inside the system.

IDA Expansion (3)
Compaq 32-Bit Intelligent Drive Array Expansion Controller.
The physical drives are located in the Array Expansion System
that is connected to the system by a cable.

IDA - 2 (4)
Compaq Intelligent Drive Array Controller-2 (IDA-2).
The physical drives are located inside the system.

SMART (5)
Compaq SMART Array Controller.  The physical drives can be
located inside the system or outside the system in a ProLiant
Storage System that is connected to the system by a cable.

SMART - 2/E (6)
Compaq SMART-2/E Array Controller.  The physical drives can be
located inside the system or outside the system in a ProLiant
Storage System that is connected to the system by a cable.

SMART - 2/P (7)
Compaq SMART-2/P Array Controller.  The physical drives can be
located inside the system or outside the system in a ProLiant
Storage System that is connected to the system by a cable.

SMART - 2SL (8)
Compaq SMART-2SL Array Controller.  The physical drives can be
located inside the system or outside the system in a ProLiant
Storage System that is connected to the system by a cable.

Smart - 3100ES (9)
Compaq Smart Array 3100ES Controller.  The physical drives are
located inside the system.

Smart - 3200 (10)
Compaq Smart Array 3200 Controller.  The physical drives can
be located inside the system or outside the system in a
ProLiant Storage System that is connected to the system by a
cable.

SMART - 2DH (11)
Compaq SMART-2DH Array Controller.  The physical drives can be
located inside the system or outside the system in a ProLiant
Storage System that is connected to the system by a cable.

Smart - 221 (12)
Compaq Smart Array 221 Controller.  The physical drives can be
located inside the system or outside the system in a ProLiant
Storage System that is connected to the system by a cable.

Smart Array 4250ES (13)
Compaq Smart Array 4250ES Controller.  The physical drives are
located inside the system.

Smart Array 4200 (14)
Compaq Smart Array 4200 Controller.  The physical drives can
be located inside the system or outside the system in a
ProLiant Storage System that is connected to the system by a
cable.

Integrated Smart Array (15)
Compaq Integrated Smart Array Controller.  The physical drives
can be located inside the system or outside the system in a
ProLiant Storage System that is connected to the system by a
cable.

Smart Array 431 (16)
Compaq Smart Array 431 Controller.  The physical drives can be
located inside the system or outside the system in a ProLiant
Storage System that is connected to the system by a cable.

Smart Array 5300 (17)
HP Smart Array 5300 Controller.

RAID LC2 Controller (18)
Compaq RAID LC2 Controller.

Smart Array 5i (19)
HP Smart Array 5i Controller.

Smart Array 532 (20)
Compaq Smart Array 532 Controller.

Smart Array 5312 (21)
Compaq Smart Array 5312 Controller.

Smart Array 641 (22)
HP Smart Array 641 Controller.

Smart Array 642 (23)
HP Smart Array 642 Controller.

Smart Array 6400 (24)
HP Smart Array 6400 Controller.

Smart Array 6400 EM (25)
HP Smart Array 6400 EM Controller.

Smart Array 6i (26)
HP Smart Array 6i Controller.

Generic Array (27)
Array Controller.

Reserved (28)

Smart Array P600 (29)
HP Smart Array P600 Controller.

Smart Array P400 (30)
HP Smart Array P400 Controller.

Smart Array E200 (31)
HP Smart Array E200 Controller.

Smart Array E200i (32)
HP Smart Array E200i Controller.

Smart Array P400i (33)
HP Smart Array P400i Controller.

Smart Array P800 (34)
HP Smart Array P800 Controller.

Smart Array E500 (35)
HP Smart Array E500 Controller.

Smart Array P700m (36)
HP Smart Array P700m Controller.

Smart Array P212 (37)
HP Smart Array P212 Controller.

Smart Array P410 (38)
HP Smart Array P410 Controller.

Smart Ar"
	::= { cpqDaCntlrEntry 2 }


cpqDaCntlrFWRev OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..5))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Firmware Revision.

The firmware revision of the drive array controller. This
value can be used to help identify a particular revision
of the controller."
	::= { cpqDaCntlrEntry 3 }


cpqDaCntlrStndIntr OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	primary(2),
	secondary(3),
	disabled(4),
	unavailable(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The status of the Standard Interface.

The Standard Interface is how DOS communicates with a drive.
The following values are valid for Standard Interface:

Other (1)
The device driver may not be loaded for this controller.
The instrument agent could not read the information from the
device.  Please load the device driver.

Primary (2)
The Standard Interface is using the primary address for
communication.  DOS can access this drive and use this drive
as the primary boot device if it has been configured for this
purpose.

Secondary (3)
The Standard Interface is using the secondary address for
communication.  DOS can access these drives, but cannot boot
from them.

Disabled (4)
The Standard Interface is not enabled for communication.
DOS will not be able to access these drives.

Unavailable (5)
This controller does not support a Standard Interface.
DOS cannot access these drives."
	::= { cpqDaCntlrEntry 4 }


cpqDaCntlrSlot OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Slot.

This identifies the physical slot where the array controller
resides in the system.  For example, if this value is three,
the array controller is located in slot three of your computer."
	::= { cpqDaCntlrEntry 5 }


cpqDaCntlrCondition OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	degraded(3),
	failed(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The condition of the device.  This value represents the overall
condition of this controller, and any associated logical drives,
physical drives, and array accelerators."
	::= { cpqDaCntlrEntry 6 }


cpqDaCntlrProductRev OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..1))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Product Revision.

The Product Revision of the drive array controller.  This value
can be used to further identify a particular revision of the
controller model.  This will be one character ASCII value that
is zero terminated.  If the controller model or the firmware
does not support the product revision, the agents will return
a NULL string."
	::= { cpqDaCntlrEntry 7 }


cpqDaCntlrPartnerSlot OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Partner Slot.

For duplexed array controllers, this is the slot number of the
partner controller.  For non-duplexed controllers and partner 
controllers that reside in a separate host system, the value should
be -1."
	::= { cpqDaCntlrEntry 8 }


cpqDaCntlrCurrentRole OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	notDuplexed(2),
	active(3),
	backup(4),
	asymActiveActive(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Current Role.

For duplexed array controllers, this is the controllers current
role.  The following values are valid:

other (1)
Indicates that the instrument agent does not recognize the
role of the controller.  You may need to upgrade the instrument
agent.

notDuplexed (2)
This array controller is not duplexed.

active (3)
This duplexed array controller is the active controller.

backup (4)
This duplexed array controller is the backup controller.

asymActiveActive (5)
This array controller is part of an asymmetrical active-active set of controllers."
	::= { cpqDaCntlrEntry 9 }


cpqDaCntlrBoardStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	generalFailure(3),
	cableProblem(4),
	poweredOff(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Board Status.

The following values are valid:

other (1)
Indicates that the instrument agent does not recognize the
status of the controller.  You may need to upgrade the instrument
agent.

ok (2)
The array controller is operating properly.

generalFailure (3)
The array controller is failed.

cableProblem (4)
The array controller has a cable problem.  Please check
all cable connections to this controller.

poweredOff (5)
The array controller is powered off.  Please replace the
controller and restore power to the slot."
	::= { cpqDaCntlrEntry 10 }


cpqDaCntlrPartnerBoardStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	generalFailure(3),
	cableProblem(4),
	poweredOff(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Partner Board Status.

The following values are valid:

other (1)
Indicates that the instrument agent does not recognize the
status of the controller.  You may need to upgrade the instrument
agent.

ok (2)
The partner array controller is operating properly.

generalFailure (3)
The partner array controller is failed.

cableProblem (4)
The partner array controller has a cable problem.  Please check
all cable connections to this controller.

poweredOff (5)
The array controller is powered off.  Please replace the
controller and restore power to the slot."
	::= { cpqDaCntlrEntry 11 }


cpqDaCntlrBoardCondition OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	degraded(3),
	failed(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The condition of the device.  This value represents the
condition of the controller and any associated array
accelerators."
	::= { cpqDaCntlrEntry 12 }


cpqDaCntlrPartnerBoardCondition OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	degraded(3),
	failed(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The condition of the device.  This value represents the
condition of the controller and any associated array
accelerators."
	::= { cpqDaCntlrEntry 13 }


cpqDaCntlrDriveOwnership OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	owner(2),
	notOwner(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Drive Ownership.

For duplexed controllers, indicates to which controller slot
the shared devices are associated.

The following values are valid:

other (1)
Indicates that the instrument agent does not recognize the
status of the controller.  You may need to upgrade the instrument
agent.

owner (2)
All the logical, physical and spare drives are associated
with this controller.

notOwner (3)
The logical, physical and spare drives are not associated
with this controller."
	::= { cpqDaCntlrEntry 14 }


cpqDaCntlrSerialNumber OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..32))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Serial Number.

The serial number of the array controller.  This field will
be a null (size 0) string if the controller does not support
serial number."
	::= { cpqDaCntlrEntry 15 }


cpqDaCntlrRedundancyType OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	notRedundant(2),
	driverDuplexing(3),
	fwActiveStandby(4),
	fwPrimarySecondary(5),
	fwActiveActive(6)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Redundancy Type.

The following values are valid:

other (1)
Indicates that the instrument agent does not recognize the
redundancy type of the controller.  You may need to upgrade
the instrument agent.

notRedundant (2)
The array controller is not in a redundant configuration.

driverDuplexing (3)
The array controller is using a controller duplexing algorithm
implemented exclusively in the operating system driver.

fwActiveStandby (4)
The array controller is using an active/standby algorithm
implemented in the controller firmware and the operating system
driver.

fwPrimarySecondary (5)
The array controller is using a primary/secondary algorithm
implemented in the controller firmware and the operating system
driver.

fwActiveActive (6)
The array controller is using an active/active algorithm
implemented in the controller firmware."
	::= { cpqDaCntlrEntry 16 }


cpqDaCntlrRedundancyError OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	noFailure(2),
	noRedundantController(3),
	differentHardware(4),
	noLink(5),
	differentFirmware(6),
	differentCache(7),
	otherCacheFailure(8),
	noDrives(9),
	otherNoDrives(10),
	unsupportedDrives(11),
	expandInProgress(12)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Redundancy Error.

The following values are valid:

other (1)
Indicates that the instrument agent does not recognize the
redundancy error of the controller.  You may need to upgrade
the instrument agent.

noFailure (2)
No failures have been detected.

noRedundantController (3)
No redundant controller is installed.

differentHardware (4)
The other controller indicates a different hardware model.

noLink (5)
An inter-controller link to the other controller could not be
established.

differentFirmware (6)
The other controller indicates a different firmware version.

differentCache (7)
The other controller indicates a different cache size.

otherCacheFailure (8)
The other controller indicates a cache failure.

noDrives (9)
This controller cannot see any attached drives, but the other
controller can.

otherNoDrives (10)
This controller can see the attached drives, but the other
controller cannot.

unsupportedDrives (11)
One or more attached drives has been determined to be incapable
of properly supporting redundant controller operation.

expandInProgress (12)
Expand operation in progress.  Redundant operation not
supported until expand operation is complete."
	::= { cpqDaCntlrEntry 17 }


cpqDaCntlrAccessModuleStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	notSupported(2),
	notPresent(3),
	badSignature(4),
	badChecksum(5),
	fullyFunctional(6),
	upgradeFirmware(7)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller RAID ADG Enabler Module Status.

The following values are valid:

other (1)
Indicates that the agent does not recognize the RAID ADG
Enabler Module status.  You may need to upgrade the agent.

notSupported (2)
Indicates that the RAID ADG Enabler Module is not supported on
this type of controller.

notPresent (3)
Indicates that the RAID ADG Enabler Module is not present or
is not accessible.

badSignature (4)
Indicates that the RAID ADG Enabler Module is present, but has
an incorrect signature.

badChecksum (5)
Indicates that the RAID ADG Enabler Module is present, but the
checksum failed.

fullyFunctional (6)
Indicates that the RAID ADG Enabler Module is present and
fully functional.

upgradeFirmware (7)
Indicates that the RAID ADG Enabler Module is present, but a
firmware upgrade is required to make it fully functional."
	::= { cpqDaCntlrEntry 18 }


cpqDaCntlrDaughterBoardType OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	notSupported(2),
	notPresent(3),
	scsiBoardPresent(4),
	fibreBoardPresent(5),
	arrayExpansionModulePresent(6)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Daughter Board Type.

The following values are valid:

other (1)
Indicates that the agent does not recognize the daughter
board type.  You may need to upgrade the agent.

notSupported (2)
Indicates that the daughter board type field is not supported
on this type of controller.

notPresent (3)
Indicates that no daughter board is present.

scsiBoardPresent (4)
Indicates that the SCSI daughter board is present.

fibreBoardPresent (5)
Indicates that the Fibre daughter board is present.

arrayExpansionModulePresent (6)
Indicates that an array Expansion Module is present."
	::= { cpqDaCntlrEntry 19 }


cpqDaCntlrHwLocation OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A text description of the hardware location of the controller.
A NULL string indicates that the hardware location could not
be determined or is irrelevant."
	::= { cpqDaCntlrEntry 20 }


cpqDaCntlrNumberOfBuses OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Number of Buses.

This value is the number of SCSI buses on the controller."
	::= { cpqDaCntlrEntry 21 }


cpqDaCntlrBlinkTime OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Controller Physical Drive Blink Time Count.

The controller blink time variable allows the drive tray LEDs
of all physical drives attached to this controller to blink.
This value indicates the amount of time, in tenths of a second,
that the physical drive LEDs will continue to blink.  A value
of zero indicates the drive LEDs are not blinking.  If the
value cannot be determined or no drive on this controller is in
a hot plug tray, 4,294,967,295 is returned.

To blink the drive LEDs on all physical drives attached to this
controller, set this value to the time to blink in tenths of
seconds.

To stop the drive LEDs from blinking, set this value to 0."
	::= { cpqDaCntlrEntry 22 }


cpqDaCntlrRebuildPriority OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	low(2),
	medium(3),
	high(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Rebuild Priority.

This is the controller's rebuild priority.  The following values
are valid:

other (1)
Indicates that the instrument agent does not recognize the
rebuild priority of the controller.  You may need to upgrade
the instrument agent.

low (2)
The rebuild priority is low.

medium (3)
The rebuild priority is medium.

high (4)
The rebuild priority is high."
	::= { cpqDaCntlrEntry 23 }


cpqDaCntlrExpandPriority OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	low(2),
	medium(3),
	high(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Expand Priority.

This is the controller's expand priority.  The following values
are valid:

other (1)
Indicates that the instrument agent does not recognize the
expand priority of the controller.  You may need to upgrade
the instrument agent.

low (2)
The expand priority is low.

medium (3)
The expand priority is medium.

high (4)
The expand priority is high."
	::= { cpqDaCntlrEntry 24 }


cpqDaCntlrNumberOfInternalPorts OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Number of Internal Ports.

This value is the number of internal SAS connectors on the
controller."
	::= { cpqDaCntlrEntry 25 }


cpqDaCntlrNumberOfExternalPorts OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Number of External Ports.

This value is the number of external SAS connectoros on the
controller."
	::= { cpqDaCntlrEntry 26 }


cpqDaCntlrDriveWriteCacheState OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	disabled(2),
	enabled(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Drive Write Cache State.

This is the controller's drive write cache setting.  The
following values are valid:

other (1)
Indicates that the instrument agent does not recognize the
value.  You may need to upgrade the instrument agent.

disabled (2)
The controller will disable drive write cache for all drives.

enabled (3)
The controller will enable drive write cache for all drives."
	::= { cpqDaCntlrEntry 27 }


cpqDaCntlrPartnerSerialNumber OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..32))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Partner Serial Number.

The serial number of the partner array controller.  This field will
be a null (size 0) string if the partner controller does not support
serial number or in the absence of a partner controller."
	::= { cpqDaCntlrEntry 28 }


cpqDaAccelTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaAccelEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Accelerator Board Table."
	::= { cpqDaCntlr 2 }


cpqDaAccelEntry OBJECT-TYPE
	SYNTAX CpqDaAccelEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Accelerator Board Entry."
	INDEX { cpqDaAccelCntlrIndex  }

	::= { cpqDaAccelTable 1 }

cpqDaAccelEntry ::=
	SEQUENCE {
		cpqDaAccelCntlrIndex INTEGER,
		cpqDaAccelStatus INTEGER,
		cpqDaAccelMemory INTEGER,
		cpqDaAccelBadData INTEGER,
		cpqDaAccelErrCode INTEGER,
		cpqDaAccelBattery INTEGER,
		cpqDaAccelReadErrs Counter,
		cpqDaAccelWriteErrs Counter,
		cpqDaAccelCondition INTEGER,
		cpqDaAccelReadMemory INTEGER,
		cpqDaAccelSerialNumber DisplayString,
		cpqDaAccelTotalMemory INTEGER,
		cpqDaAccelReadCachePercent Gauge,
		cpqDaAccelWriteCachePercent Gauge,
		cpqDaAccelFailedBatteries OCTET STRING,
		cpqDaAccelBackupPowerSource INTEGER
		}

cpqDaAccelCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Accelerator Board Controller Index.

This value is a logical number whose meaning is OS dependent.
The value has a direct mapping to the controller table index
such that controller 'i' has accelerator table entry 'i'."
	::= { cpqDaAccelEntry 1 }


cpqDaAccelStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	invalid(2),
	enabled(3),
	tmpDisabled(4),
	permDisabled(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Accelerator Board Status.

This describes the status of the accelerator write cache.

The status can be:

Other (1)
Indicates that the instrument agent does not recognize the
status of the Array Accelerator.  You may need to upgrade
the instrument agent.

Invalid (2)
Indicates that an Array Accelerator board has not been
installed in this system or is present but not configured.

Enabled (3)
Indicates that write cache operations are currently configured
and enabled for at least one logical drive.

Temporarily Disabled (4)
Indicates that write cache operations have been temporarily
disabled. View the Array Accelerator Board Error Code object
to determine why the write cache operations have been
temporarily disabled.

Permanently Disabled (5)
Indicates that write cache operations have been permanently
disabled.  View the Array Accelerator Board Error Code object
to determine why the write cache operations have been disabled."
	::= { cpqDaAccelEntry 2 }


cpqDaAccelMemory OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Write Cache Memory.

This shows the amount of memory allocated for the write cache in
kilobytes.  Because data is kept in duplicate (mirrored), the
actual amount of usable memory is half the amount shown."
	::= { cpqDaAccelEntry 3 }


cpqDaAccelBadData OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	none(2),
	possible(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Accelerator Board Bad Data.

The following values are valid:

None (2)
Indicates that no data loss occurred.  The battery packs were
properly charged when the system was initialized.

Possible (3)
Indicates that at power up, the battery packs were not
sufficiently charged.  Because the batteries did not retain
sufficient charge when the system resumed power, the board
has not retained any data that may have been stored.
If no data was on the board, no data was lost.  Several things
may have caused this condition:

* If the system was without power for eight days, and the
battery packs were on (battery packs only activate if
system looses power unexpectedly), any data that may have
been stored in the cache was lost.

* There may be a problem with the battery pack.
See the Battery Status for more information.

* This status will also appear if the Array Accelerator
board is replaced with a new board that has discharged
batteries.  No data has been lost in this case, and posted
writes will automatically be enabled when the batteries
reach full charge."
	::= { cpqDaAccelEntry 4 }


cpqDaAccelErrCode OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	invalid(2),
	badConfig(3),
	lowBattery(4),
	disableCmd(5),
	noResources(6),
	notConnected(7),
	badMirrorData(8),
	readErr(9),
	writeErr(10),
	configCmd(11),
	expandInProgress(12),
	snapshotInProgress(13),
	redundantLowBattery(14),
	redundantSizeMismatch(15),
	redundantCacheFailure(16),
	excessiveEccErrors(17),
	adgEnablerMissing(18),
	postEccErrors(19),
	batteryHotRemoved(20),
	capacitorChargeLow(21),
	notEnoughBatteries(22),
	cacheModuleNotSupported(23),
	batteryNotSupported(24),
	noCapacitorAttached(25),
	capBasedBackupFailed(26),
	capBasedRestoreFailed(27),
	capBasedModuleHWFailure(28),
	capacitorFailedToCharge(29)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Accelerator Board Error Code.

Use this to determine the status of the write cache operations.

The status can be:

Other (1)
Indicates that the instrument agent does not recognize the
error code.  You may need to update your software.

Invalid (2)
Indicates that write cache operations are currently
configured and enabled for at least one logical drive.
No write cache errors have occurred.

Bad Configuration (3)
Indicates that write cache operations are temporarily
disabled.  The Array Accelerator board was configured
for a different controller.  This error could be caused
if boards were switched from one system to another.
Rerun the configuration utility and ensure that the board
has been properly configured for this system.
Note: If data from another system was stored on the board,
running configuration utility will cause the data to be lost.

Low Battery Power (4)
Indicates that write cache operations are temporarily
disabled due to insufficient battery power.  Please view
the Battery Status object instance for more information.

Disable Command Issued (5)
Indicates that write cache operations are temporarily
disabled.  The device driver issues this command when
the server is taken down.  This condition should not
exist when the system regains power.

No Resources Available (6)
Indicates that write cache operations are temporarily
disabled.  The controller does not have sufficient
resources to perform write cache operations.
For example, when a replaced drive is being rebuilt,
there will not be sufficient resources.  Once the
operation that requires the resources has completed,
this condition will clear and write cache operations
will resume.

Board Not Connected (7)
Indicates that write cache operations are temporarily
disabled.  The Array Accelerator board has been
configured but is not currently attached to the
controller. Check the alignment of the board and
connections.

Bad Mirror Data (8)
Indicates that write cache operations have been
permanently disabled.  The Array Accelerator board stores
mirrored copies of all data.  If data exists on the
board when the system is first powered up, the board
performs a data compare test between the mirrored copies.
If the data does not match, an error has occurred.
Data may have been lost.  Your board may need servicing.

Read Failure (9)
Indicates that write cache operations have been permanently
disabled.  The Array Accelerator board stores mirror copies
of all data.  While reading the data from the board, memory
parity errors have occurred.  Both copies were corrupted and
cannot be retrieved.  Data has been lost, and you should
service the board.

Write Failure (10)
Indicates that write cache operations have been permanently
disabled.  This error occurs when an unsuccessful attempt was
made to write data to the Array Accelerator board.  Data could
not be written to write cache memory in duplicate due to the
detection of parity errors.  This error does not indicate data
loss.  You should service the Array Accelerator board.

Config Command (11)
Indicates that write cache operations have been permanently
disabled.  The configuration of the logical drives has changed.
You need to reconfigure the Array Accelerator board.

Expand in Progress (12)
Indicates that cache operations are temporarily disabled
due to an expand of a logical drive.  When the expand
operation completes, the accelerator will be enabled.

Snapshot In Progress (13)
Indicates that cache operations are temporarily disabled
due to a snapshot operation that is queued up or in progress.
When the snapshot operation completes, the accelerator will
be enabled.

Redundant Low Battery (14)
Indicates that cache operations are temporarily disabled.
The redundant controller has insufficient cache battery power.

Redundant Size Mismatch (15)
Indicates that cache operations are temporarily disabled.
The cache sizes on the redundant controllers do not match.

Redundant Cache Failure (16)
Indicates that cache operations are temporarily disabled.
The cache on the redundant controller has failed.

Excessive ECC Errors "
	::= { cpqDaAccelEntry 5 }


cpqDaAccelBattery OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	recharging(3),
	failed(4),
	degraded(5),
	notPresent(6),
	capacitorFailed(7)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Accelerator Board Backup Power Status.

This monitors the status of each backup power source on the board.  
The backup power source can only recharge when the system has 
power applied. The type of backup power source used is indicated 
by cpqDaAccelBackupPowerSource.

The following values are valid:

Other (1)
Indicates that the instrument agent does not recognize
battery status.  You may need to update your software.

Ok (2)
Indicates that a particular battery pack is fully charged.

Charging (3)
The battery power is less than 75%.  The Drive Array
Controller is attempting to recharge the battery.  A
battery can take as long as 36 hours to fully recharge.
After 36 hours, if the battery has not recharged, it is
considered failed.

Failed (4)
The battery pack is below the sufficient voltage level and
has not recharged in 36 hours.  Your Array Accelerator board
needs to be serviced.

Degraded (5)
The battery is still operating, however, one of the batteries
in the pack has failed to recharge properly.  Your Array
Accelerator board should be serviced as soon as possible.

NotPresent (6)
There are no batteries associated with this controller.

Capacitor Failed (7)
The capacitor is below the sufficient voltage level and
has not recharged in 10 minutes.  Your Array Accelerator board
needs to be serviced."
	::= { cpqDaAccelEntry 6 }


cpqDaAccelReadErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Accelerator Board Read Errors.

This shows the total number of read memory parity errors that
were detected while reading from the Array Accelerator board.
The mirrored copy of data on the board can be accessed to
obtain correct data if a memory parity errors occurs.

Memory parity errors occur when the system detects that
information has not been transferred correctly.  A parity bit
is included for each byte of information stored in memory.
When the microprocessor reads or writes data, the system
counts the value of the bits in each byte.  If a total does
not match the system's expectations, a parity error has
occurred. A bad memory chip, memory corruption, or lack of
refresh may cause memory parity errors."
	::= { cpqDaAccelEntry 7 }


cpqDaAccelWriteErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Accelerator Board Write Errors.

This shows the total number of write memory parity errors that
were detected while writing to the Array Accelerator board.

Write parity errors occur when the system detects that
information has not been transferred to the Array
Accelerator board correctly.  A parity bit is included for
each byte of information stored in memory.  When the
microprocessor reads or writes data, the system counts the
value of the bits in each byte.  If the total does not match
the system's expectations, a parity error has occurred."
	::= { cpqDaAccelEntry 8 }


cpqDaAccelCondition OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	degraded(3),
	failed(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The condition of the device.  This value represents the overall
condition of this array accelerator."
	::= { cpqDaAccelEntry 9 }


cpqDaAccelReadMemory OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Read Cache Memory.

This shows the amount of memory allocated for the read cache in
kilobytes.  Because data is kept in duplicate (mirrored), the
actual amount of usable memory is half the amount shown.

Read cache is not available on IDA, IDA-2, IDA Expansion System,
or SMART controllers.  Entries for these controllers will return
0 for this value."
	::= { cpqDaAccelEntry 10 }


cpqDaAccelSerialNumber OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..32))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Accelerator Serial Number.

The serial number of the Array Accelerator.  This field will
be a null (size 0) string if the accelerator does not support
serial number."
	::= { cpqDaAccelEntry 11 }


cpqDaAccelTotalMemory OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Total Cache Memory.

This value is the total amount of accelerator memory in
kilobytes, including both battery-backed and non-battery-backed
memory."
	::= { cpqDaAccelEntry 12 }


cpqDaAccelReadCachePercent OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Read Cache Percent.

This shows the percent of cache memory allocated for read ahead
caching.  If the data cannot be determined or is not applicable,
the value is set to 4,294,967,295."
	::= { cpqDaAccelEntry 13 }


cpqDaAccelWriteCachePercent OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Write Cache Percent.

This shows the percent of cache memory allocated for posted
write caching.  If the data cannot be determined or is not
applicable, the value is set to 4,294,967,295."
	::= { cpqDaAccelEntry 14 }


cpqDaAccelFailedBatteries OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..16))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Accelerator Failed Batteries.

This lists the location of accelerator failed batteries.
Each octet present contains the position number of a failed
battery.  An octet string of length zero indicates that there
are no failed batteries or that the controller does not have
the ability to identify individual failed batteries."
	::= { cpqDaAccelEntry 15 }


cpqDaAccelBackupPowerSource OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	battery(2),
	capacitor(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Accelerator Board Backup Power Source.

This describes the backup power source being used by the Array
Accelerator board.

The status can be:

Other (1)
Indicates that the instrument agent does not recognize the backup
power source used by the Array Accelerator board.  You may need 
to upgrade the instrument agent.

Battery (2)
Indicates that a battery is the backup power source for the Array
Accelerator board. 

Capacitor (3)
Indicates that a capacitor is the backup power source for the 
Array Accelerator board."
	::= { cpqDaAccelEntry 16 }


cpqDaLogDrvTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaLogDrvEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Logical Drive Table.

A table of logical drive entries."
	::= { cpqDaLogDrv 1 }


cpqDaLogDrvEntry OBJECT-TYPE
	SYNTAX CpqDaLogDrvEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Logical Drive Entry.

A logical drive entry."
	INDEX { cpqDaLogDrvCntlrIndex , cpqDaLogDrvIndex }

	::= { cpqDaLogDrvTable 1 }

cpqDaLogDrvEntry ::=
	SEQUENCE {
		cpqDaLogDrvCntlrIndex INTEGER,
		cpqDaLogDrvIndex INTEGER,
		cpqDaLogDrvFaultTol INTEGER,
		cpqDaLogDrvStatus INTEGER,
		cpqDaLogDrvAutoRel INTEGER,
		cpqDaLogDrvRebuildBlks Counter,
		cpqDaLogDrvHasAccel INTEGER,
		cpqDaLogDrvAvailSpares OCTET STRING,
		cpqDaLogDrvSize INTEGER,
		cpqDaLogDrvPhyDrvIDs OCTET STRING,
		cpqDaLogDrvCondition INTEGER,
		cpqDaLogDrvPercentRebuild Gauge,
		cpqDaLogDrvStripeSize INTEGER,
		cpqDaLogDrvOsName DisplayString,
		cpqDaLogDrvBlinkTime Counter,
		cpqDaLogDrvSpareReplaceMap OCTET STRING,
		cpqDaLogDrvRebuildingPhyDrv INTEGER,
		cpqDaLogDrvMultipathAccess INTEGER,
		cpqDaLogDrvNmbrOfParityGroups INTEGER
		}

cpqDaLogDrvCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Logical Drive Controller Index.

This maps the logical drives into their respective controllers.
Controller index 'i' under the controller group owns the
associated drives in the logical drive group which use that
index."
	::= { cpqDaLogDrvEntry 1 }


cpqDaLogDrvIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Logical Drive Index.

This logical drive number keeps track of multiple instances of
logical drives which are on the same controller.  For each
controller index value, the logical drive index starts at 1 and
increments for each logical drive."
	::= { cpqDaLogDrvEntry 2 }


cpqDaLogDrvFaultTol OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	none(2),
	mirroring(3),
	dataGuard(4),
	distribDataGuard(5),
	advancedDataGuard(7),
	raid50(8),
	raid60(9)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Fault Tolerance.

This shows the fault tolerance mode of the logical drive.
The following values are valid for the Logical Drive Fault
Tolerance:

None (2)
Fault tolerance is not enabled.  If a physical drive reports
an error, the data cannot be recovered by the drive array
controller.

Mirroring - RAID 1/RAID 1+0 (3)
For each physical drive, there is a second physical drive
containing identical data. If a drive fails, the data can be
retrieved from the mirror drive. 

Data Guard - RAID 4 (4)
One of the physical drives is used as a data guard drive and
contains the exclusive OR of the data on the remaining drives.
If a failure is detected, the drive array controller rebuilds
the data using the data guard information plus information
from the other drives.

Distributed Data Guard - RAID 5 (5)
Distributed Data Guarding, sometimes referred to as RAID 5,
is similar to Data Guarding, but instead of storing the parity
information on one drive, the information is distributed across
all of the drives.  If a failure is detected, the drive array
controller rebuilds the data using the data guard information
from all the drives.

Advanced Data Guarding - RAID 6 (7)
Advanced Data Guarding (RAID ADG) is the fault tolerance method
that provides the highest level of data protection.  It
'stripes' data and parity across all the physical drives in the
configuration to ensure the uninterrupted availability of
uncorrupted data.  This fault-tolerance method is similar to
distributed data guard (RAID 5) in that parity data is
distributed across all drives in the array, except in RAID ADG
the capacity of multiple drives is used to store parity data.
Assuming the capacity of 2 drives is used for parity data,
this allows continued operation despite simultaneous failure of
any 2 drives in the array, whereas RAID 4 and RAID 5 can only
sustain failure of a single drive.

RAID 50 (8)
Distributed data guarding (RAID 5) with multiple parity groups.

RAID 60 (9)
Advanced data guarding (RAID 6) with multiple parity groups."
	::= { cpqDaLogDrvEntry 3 }


cpqDaLogDrvStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	failed(3),
	unconfigured(4),
	recovering(5),
	readyForRebuild(6),
	rebuilding(7),
	wrongDrive(8),
	badConnect(9),
	overheating(10),
	shutdown(11),
	expanding(12),
	notAvailable(13),
	queuedForExpansion(14),
	multipathAccessDegraded(15),
	erasing(16)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Status.

The logical drive can be in one of the following states:

Ok (2)
Indicates that the logical drive is in normal operation mode.

Failed (3)
Indicates that more physical drives have failed than the
fault tolerance mode of the logical drive can handle without
data loss.

Unconfigured (4)
Indicates that the logical drive is not configured.

Recovering (5)
Indicates that the logical drive is using Interim Recovery Mode.
In Interim Recovery Mode, at least one physical drive has
failed, but the logical drive's fault tolerance mode lets the
drive continue to operate with no data loss.

Ready Rebuild (6)
Indicates that the logical drive is ready for Automatic Data
Recovery.  The physical drive that failed has been replaced,
but the logical drive is still operating in Interim Recovery
Mode.

Rebuilding (7)
Indicates that the logical drive is currently doing Automatic
Data Recovery.  During Automatic Data Recovery, fault tolerance
algorithms restore data to the replacement drive.

Wrong Drive (8)
Indicates that the wrong physical drive was replaced after a
physical drive failure.

Bad Connect (9)
Indicates that a physical drive is not responding.

Overheating (10)
Indicates that the drive array enclosure that contains the
logical drive is overheating.  The drive array is still
functioning, but should be shutdown.

Shutdown (11)
Indicates that the drive array enclosure that contains the
logical drive has overheated.  The logical drive is no longer
functioning.

Expanding (12)
Indicates that the logical drive is currently doing Automatic
Data Expansion.  During Automatic Data Expansion, fault
tolerance algorithms redistribute logical drive data to the
newly added physical drive.

Not Available (13)
Indicates that the logical drive is currently unavailable.
If a logical drive is expanding and the new configuration
frees additional disk space, this free space can be
configured into another logical volume.  If this is done,
the new volume will be set to not available.

Queued For Expansion (14)
Indicates that the logical drive is ready for Automatic Data
Expansion.  The logical drive is in the queue for expansion.

Multi-path Access Degraded (15)
Indicates that previously all disk drives of this logical
drive had more than one I/O path to the controller, but now
one or few of them have only one I/O path.

Erasing (16)
Indicates that the logical drive is currently being erased."
	::= { cpqDaLogDrvEntry 4 }


cpqDaLogDrvAutoRel OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Logical Drive Auto-Reliability Delay.

This value indicates how many seconds the logical drive will wait
with no requests before beginning Auto-Reliability monitoring.
For example, the default value is five, so the logical drive will
begin Auto-Reliability monitoring if it receives no requests for
five seconds.  If the value is zero, the logical drive will not
perform Auto-Reliability monitoring.  Auto-Reliability only
operates if the logical drive is configured in one of the fault
tolerance modes.

If the logical drive receives a request while performing
Auto-Reliability monitoring, the drive will stop monitoring to
process the request.  Once it has satisfied all incoming requests,
the drive will wait for the Auto-Reliability delay to expire
before returning to Auto-Reliability monitoring.

Auto-Reliability monitoring is a process to insure the highest
level of data reliability.  In this process each disk is scanned
to verify that all of the sectors in the drive array are
readable.  If the Auto-Reliability monitoring process detects
any bad sectors on the drives, it automatically remaps these
bad sectors where possible."
	::= { cpqDaLogDrvEntry 5 }


cpqDaLogDrvRebuildBlks OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Logical Drive Rebuild Blocks Remaining.

After a failed physical drive has been replaced, the physical
drive must have its data rebuilt.  This value shows how many
blocks of data still need to be rebuilt.  When the value
reaches zero, the rebuilding process is complete.  The drive
array continues to operate in interim recovery mode while a
drive is rebuilding.

When a logical volume is Expanding, the drive must redistribute
the logical volume data across the physical drives.  This value
shows how many blocks of data still need to be redistributed.
When the value reaches zero, the expand process is complete.
The drive array continues to operate normally while the drive
is expanding.

This value is only valid if the Logical Drive Status is
rebuilding (7) or expanding (12)."
	::= { cpqDaLogDrvEntry 6 }


cpqDaLogDrvHasAccel OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	unavailable(2),
	enabled(3),
	disabled(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Has Array Accelerator Board.

This indicates whether the logical drive has an Array Accelerator
board configured and enabled.  The following values are valid:

Other (1)
Indicates that the instrument agent does not recognize the
Array Accelerator board.  You may need to upgrade your software.

Unavailable (2)
Indicates that there is no Array Accelerator board configured
for this logical drive.

Enabled (3)
Indicates that the Array Accelerator board is configured and
enabled for this logical drive.

Disabled (4)
Indicates that the Array Accelerator board is configured but
not enabled for this logical drive."
	::= { cpqDaLogDrvEntry 7 }


cpqDaLogDrvAvailSpares OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Logical Drive Available Spares.

This indicates if this logical drive has one or more spares
designated for it that are not currently in use by another drive.
Each octet present will be a physical drive ID that is an
available spare for this logical drive.  These are the same ID's
which can be used as indexes into the physical drive table.
An octet string of length zero indicates that there are no
available spares for this logical drive."
	::= { cpqDaLogDrvEntry 8 }


cpqDaLogDrvSize OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Size.

This is the size of the logical drive in megabytes.  This value
is calculated using the value 1,048,576 (2^20) as a megabyte.
Drive manufacturers sometimes use the number 1,000,000 as a
megabyte when giving drive capacities so this value may
differ from the advertised size of a drive."
	::= { cpqDaLogDrvEntry 9 }


cpqDaLogDrvPhyDrvIDs OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Logical Drive Physical Drive IDs.

This lists the physical drive IDs which are associated with this
logical drive. These are the same IDs which can be used as
indices into the physical drive table. Each byte of the string
is an index."
	::= { cpqDaLogDrvEntry 10 }


cpqDaLogDrvCondition OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	degraded(3),
	failed(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Logical Drive condition.

This value represents the overall condition of this logical drive and
any associated physical drives."
	::= { cpqDaLogDrvEntry 11 }


cpqDaLogDrvPercentRebuild OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Percent Rebuild.

After a failed physical drive has been replaced, the physical
drive must have its data rebuilt.  This value is the percent
complete of the rebuild.  When the value reaches 100, the
rebuilding process is complete.  The drive array continues to
operate in interim recovery mode while a drive is rebuilding.

When a logical volume is Expanding, the drive must redistribute
the logical volume data across the physical drives.  This value
shows how many blocks of data still need to be redistributed.
When the value reaches one hundred (100), the expand process
is complete.  The array continues to operate normally while
the drive is expanding.

This value is only valid if the Logical Drive Status is
rebuilding (7) or expanding (12).

If the value cannot be determined or a rebuild is not active,
the value is set to 4,294,967,295."
	::= { cpqDaLogDrvEntry 12 }


cpqDaLogDrvStripeSize OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Stripe Size.

This is the size of a logical drive stripe in kilobytes."
	::= { cpqDaLogDrvEntry 13 }


cpqDaLogDrvOsName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive OS Name.

The OS name for this array logical drive.  This field will be
a null (size 0) string if the agent does not support OS name."
	::= { cpqDaLogDrvEntry 14 }


cpqDaLogDrvBlinkTime OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Physical Drive Blink Time Count.

The logical drive blink time variable allows the drive tray LEDs
of all physical drives in a logical drive to blink.  This value
indicates the amount of time, in tenths of a second, that the
physical drive LEDs will continue to blink.  A value of zero
indicates the drive LEDs are not blinking.  If the value cannot
be determined or no drive in this logical drive is in a hot
plug tray, 4,294,967,295 is returned.

To blink the drive LEDs on all physical drives in this logical
drive (including any configured spare drives), set this value
to the time to blink in tenths of seconds.

To stop the drive LEDs from blinking, set this value to 0."
	::= { cpqDaLogDrvEntry 15 }


cpqDaLogDrvSpareReplaceMap OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..256))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Spare To Replacement Drive Map.

This data structure contains the spare to physical drive
replacement map.  The format is:

octet  contents
=====  ========
1    Spare drive physical drive index
2    Replaced drive physical drive index

These 2 octets are repeated for each replaced drive.  For n
replaced drives, the string is 2 * n octets long.  An octet
string of length zero indicates that there are no replaced
drives currently in use."
	::= { cpqDaLogDrvEntry 16 }


cpqDaLogDrvRebuildingPhyDrv OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Physical Drive Rebuilding Index.

This is the physical drive index of the physical drive that is
currently rebuilding.  If the value cannot be determined or is
not applicable, the value is set to -1."
	::= { cpqDaLogDrvEntry 17 }


cpqDaLogDrvMultipathAccess OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	notSupported(2),
	notConfigured(3),
	pathRedundant(4),
	noRedundantPath(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Multi-path Access.

This indicates whether all the physical disks including spares
of this logical drive have been configured to have and currently
still have more than one I/O path to the controller.  The
following values are valid:

Other (1)
Indicates that the instrument agent can not determine if this
logical drive has multi-path access.

Not Supported (2)
Indicates that multi-path access to this logical drive is not
supported.

Not Configured (3)
Indicates that this logical drive is not configured to have
multi-path access.

Path Redundant (4)
Indicates that all disks of this logical drive currently have
more than one I/O path to the controller.

No Redundant Path (5)
Indicates that all disks of this logical drive previously had
more than one I/O path to the controller, but now one or few
of them have no redundant I/O path."
	::= { cpqDaLogDrvEntry 18 }


cpqDaLogDrvNmbrOfParityGroups OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Number Of Parity Groups.

Indicates the number of parity groups (i.e. RAID 4/5/6 subvolumes), 
that are being striped across."
	::= { cpqDaLogDrvEntry 19 }


cpqDaSpareTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaSpareEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Spare Table.

A table of spare entries."
	::= { cpqDaSpareDrv 1 }


cpqDaSpareEntry OBJECT-TYPE
	SYNTAX CpqDaSpareEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Spare Entry.

An entry in the spare table."
	INDEX { cpqDaSpareCntlrIndex , cpqDaSparePhyDrvIndex }

	::= { cpqDaSpareTable 1 }

cpqDaSpareEntry ::=
	SEQUENCE {
		cpqDaSpareCntlrIndex INTEGER,
		cpqDaSparePhyDrvIndex INTEGER,
		cpqDaSpareStatus INTEGER,
		cpqDaSpareReplacedDrv INTEGER,
		cpqDaSpareRebuildBlks Counter,
		cpqDaSpareCondition INTEGER,
		cpqDaSpareBusNumber INTEGER,
		cpqDaSpareBay INTEGER,
		cpqDaSpareReplacedDrvBusNumber INTEGER,
		cpqDaSpareReplacedDrvBay INTEGER,
		cpqDaSparePercentRebuild Gauge,
		cpqDaSpareLocationString DisplayString
		}

cpqDaSpareCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Spare Controller Index.

This index maps the spare drive back to the controller to which
it is attached.  The value of this index is the same as the one
used under the controller group."
	::= { cpqDaSpareEntry 1 }


cpqDaSparePhyDrvIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Spare Physical Drive Index.

This index maps the spare to the physical drive it represents.
The value of this index is the same as the one used with the
physical drive table."
	::= { cpqDaSpareEntry 2 }


cpqDaSpareStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	invalid(2),
	failed(3),
	inactive(4),
	building(5),
	active(6)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Spare Status.

This shows the status of the on-line spare drive.

The following values are valid for the spare status:

Failed (3)
The on-line spare has failed and is no longer available for use.

Inactive (4)
The monitored system has an on-line spare configured, but is
not currently in use.

Building (5)
A physical drive has failed. Automatic Data Recovery
is in progress to recover data to the on-line spare.

Active (6)
A physical drive has failed. Automatic Data Recovery is
complete.  The system is using the on-line spare as a
replacement for the failed drive."
	::= { cpqDaSpareEntry 3 }


cpqDaSpareReplacedDrv OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Spare Replaced Drive.

If the spare status is active(6) or building(5), then this
has the physical drive number of the replaced drive.  Otherwise
a value of -1 will be returned."
	::= { cpqDaSpareEntry 4 }


cpqDaSpareRebuildBlks OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Drive Array Spare Number Of Rebuild Blocks Left.

If the spare status is building(5), then this is the number of
blocks left to rebuild before completion.

The data contained on the failed physical drive must be
reconstructed from the fault tolerance data and copied to the
spare so that the spare can function in place of the failed drive.

When the number reaches zero (0), the building process is
complete and the spare has replaced the physical drive."
	::= { cpqDaSpareEntry 5 }


cpqDaSpareCondition OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	degraded(3),
	failed(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Spare Drive condition.

This value represents the overall condition of this spare drive
and any associated physical drives."
	::= { cpqDaSpareEntry 6 }


cpqDaSpareBusNumber OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Spare Drive SCSI Bus Number.

The bus number indicates to which SCSI bus this spare drive
is attached.  The first instance is one and increments for
each SCSI bus on a controller.  A value of -1 will be
returned if the spare drive is attached to a controller
that does not support multiple SCSI busses.  This is not
supported by the IDA, IDA Expansion, or IDA-2 controllers."
	::= { cpqDaSpareEntry 7 }


cpqDaSpareBay OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Spare Drive Bay Location.

This value matches the bay location where the physical drive has
been installed.  For a SCSI drive, this is the SCSI ID of the
drive."
	::= { cpqDaSpareEntry 8 }


cpqDaSpareReplacedDrvBusNumber OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Spare Replaced Drive Bus Number.

If the spare status is active(6) or building(5), then this
has the physical drive bus number of the replaced drive.
If the value cannot be determined or is not applicable, the
value is set to -1."
	::= { cpqDaSpareEntry 9 }


cpqDaSpareReplacedDrvBay OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Spare Replaced Drive Bay.

If the spare status is active(6) or building(5), then this
has the physical drive bay number of the replaced drive.
If the value cannot be determined or is not applicable, the
value is set to -1."
	::= { cpqDaSpareEntry 10 }


cpqDaSparePercentRebuild OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Spare Percent Rebuild.

If the spare status is building(5), then this is percent
complete of of the rebuild.

The data contained on the failed physical drive must be
reconstructed from the fault tolerance data and copied to the
spare so that the spare can function in place of the failed drive.

When the number reaches one hundred (100), the building process
is complete and the spare has replaced the physical drive.

If the value cannot be determined or a rebuild is not active,
the value is set to 4,294,967,295."
	::= { cpqDaSpareEntry 11 }


cpqDaSpareLocationString OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Spare Drive Location String.

This string describes the location of the drive in relation to
the controller.  If the location string cannot be determined,
the agent will return a NULL string."
	::= { cpqDaSpareEntry 12 }


cpqDaPhyDrvTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaPhyDrvEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Table.

A table of physical drive entries."
	::= { cpqDaPhyDrv 1 }


cpqDaPhyDrvEntry OBJECT-TYPE
	SYNTAX CpqDaPhyDrvEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Entry.

A physical drive entry."
	INDEX { cpqDaPhyDrvCntlrIndex , cpqDaPhyDrvIndex }

	::= { cpqDaPhyDrvTable 1 }

cpqDaPhyDrvEntry ::=
	SEQUENCE {
		cpqDaPhyDrvCntlrIndex INTEGER,
		cpqDaPhyDrvIndex INTEGER,
		cpqDaPhyDrvModel DisplayString,
		cpqDaPhyDrvFWRev DisplayString,
		cpqDaPhyDrvBay INTEGER,
		cpqDaPhyDrvStatus INTEGER,
		cpqDaPhyDrvFactReallocs INTEGER,
		cpqDaPhyDrvUsedReallocs Counter,
		cpqDaPhyDrvRefHours Counter,
		cpqDaPhyDrvHReads Counter,
		cpqDaPhyDrvReads Counter,
		cpqDaPhyDrvHWrites Counter,
		cpqDaPhyDrvWrites Counter,
		cpqDaPhyDrvHSeeks Counter,
		cpqDaPhyDrvSeeks Counter,
		cpqDaPhyDrvHardReadErrs Counter,
		cpqDaPhyDrvRecvReadErrs Counter,
		cpqDaPhyDrvHardWriteErrs Counter,
		cpqDaPhyDrvRecvWriteErrs Counter,
		cpqDaPhyDrvHSeekErrs Counter,
		cpqDaPhyDrvSeekErrs Counter,
		cpqDaPhyDrvSpinupTime INTEGER,
		cpqDaPhyDrvFunctTest1 Gauge,
		cpqDaPhyDrvFunctTest2 Gauge,
		cpqDaPhyDrvFunctTest3 Gauge,
		cpqDaPhyDrvDrqTimeouts Counter,
		cpqDaPhyDrvOtherTimeouts Counter,
		cpqDaPhyDrvSpinupRetries Counter,
		cpqDaPhyDrvBadRecvReads Counter,
		cpqDaPhyDrvBadRecvWrites Counter,
		cpqDaPhyDrvFormatErrs Counter,
		cpqDaPhyDrvPostErrs Counter,
		cpqDaPhyDrvNotReadyErrs Counter,
		cpqDaPhyDrvReallocAborts Counter,
		cpqDaPhyDrvThreshPassed INTEGER,
		cpqDaPhyDrvHasMonInfo INTEGER,
		cpqDaPhyDrvCondition INTEGER,
		cpqDaPhyDrvHotPlugs Counter,
		cpqDaPhyDrvMediaErrs Counter,
		cpqDaPhyDrvHardwareErrs Counter,
		cpqDaPhyDrvAbortedCmds Counter,
		cpqDaPhyDrvSpinUpErrs Counter,
		cpqDaPhyDrvBadTargetErrs Counter,
		cpqDaPhyDrvLocation INTEGER,
		cpqDaPhyDrvSize INTEGER,
		cpqDaPhyDrvBusFaults Counter,
		cpqDaPhyDrvIrqDeglitches Counter,
		cpqDaPhyDrvHotPlug INTEGER,
		cpqDaPhyDrvPlacement INTEGER,
		cpqDaPhyDrvBusNumber INTEGER,
		cpqDaPhyDrvSerialNum DisplayString,
		cpqDaPhyDrvPreFailMonitoring INTEGER,
		cpqDaPhyDrvCurrentWidth INTEGER,
		cpqDaPhyDrvCurrentSpeed INTEGER,
		cpqDaPhyDrvFailureCode INTEGER,
		cpqDaPhyDrvBlinkTime Counter,
		cpqDaPhyDrvSmartStatus INTEGER,
		cpqDaPhyDrvConfigurationStatus INTEGER,
		cpqDaPhyDrvRotationalSpeed INTEGER,
		cpqDaPhyDrvType INTEGER,
		cpqDaPhyDrvSataVersion INTEGER,
		cpqDaPhyDrvHostConnector DisplayString,
		cpqDaPhyDrvBoxOnConnector INTEGER,
		cpqDaPhyDrvLocationString DisplayString,
		cpqDaPhyDrvNegotiatedLinkRate INTEGER,
		cpqDaPhyDrvNcqSupport INTEGER,
		cpqDaPhyDrvPhyCount INTEGER,
		cpqDaPhyDrvMultipathAccess INTEGER,
		cpqDaPhyDrvMediaType INTEGER
		}

cpqDaPhyDrvCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Controller Index.

This index maps the physical drive back to the controller to
which it is attached. The value of this index is the same as
the one used under the controller group."
	::= { cpqDaPhyDrvEntry 1 }


cpqDaPhyDrvIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Index.

This index is used for selecting the physical drive table entry.
This number, along with the cpqDaPhyDrvCntlrIndex uniquely
identify a specific physical drive."
	::= { cpqDaPhyDrvEntry 2 }


cpqDaPhyDrvModel OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Model.

This is a text description of the physical drive.  The text that
appears depends upon who manufactured the drive and the drive
type.

If a drive fails, note the model to identify the type of drive
necessary for replacement.

If a model number is not present, you may not have properly
initialized the drive array to which the physical drive is
attached for monitoring."
	::= { cpqDaPhyDrvEntry 3 }


cpqDaPhyDrvFWRev OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..8))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Firmware Revision.

This shows the physical drive revision number.

If the firmware revision is not present, you have not properly
initialized the drive array."
	::= { cpqDaPhyDrvEntry 4 }


cpqDaPhyDrvBay OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Bay Location.

This value matches the bay location where the physical drive has
been installed.  For a SCSI drive, this is the SCSI ID of the
drive.  For a SAS or SATA drive, this is the bay number on the
enclosure."
	::= { cpqDaPhyDrvEntry 5 }


cpqDaPhyDrvStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	failed(3),
	predictiveFailure(4),
	erasing(5),
	eraseDone(6),
	eraseQueued(7)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Status.

This shows the status of the physical drive.

The following values are valid for the physical drive status:


Other (1)
Indicates that the instrument agent does not recognize
the drive.  You may need to upgrade your instrument agent
and/or driver software.

Ok (2)
Indicates the drive is functioning properly.

Failed (3)
Indicates that the drive is no longer operating and
should be replaced.

Predictive Failure(4)
Indicates that the drive has a predictive failure error and
should be replaced.

Erasing(5)
Indicates that the drive is being erased.

Erase Done(6)
Indicates that the drive has been erased and is now in an
offline state.

Erase Queued(7)
Indicates that an erase operation is currently queued for
the drive."
	::= { cpqDaPhyDrvEntry 6 }


cpqDaPhyDrvFactReallocs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This shows the number of spare sectors available for
remapping at the time the physical drive was shipped.
The physical drive will use these spare sectors for remapping
bad sectors that exist on the drive.  Not all drives support
factory reallocation."
	::= { cpqDaPhyDrvEntry 7 }


cpqDaPhyDrvUsedReallocs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Used Reallocated Sectors.

This shows the number of sectors of the reallocation area that
have been used by the physical drive.

To see how many sectors were originally available for use in the
reallocation area, refer to the factory reallocation information
if it exists.  Not all drives support factory reallocation.

Because of the nature of magnetic disks, certain sectors on a
drive may have media defects. The reallocation area is part of
the disk drive that the drive manufacturer sets aside to
compensate for these defects. The drive array controller writes
information addressed from these unusable sectors to available
sectors in the reallocation area.  If too many sectors have
been reallocated, there may be a problem with the drive.

If you suspect a problem, schedule server down time to run
diagnostics to verify that a problem exists."
	::= { cpqDaPhyDrvEntry 8 }


cpqDaPhyDrvRefHours OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Reference Time in hours.

This shows the total number of hours that a physical drive has
been spinning since the drive was stamped.  The drive will have
either been stamped when it left the factory or when you ran
diagnostics on your new drive.  You can use the reference
time to calculate rates for other physical drive events."
	::= { cpqDaPhyDrvEntry 9 }


cpqDaPhyDrvHReads OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Sectors Read (high).

The phyDrvHReads and the phyDrvReads together shows the total
number of sectors read from the physical disk drive during the
reference time (phyDrvRefHours).

The actual number of sectors read equals the phyDrvHReads
times 2^32 plus the phyDrvReads.

This information may be useful for determining rates.
For instance, if you wanted to calculate the average number
of reads per hour of operation, divide this number by the
reference hours."
	::= { cpqDaPhyDrvEntry 10 }


cpqDaPhyDrvReads OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Sectors Read (low).

The phyDrvHReads and the phyDrvReads together shows
the total number of sectors read from the physical disk drive
during the reference time (phyDrvRefHours).

The actual number of sectors read equals the phyDrvHReads
times 2^32 plus the phyDrvReads.

This information may be useful for determining rates.
For instance, if you wanted to calculate the average number
of reads per hour of operation, divide this number by the
reference hours."
	::= { cpqDaPhyDrvEntry 11 }


cpqDaPhyDrvHWrites OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Sectors Written (high).

The phyDrvHWrites and the phyDrvWrites together shows the
total number of sectors written to the physical disk drive
during the reference hours (phyDrvRefHours).

The actual number of sectors written equals the phyDrvHWrites
times 2^32 plus the phyDrvWrites.

This information may be useful for determining rates.
For instance, if you wanted to calculate the average number
of writes per hour of operation, divide this number by the
reference hours. "
	::= { cpqDaPhyDrvEntry 12 }


cpqDaPhyDrvWrites OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Sectors Written (low).

The phyDrvHWrites and the phyDrvWrites together
shows the total number of sectors written to the physical
disk drive during the reference hours (phyDrvRefHours).

The actual number of sectors written equals the phyDrvHWrites
times 2^32 plus the phyDrvWrites.

This information may be useful for determining rates.
For instance, if you wanted to calculate the average number of
writes per hour of operation, divide this number by the reference
hours. "
	::= { cpqDaPhyDrvEntry 13 }


cpqDaPhyDrvHSeeks OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Total Seeks (high).

The phyDrvHSeeks and the phyDrvSeeks together shows the total
number of seek operations performed by the physical disk drive
during the reference hours (phyDrvRefHours).

The actual number of seeks equals the phyDrvHSeeks times
2^32 plus the phyDrvWriteSeeks."
	::= { cpqDaPhyDrvEntry 14 }


cpqDaPhyDrvSeeks OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Total Seeks (low).

The phyDrvHSeeks and the phyDrvSeeks together shows the total
number of seek operations performed by the physical disk drive
during the reference hours (phyDrvRefHours).

The actual number of seeks equals the phyDrvHSeeks times
2^32 plus the phyDrvWriteSeeks."
	::= { cpqDaPhyDrvEntry 15 }


cpqDaPhyDrvHardReadErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Hard Read Errors.

This shows the number of read errors that have occurred on a
drive that could not be recovered by a physical drive's Error
Correction Code (ECC) algorithm or through retries during the
reference time (phyDrvRefTime).  Over time, a disk drive may
produce these errors.  If you receive these errors, a problem
may exist with your drive.

The value increases every time the physical drive detects another
error.

The severity of these errors depends on whether the monitored
system is running in a fault tolerant mode. With fault tolerance,
the controller can remap data to eliminate the problems caused by
these errors.  In either case, if you see an increase in these
errors, schedule server down time to run diagnostics to verify
that a problem exists."
	::= { cpqDaPhyDrvEntry 16 }


cpqDaPhyDrvRecvReadErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Recovered Read Errors.

This shows the number of read errors corrected through physical
drive retries during the reference time (phyDrvRefTime).

Over time, all disk drives produce these errors.  If you notice a
rapid increase in the value for Recovered Read Errors (or Hard
Read Errors), a problem may exist with the drive.  The value
increases every time the physical drive detects and corrects
another error.

Expect more Recovered Read Errors than Hard Read Errors. If you
suspect that a problem may exist with the drive, schedule server
down time to run diagnostics."
	::= { cpqDaPhyDrvEntry 17 }


cpqDaPhyDrvHardWriteErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Hard Write Errors.

This shows the number of write errors that could not be recovered
by a physical drive during the reference time (phyDrvRefTime).

Over time a disk drive may detect these errors. If you notice an
increase in the value shown for Hard Write Errors or Recovered
Write Errors, a problem may exist with the drive.  The value
increases every time the physical drive detects another error.
On average, these errors should occur less frequently than
read errors.  If you see an increase in these errors, schedule
server down time to run diagnostics to verify that a problem
exists."
	::= { cpqDaPhyDrvEntry 18 }


cpqDaPhyDrvRecvWriteErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Recovered Write Errors.

This shows the number of write errors corrected through physical
drive retries or recovered by a physical drive during the
reference time (phyDrvRefTime).

Over time a disk drive may produce these errors.

If you notice an increase in the value shown for Hard Write
Errors or Recovered Write Errors, a problem may exist with
the drive.

The value increases every time the physical drive detects and
corrects an error. Only an unusually rapid increase in these
errors indicates a problem.

On average, these errors should occur less frequently than hard
read errors.  If you suspect that a problem may exist with the
drive, schedule server down time to run diagnostics."
	::= { cpqDaPhyDrvEntry 19 }


cpqDaPhyDrvHSeekErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Seek Errors (High).

The phyDrvHSeekErrs and the phyDrvSeekErrs together shows the
total number of times that the physical disk drive detected a
seek error during the reference hours (phyDrvRefHours).

The actual number of seek errors equals the phyDrvHSeekErrs times
2^32 plus the phyDrvWriteSeekErrs.

Over time, a disk drive usually produces these errors. If you
notice a rapid increase in the value shown for Seek Errors,
this physical drive may be failing.

The value increases every time the physical drive produces
another error. Only an unusually rapid increase in these errors
indicates a problem. If you suspect that a problem exists,
schedule server down time to run diagnostics."
	::= { cpqDaPhyDrvEntry 20 }


cpqDaPhyDrvSeekErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Seek Errors (low).
The phyDrvHSeekErrs and the phyDrvSeekErrs together shows the
total number of times that the physical disk drive detected a
seek error during the reference hours (phyDrvRefHours).

The actual number of seek errors equals the phyDrvHSeekErrs times
2^32 plus the phyDrvWriteSeekErrs.

Over time, a disk drive usually produces these errors. If you
notice a rapid increase in the value shown for Seek Errors,
this physical drive may be failing.

The value increases every time the physical drive produces another
error. Only an unusually rapid increase in these errors indicates
a problem. If you suspect that a problem exists, schedule server
down time to run diagnostics."
	::= { cpqDaPhyDrvEntry 21 }


cpqDaPhyDrvSpinupTime OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Spin up Time in tenths of seconds.

This is the time it takes for a physical drive to spin up to full
speed.

Disks require time to gain momentum and reach operating speed. As
cars are tested to go from 0 mph to 60 mph in x number of seconds,
drive manufacturers have preset expectations for the time it takes
the drive to spin to full speed. Drives that do not meet these
expectations may have problems.

The value may be zero (0) under one of the following conditions:

*  If you are monitoring a physical drive that is part of the
monitored system's internal drive array storage, and you use a
warm boot to reset the monitored system. During a warm boot,
the drives continue to spin.

*  If you are monitoring a physical drive in an ProLiant Storage
System and you reset the monitored system but not the
ProLiant Storage System."
	::= { cpqDaPhyDrvEntry 22 }


cpqDaPhyDrvFunctTest1 OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Functional Test 1.

This provides information about a series of tests that indicate
how well a physical drive works. These tests compare the way the
physical drive currently operates when performing various tasks
with the way it worked when it was new.

A percent value is displayed that represents how the drive works
currently when compared to how the drive worked when new.  New
drives operate at the 100 percent level.  By default, if the
current value is less than or equal to 80 percent, a problem may
exist.

If you suspect a problem, schedule server down time to run
diagnostics to verify that a problem exists.

If the value cannot be determined, it is set to 4,294,967,295."
	::= { cpqDaPhyDrvEntry 23 }


cpqDaPhyDrvFunctTest2 OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Functional Test 2.

This provides information about a series of tests that indicate
how well a physical drive works. These tests compare the way the
physical drive currently operates when performing various tasks
with the way it worked when it was new.

A percent value is displayed that represents how the drive works
currently when compared to how the drive worked when new.  New
drives operate at the 100 percent level. By default, if the
current value is less than or equal to 80 percent, a problem may
exist.

If you suspect a problem, schedule server down time to run
diagnostics to verify that a problem exists.

If the value cannot be determined, it is set to 4,294,967,295."
	::= { cpqDaPhyDrvEntry 24 }


cpqDaPhyDrvFunctTest3 OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Functional Test 3.

This provides information about a series of tests that indicate
how well a physical drive works. These tests compare the way the
physical drive currently operates when performing various tasks
with the way it worked when it was new.

A percent value is displayed that represents how the drive works
currently when compared to how the drive worked when new.  New
drives operate at the 100 percent level. By default, if the
current value is less than or equal to 80 percent, a problem may
exist.

If you suspect a problem, schedule server down time to run
diagnostics to verify that a problem exists.

If the value cannot be determined, it is set to 4,294,967,295."
	::= { cpqDaPhyDrvEntry 25 }


cpqDaPhyDrvDrqTimeouts OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "DRQ Timeouts.

The number of times that a physical drive continued to request
data,  but did not get a command completion during the reference
time (phyDrvRefTime). This value increases every time a DRQ
timeout occurs for the physical drive.

A defective drive or cable may cause DRQ timeouts to occur.
If you see an increase in these errors, complete the following
steps for the monitored system:

1.  Check the cables connecting the drive to ensure that
they are intact.

2.  If the cables are properly connected, schedule server down
time to run diagnostics to verify that a problem exists.

If the value is not supported, it is set to 4,294,967,295."
	::= { cpqDaPhyDrvEntry 26 }


cpqDaPhyDrvOtherTimeouts OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Other Timeouts.

The number of times that a physical drive did not respond with an
interrupt within a controller-defined period of time after a
command had been issued during the reference time (phyDrvRefTime).
This does not include DRQ timeouts.

If you suspect a problem, complete the following steps for the
monitored system:

1.  Check the cables connecting the drive to ensure that they
are intact.

2.  If the cables are properly connected, schedule server down
time to run diagnostics to verify that a problem
exists."
	::= { cpqDaPhyDrvEntry 27 }


cpqDaPhyDrvSpinupRetries OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Spin up Retries.

The number of times that a physical drive had to retry to spin up
before successfully achieving operating speed during the reference
time (phyDrvRefTime). This value represents the spin-up retries
that occurred since the last time you turned on the monitored
system.

If you suspect a problem, schedule server down time to run
diagnostics verify that a problem exists."
	::= { cpqDaPhyDrvEntry 28 }


cpqDaPhyDrvBadRecvReads OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Recovery Failed (Bad) Read Error.

The number of times a read error occurred while performing
Automatic Data Recovery from this physical drive to another
drive during the reference time (phyDrvRefTime).

If a read error occurs, Automatic Data Recovery stops.
These errors indicate that the physical drive has failed.
If you suspect a problem, schedule server down time to run
diagnostics to verify that a problem exists."
	::= { cpqDaPhyDrvEntry 29 }


cpqDaPhyDrvBadRecvWrites OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Recovery Failed (Bad) Write Error.

The number of times a write error occurred while performing
Automatic Data Recovery from another drive to this physical
drive during the reference time (phyDrvRefTime).

If a write error occurs, Automatic Data Recovery stops.
These errors indicate that the physical drive has failed.
If you suspect a problem, schedule server down time to run
diagnostics to verify that a problem exists."
	::= { cpqDaPhyDrvEntry 30 }


cpqDaPhyDrvFormatErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Format Error.

The number of times a format operation failed when the controller
attempted to remap a bad sector during the reference time
(phyDrvRefTime).  Zero indicates that no format errors have
occurred.  The value increases each time a format error occurs.
A failed format operation may cause the controller to mark a
drive failed.

If you suspect a problem, schedule server down time to run
diagnostics verify a problem exists."
	::= { cpqDaPhyDrvEntry 31 }


cpqDaPhyDrvPostErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Power On Self Test (Post) Error.

The number of times that a physical drive failed its self test
during the reference time (phyDrvRefTime).

The physical drive does a self test each time power is applied
to the system.

If the value is not supported, it is set to 4,294,967,295."
	::= { cpqDaPhyDrvEntry 32 }


cpqDaPhyDrvNotReadyErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Not Ready Errors.

The number of times the physical drive failed after the spin up
command was issued during the reference time (phyDrvRefTime).
When the spin up command was issued, the drive failed to reach
its ready state.  If the current value is zero, the drive has
not failed.  If the current value is greater than zero, at
least one failure occurred.

This error could be caused because the physical drive has failed
to spin.

If you suspect a problem:

1.  Check the cables connecting the drive to ensure that they
are intact.

2.  If the cables are properly connected, schedule server down
time to run diagnostics to verify that a problem exists."
	::= { cpqDaPhyDrvEntry 33 }


cpqDaPhyDrvReallocAborts OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Reallocation Aborts.

The number of times the physical drive has failed due to an error
that occurred when the controller was trying to reallocate a bad
sector during the reference time (phyDrvRefTime).  Zero (0)
indicates that no Reallocation Abort errors have occurred.
The value increases each time a Reallocation Abort error occurs.

Because of the nature of magnetic disks, certain sectors on a
drive may have media defects.  The reallocation area is part of
the disk drive that is set aside to compensate for these defects.
The array controller writes information addressed from unusable
sectors to available sectors in the reallocation area.

If you suspect a problem, schedule server down time to run
diagnostics verify a problem exists."
	::= { cpqDaPhyDrvEntry 34 }


cpqDaPhyDrvThreshPassed OBJECT-TYPE
	SYNTAX INTEGER {
	false(1),
	true(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Factory Threshold Passed (Exceeded).

When the drive is shipped, certain thresholds have been set to
monitor performance of the drives.  For example, a threshold
might be set for Spin up Time.  If the time that it takes the
drive to spin up exceeds the factory threshold, there may be
a problem with one of the drives.

If you suspect a problem, schedule server down time to run
diagnostics.

Note:   These thresholds may be under warranty under certain
conditions."
	::= { cpqDaPhyDrvEntry 35 }


cpqDaPhyDrvHasMonInfo OBJECT-TYPE
	SYNTAX INTEGER {
	false(1),
	true(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Has Monitor Information.

All of the physical disk table fields except for the physical
disk status (phyDrvStatus) and the bay location
(phyDrvBayLocation) are invalid unless this field has a value
of true(2)."
	::= { cpqDaPhyDrvEntry 36 }


cpqDaPhyDrvCondition OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	degraded(3),
	failed(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The condition of the device.
This value represents the overall condition of this physical
drive."
	::= { cpqDaPhyDrvEntry 37 }


cpqDaPhyDrvHotPlugs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Hot Plug Count.

This value indicates the number of times this physical drive
was hot-plugged (removed) from a ProLiant Storage System.
This is not supported by the IDA, IDA Expansion, or IDA-2
controllers."
	::= { cpqDaPhyDrvEntry 38 }


cpqDaPhyDrvMediaErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Media Failure Count.

This value indicates the number of times this physical drive
was failed due to unrecoverable media errors.  This is not
supported by the IDA, IDA Expansion, or IDA-2 controllers."
	::= { cpqDaPhyDrvEntry 39 }


cpqDaPhyDrvHardwareErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Hardware Error Count.

This value indicates the number of times this physical drive
returned a bad hardware status. The drive may be failed if
retries do not work.  This is not supported by the IDA,
IDA Expansion, or IDA-2 controllers."
	::= { cpqDaPhyDrvEntry 40 }


cpqDaPhyDrvAbortedCmds OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Aborted Command Failures.

This value indicates the number of times this physical drive
was failed due to aborted commands that could not be retried
successfully.  This is not supported by the IDA, IDA Expansion,
or IDA-2 controllers."
	::= { cpqDaPhyDrvEntry 41 }


cpqDaPhyDrvSpinUpErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Spin-Up Failure Count.

This value indicates the number of times this physical drive
was failed due to a failure of a spin-up command.  This is not
supported by the IDA, IDA Expansion, or IDA-2 controllers."
	::= { cpqDaPhyDrvEntry 42 }


cpqDaPhyDrvBadTargetErrs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Bad Target Count.

This value indicates the number of times this physical drive
performed some action that did not conform to the SCSI-2 bus
protocol.  These actions will cause the SCSI bus to be reset.
This is not supported by the IDA, IDA Expansion, or IDA-2
controllers."
	::= { cpqDaPhyDrvEntry 43 }


cpqDaPhyDrvLocation OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	internal(2),
	external(3),
	proLiant(4)
	}
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Drive Physical Location.

This is the physical location of where the drive is located.
The following values are defined:

other(1)
The location of the drive is not known.

internal(2)
The drive is located inside of the computer system box.

external(3)
The drive is located outside of the computer system box.

proLiant(4)
The drive is located outside of the computer system box
in a ProLiant Storage System."
	::= { cpqDaPhyDrvEntry 44 }


cpqDaPhyDrvSize OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Size in MB.

This is the size of the physical drive in megabytes.  This value
is calculated using the value 1,048,576 (2^20) as a megabyte.
Drive manufacturers sometimes use the number 1,000,000 as a
megabyte when giving drive capacities so this value may differ
from the advertised size of a drive.  This field is only
applicable for controllers which support SCSI drives, and
therefore is not supported by the IDA or IDA-2 controllers.
The field will contain 0xFFFFFFFF if the drive capacity cannot
be calculated or if the controller does not support SCSI drives."
	::= { cpqDaPhyDrvEntry 45 }


cpqDaPhyDrvBusFaults OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Bus Fault Count.

This value indicates the number of times that a bus fault was
detected for the drive by the controller.  This is not supported
by the IDA, IDA Expansion, or IDA-2 controllers."
	::= { cpqDaPhyDrvEntry 46 }


cpqDaPhyDrvIrqDeglitches OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive IRQ Deglitch Count.

This is not supported by the IDA, IDA Expansion, or IDA-2
controllers."
	::= { cpqDaPhyDrvEntry 47 }


cpqDaPhyDrvHotPlug OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	hotPlug(2),
	nonHotPlug(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Hot Plug Support Status.

The following values are defined:

other(1)
The Insight Agent is unable to determine if this drive
supports hot plug replacement.

hotPlug(2)
The drive supports hot plug replacement.

nonhotPlug(3)
The drive does not support hot plug replacement."
	::= { cpqDaPhyDrvEntry 48 }


cpqDaPhyDrvPlacement OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	internal(2),
	external(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Placement.

The following values are defined:

other(1)
The agent is unable to determine if the drive is internal or
external to the system chassis.

internal(2)
The drive is located in the system chassis.

external(3)
The drive is located outside the system chassis in an
expansion box."
	::= { cpqDaPhyDrvEntry 49 }


cpqDaPhyDrvBusNumber OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive SCSI Bus Number.

The bus number indicates to which SCSI bus this physical
drive is attached.  The first instance is one and increments
for each SCSI bus on a controller.  A value of -1 will be
returned if the physical drive is attached to a controller
that does not support multiple SCSI busses.  This is not
supported by the IDA, IDA Expansion, or IDA-2 controllers.
For SAS and SATA drives, the bus number corresponds to the
enclosure where the drive resides."
	::= { cpqDaPhyDrvEntry 50 }


cpqDaPhyDrvSerialNum OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..40))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Serial Number.

This is the serial number assigned to the physical drive.
This value is based upon the serial number as returned by the
SCSI inquiry command but may have been modified due to space
limitations.  This can be used for identification purposes."
	::= { cpqDaPhyDrvEntry 51 }


cpqDaPhyDrvPreFailMonitoring OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	notAvailable(2),
	available(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Predictive Failure Monitoring.

The following values are defined:

other(1)
The agent is unable to determine if the drive supports
predictive failure monitoring.

notAvailable(2)
This drive does not support predictive failure monitoring.

available(3)
This drive supports predictive failure monitoring."
	::= { cpqDaPhyDrvEntry 52 }


cpqDaPhyDrvCurrentWidth OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	narrow(2),
	wide16(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Current Width.

The following values are defined:

other(1)
The agent is unable to determine the current negotiated data
transfer width for this drive.

narrow(2)
The negotiated data transfer width for this drive is narrow
(8 data bits).

wide16(3)
The negotiated data transfer width for this drive is wide
(16 data bits)."
	::= { cpqDaPhyDrvEntry 53 }


cpqDaPhyDrvCurrentSpeed OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	asynchronous(2),
	fast(3),
	ultra(4),
	ultra2(5),
	ultra3(6),
	ultra320(7)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Current Data Transfer Speed.

The following values are defined:

other(1)
The agent is unable to determine the current negotiated data
transfer speed for this drive.

asynchronous(2)
The negotiated data transfer speed for this drive is
asynchronous.

fast(3)
The negotiated data transfer speed for this drive is 10 million
transfers per second).

ultra(4)
The negotiated data transfer speed for this drive is 20 million
transfers per second.

ultra2(5)
The negotiated data transfer speed for this drive is 40 million
transfers per second.

ultra3(6)
The negotiated data transfer speed for this drive is 80 million
transfers per second.

ultra320(7)
The negotiated data transfer speed for this drive is 160
million transfers per second."
	::= { cpqDaPhyDrvEntry 54 }


cpqDaPhyDrvFailureCode OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Failure Code.

This value is the drive failure reason code returned by the
array firmware.  It is valid only when the drive is failed.
If the drive is not failed, 0 is returned."
	::= { cpqDaPhyDrvEntry 55 }


cpqDaPhyDrvBlinkTime OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Blink Time Count.

This value indicates the amount of time, in tenths of a second,
that the physical drive LEDs will continue to blink.  A value of
zero indicates the drive LEDs are not blinking.  If the value
cannot be determined or the drive is not in a hot plug tray,
4,294,967,295 is returned.

To blink the drive LEDs, set this value to the time to blink in
tenths of seconds.

To stop the drive LEDs from blinking, set this value to 0."
	::= { cpqDaPhyDrvEntry 56 }


cpqDaPhyDrvSmartStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	replaceDrive(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive S.M.A.R.T Status.

The following values are defined:

other(1)
The agent is unable to determine if the status of S.M.A.R.T
predictive failure monitoring for this drive.

ok(2)
Indicates the drive is functioning properly.

replaceDrive(3)
Indicates that the drive has a S.M.A.R.T predictive failure
error and should be replaced."
	::= { cpqDaPhyDrvEntry 57 }


cpqDaPhyDrvConfigurationStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	configured(2),
	notConfigured(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Configuration Status.

The following values are defined:

other(1)
The agent is unable to determine the configuration status of
this physical drive.

configured(2)
Indicates the drive is configured to be part of a logical
drive as either a member drive or a spare drive.

notConfigured(3)
Indicates the drive is not configured to be part of a logical
drive as either a member drive or a spare drive."
	::= { cpqDaPhyDrvEntry 58 }


cpqDaPhyDrvRotationalSpeed OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	rpm7200(2),
	rpm10K(3),
	rpm15K(4),
	rpmSsd(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Rotational Speed.

The following values are defined:

other(1)
The agent is unable to determine the rotational speed for
this drive.

rpm7200(2)
The rotational speed for this drive is 7200 rpm.

rpm10K(3)
The rotational speed for this drive is 10000 rpm.

rpm15K(4)
The rotational speed for this drive is 15000 rpm.

rpmSsd(5)
The drive is made of solid state electronics and does not 
have a rotational speed."
	::= { cpqDaPhyDrvEntry 59 }


cpqDaPhyDrvType OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	parallelScsi(2),
	sata(3),
	sas(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Type.

The following values are defined:

other(1)
The agent is unable to determine the type for this drive.

parallelScsi(2)
The drive type is parallel SCSI.

sata(3)
The drive type is Serial ATA.

sas(4)
The drive type is Serial Attached SCSI."
	::= { cpqDaPhyDrvEntry 60 }


cpqDaPhyDrvSataVersion OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	sataOne(2),
	sataTwo(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive SATA Version.

The following values are defined:

other(1)
The agent is unable to determine the SATA version for this
drive or it is not a SATA drive.

sataOne(2)
The drive is SATA version one.

sataTwo(3)
The drive is SATA version two."
	::= { cpqDaPhyDrvEntry 61 }


cpqDaPhyDrvHostConnector OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..4))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Host Connector.

This is the host connector to which the drive is ultimately
attached.  If the host connector cannot be determined, the agent
will return a NULL string."
	::= { cpqDaPhyDrvEntry 62 }


cpqDaPhyDrvBoxOnConnector OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Box on Connector.

The box on connector indicates to which box instance this
physical drive belongs.  The instances start at one and increment for
each box attached to a connector. A value of -1 is returned for drives
that do not support cpqDaPhyDrvBoxOnConnector."
	::= { cpqDaPhyDrvEntry 63 }


cpqDaPhyDrvLocationString OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Location String.

This string describes the location of the drive in relation to
the controller.  If the location string cannot be determined,
the agent will return a NULL string."
	::= { cpqDaPhyDrvEntry 64 }


cpqDaPhyDrvNegotiatedLinkRate OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	rate-1-5(2),
	rate-3-0(3),
	rate-6-0(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Negotiated Link Rate.

The following values are defined:

other(1)
The agent is unable to determine the negotiated link rate
this drive or it is not a SAS or SATA drive.

rate-1-5(2)
The negotiated link rate for this drive is 1.5 Gigabits per
second.

rate-3-0(3)
The negotiated link rate for this drive is 3.0 Gigabits per
second.

rate-6-0(4)
The negotiated link rate for this drive is 6.0 Gigabits per
second."
	::= { cpqDaPhyDrvEntry 65 }


cpqDaPhyDrvNcqSupport OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	noControllerSupport(2),
	noDriveSupport(3),
	ncqDisabled(4),
	ncqEnabled(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Native Command Queueing.

The following values are defined:

other(1)
The agent is unable to determine the NCQ configuration for
this drive or it is not a SATA drive.

noControllerSupport(2)
The array controller does not support NCQ.

noDriveSupport(3)
The array controller does support NCQ, but the drive does not.

ncqDisabled(4)
The array controller and drive support NCQ, but it is disabled.

ncqEnabled(5)
The array controller and drive support NCQ and it is enabled."
	::= { cpqDaPhyDrvEntry 66 }


cpqDaPhyDrvPhyCount OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive PHY Count.

This value indicates how many PHYs exist on SAS/SATA disk.  For
parallel SCSI disks, this value is set to -1."
	::= { cpqDaPhyDrvEntry 67 }


cpqDaPhyDrvMultipathAccess OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	notSupported(2),
	notConfigured(3),
	pathRedundant(4),
	noRedundantPath(5),
	driveFailed(6)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Multi-path Access Status.

This indicates if this physical drive has been configured to have
and currently still has more than one I/O path to the controller.
The following values are valid:

Other (1)
Indicates that the instrument agent can not determine if this
physical drive has multi-path access.

Not Supported (2)
Indicates that multi-path access to this physical drive is not
supported.

Not Configured (3)
Indicates that the physical drive is not configured to have
multi-path access.

Path Redundant (4)
Indicates that the physical drive currently has more than one
I/O path to the controller.

No Redundant Path (5)
Indicates that the physical drive previously had more than one
I/O path to the controller, but now has no redundant I/O path.

Drive Failed (6)
Indicates that the physical drive has failed."
	::= { cpqDaPhyDrvEntry 68 }


cpqDaPhyDrvMediaType OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	rotatingPlatters(2),
	solidState(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Media Type.

The following values are defined:

other(1)
The instrument agent is unable to determine the physical drive’s 
media type.

rotatingPlatters(2)
The physical drive media is composed of rotating platters.

solidState(3)
The physical drive media is composed of solid state electronics."
	::= { cpqDaPhyDrvEntry 69 }


cpqDaPhyDrvErrTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaPhyDrvErrEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Error Log Table.

A table of physical drive entries.  The Error Log Table is not
supported by the IDA, IDA Expansion, or IDA-2 controllers."
	::= { cpqDaPhyDrv 2 }


cpqDaPhyDrvErrEntry OBJECT-TYPE
	SYNTAX CpqDaPhyDrvErrEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Entry."
	INDEX { cpqDaPhyDrvErrCntlrIndex , cpqDaPhyDrvErrIDIndex, cpqDaPhyDrvErrIndex }

	::= { cpqDaPhyDrvErrTable 1 }

cpqDaPhyDrvErrEntry ::=
	SEQUENCE {
		cpqDaPhyDrvErrCntlrIndex INTEGER,
		cpqDaPhyDrvErrIDIndex INTEGER,
		cpqDaPhyDrvErrIndex INTEGER,
		cpqDaPhyDrvErrType INTEGER,
		cpqDaPhyDrvScsiOp INTEGER,
		cpqDaPhyDrvScsiStatus INTEGER,
		cpqDaPhyDrvCamStatus INTEGER,
		cpqDaPhyDrvSenseKey INTEGER,
		cpqDaPhyDrvQualifier INTEGER,
		cpqDaPhyDrvSenseCode INTEGER,
		cpqDaPhyDrvBlockValid INTEGER,
		cpqDaPhyDrvBlock INTEGER,
		cpqDaPhyDrvTime INTEGER,
		cpqDaPhyDrvUserDesc DisplayString,
		cpqDaPhyDrvErrDesc INTEGER
		}

cpqDaPhyDrvErrCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Error Log Controller Index.

This index maps the physical drive back to the controller to
which it is attached. The value of this index is the same as
the one used under the controller group."
	::= { cpqDaPhyDrvErrEntry 1 }


cpqDaPhyDrvErrIDIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Error Log Index.

This index is used for selecting the physical drive table entry.
This number, along with the cpqDaPhyDrvErrCntlrIndex uniquely
identify a specific physical drive."
	::= { cpqDaPhyDrvErrEntry 2 }


cpqDaPhyDrvErrIndex OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Error Log Index.

This index is used for selecting the physical drive table entry.
This number, along with the cpqDaPhyDrvErrCntlrIndex uniquely
identify a specific physical drive."
	::= { cpqDaPhyDrvErrEntry 3 }


cpqDaPhyDrvErrType OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	noError(2),
	scsiError(3),
	camError(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Error Log Error Type.

The type of error in the error log.  The valid types are:

Other (1)
Indicates that the instrument agent does not recognize the
type of error in the error log.

No Error (2)
Indicates that this error log entry does not have an error.

SCSI Error (3)
Indicates that this error log entry is a SCSI Error.

CAM Error (4)
Indicates that this error log entry is a CAM error."
	::= { cpqDaPhyDrvErrEntry 4 }


cpqDaPhyDrvScsiOp OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Error Log SCSI Operation.

This is the SCSI Command Operation Code byte associated with the
error log entry.  For further specifications consult a SCSI-2
logical specification or other SCSI reference."
	::= { cpqDaPhyDrvErrEntry 5 }


cpqDaPhyDrvScsiStatus OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Error Log SCSI Status.

This is the SCSI Status Code byte associated with the error log
entry.  For further specifications consult a SCSI-2 logical
specification or other SCSI reference."
	::= { cpqDaPhyDrvErrEntry 6 }


cpqDaPhyDrvCamStatus OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Error Log CAM Status.

This is the SCSI CAM Status byte associated with the error log
entry.  For further specifications consult a SCSI-2 logical
specification or other SCSI reference."
	::= { cpqDaPhyDrvErrEntry 7 }


cpqDaPhyDrvSenseKey OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Error Log Sense Key.

This is the SCSI Sense Key byte associated with the error log
entry.  For further specifications consult a SCSI-2 logical
specification or other SCSI reference."
	::= { cpqDaPhyDrvErrEntry 8 }


cpqDaPhyDrvQualifier OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Error Log Qualifier.

This is the SCSI Additional Sense Code Qualifier byte (as returned
by the Request Sense command) associated with the error log entry.
For further specifications consult a SCSI-2 logical specification
or other SCSI reference."
	::= { cpqDaPhyDrvErrEntry 9 }


cpqDaPhyDrvSenseCode OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Error Log Sense Code.

This is the SCSI Sense Code associated with the error log entry.
For further specifications consult a SCSI-2 logical specification
or other SCSI reference."
	::= { cpqDaPhyDrvErrEntry 10 }


cpqDaPhyDrvBlockValid OBJECT-TYPE
	SYNTAX INTEGER {
	false(1),
	true(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Error Log Block Address Is Valid.

The valid values are:

False (1)
Indicates that the Block Address object (cpqDaPhyDrvBlock)
is not a valid address.

True (2)
Indicates that the Block Address object (cpqDaPhyDrvBlock)
is a valid address."
	::= { cpqDaPhyDrvErrEntry 11 }


cpqDaPhyDrvBlock OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Error Log Block Address.

This is the SCSI Block Address (as returned by the Request Sense
Command) associated with the error log entry.  For further
specifications consult a SCSI-2 logical specification or other
SCSI reference."
	::= { cpqDaPhyDrvErrEntry 12 }


cpqDaPhyDrvTime OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Error Log Reference Time.

This gives a relative time stamp as to when the error log entry
occurred.  The Reference Time shows the number of hours that a
physical drive has been spinning since the drive was initialized
for monitor and performance."
	::= { cpqDaPhyDrvErrEntry 13 }


cpqDaPhyDrvUserDesc OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..255))
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Physical Drive Error Log User Description.

This is a string built by the agent which contains the Reference
Time (cpqDaPhyDrvTime) and a brief description of the disk error
associated with the particular error log entry.  This field is
being deprecated, and future management station applications
should be aware that this field may not contain ASCII
string data."
	::= { cpqDaPhyDrvErrEntry 14 }


cpqDaPhyDrvErrDesc OBJECT-TYPE
	SYNTAX INTEGER {
	driveFailure(1),
	commFailure(2),
	driveIOError(3),
	scsiCommError(4),
	compaqUpgradeRequired(5),
	driveWriteProtected(6),
	invalidRequest(7),
	scsiMessageError(8),
	controllerFailure(9),
	internExternConflict(10),
	internalDriveFailure(11),
	scsiErrorOutOfRange(12),
	camErrorOutOfRange(13),
	errorTypeOutOfRange(14)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index used to display an error associated with a physical drive.

This number refers to an entry in a list of error strings
enumerating the possible physical drive errors associated with
a particular physical disk drive.

The valid values are:

DriveFailure (1)
The Management Station should display the following string:
'Drive Failure'.

CommFailure(2)
The Management Station should display the following string:
'Communication Failure'.

DriveIOError(3)
The Management Station should display the following string:
'Drive I/O Error'.

SCSICommError(4)
The Management Station should display the following string:
'SCSI Communication Error'.

UpgradeRequired(5)
The Management Station should display the following string:
'Configuration Utility or OS upgrade required'.

DriveWriteProtected(6)
The Management Station should display the following string:
'Drive Write Protected - Check Drive Jumpers'.

InvalidRequest(7)
The Management Station should display the following string:
'Invalid Request'.

SCSIMessageError(8)
The Management Station should display the following string:
'SCSI Message Error'.

ControllerFailure(9)
The Management Station should display the following string:
'Controller Failure'.

InternalExternalConflict(10)
The Management Station should display the following string:
'Internal/External Conflict on Port 1'.

InternalDriveFailure(11)
The Management Station should display the following string:
'Internal Drive Failure'.

SCSIErrorOutOfRange(12)
The Management Station should display the following string:
'SCSI Error, Sense Code = %xh' where %x is the value of the
cpqDaPhyDrvSenseCode object.  This index will only be provided
if the specified object exceeds the valid range.

CAMErrorOutOfRange(13)
The Management Station should display the following string:
'CAM Error, CAM status =%xh' where %x is the value of the
cpqDaPhyDrvCamStatus object.  This index will only be provided
if the specified object exceeds the valid range.

ErrorTypeOutOfRange(14)
The Management Station should display the following string:
'Error type =%xh' where %x is the value of the
cpqDaPhyDrvErrType object.  This index will only be provided
if the specified object exceeds the valid range. "
	::= { cpqDaPhyDrvErrEntry 15 }


cpqDaPhyDrvPathTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaPhyDrvPathEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Access Path Table.

A table of access path entries supporting physical drive multi-path
cabling configuration."
	::= { cpqDaPhyDrv 3 }


cpqDaPhyDrvPathEntry OBJECT-TYPE
	SYNTAX CpqDaPhyDrvPathEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Access Path Entry."
	INDEX { cpqDaPhyDrvPathCntlrIndex , cpqDaPhyDrvPathDrvIndex, cpqDaPhyDrvPathIndex }

	::= { cpqDaPhyDrvPathTable 1 }

cpqDaPhyDrvPathEntry ::=
	SEQUENCE {
		cpqDaPhyDrvPathCntlrIndex INTEGER,
		cpqDaPhyDrvPathDrvIndex INTEGER,
		cpqDaPhyDrvPathIndex INTEGER,
		cpqDaPhyDrvPathStatus INTEGER,
		cpqDaPhyDrvPathCurrentRole INTEGER,
		cpqDaPhyDrvPathHostConnector DisplayString,
		cpqDaPhyDrvPathBoxOnConnector INTEGER,
		cpqDaPhyDrvPathLocationString DisplayString
		}

cpqDaPhyDrvPathCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Access Path Controller Index.

This index maps the physical drive access path back to the
controller to which it is attached. The value of this index
is the same as the one used under the controller group."
	::= { cpqDaPhyDrvPathEntry 1 }


cpqDaPhyDrvPathDrvIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Access Path Drive Index.

This index maps the access path to a physical drive.  The
value of this index is the same as the one used under the
physical drive table."
	::= { cpqDaPhyDrvPathEntry 2 }


cpqDaPhyDrvPathIndex OBJECT-TYPE
	SYNTAX INTEGER (0..3)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Access Path Index.

This path index keeps track of multiple instances of access
paths from a controller to a physical drive. This number,
along with the cpqDaPhyDrvPathCntlrIndex and
cpqDaPhyDrvPathDrvIndex uniquely identify a specific physical
drive access path."
	::= { cpqDaPhyDrvPathEntry 3 }


cpqDaPhyDrvPathStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	linkDown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Access Path Status.

This shows the status of the physical drive access path.  The
following values are valid:

Other (1)
Indicates that the instrument agent can not determine the
status of this access path.

OK (2)
Indicates the access path is functioning properly.

Link Down (3)
Indicates that the controller can no longer access the
physical drive through this path."
	::= { cpqDaPhyDrvPathEntry 4 }


cpqDaPhyDrvPathCurrentRole OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	active(2),
	alternate(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Access Path Current Role.

This shows the current role of physical drive access path.
The following values are valid:

Other (1)
Indicates that the instrument agent does not recognize the
role of this access path.

Active (2)
Indicates that this path is currently the default active
I/O path to access the physical drive from the controller.

Alternate (3)
Indicates that this path is currently the alternate I/O
path to access the physical drive from the controller."
	::= { cpqDaPhyDrvPathEntry 5 }


cpqDaPhyDrvPathHostConnector OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..4))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Access Path Host Connector.

This is the host connector to which the access path is ultimately
attached.  If the host connector cannot be determined, the agent
will return a NULL string."
	::= { cpqDaPhyDrvPathEntry 6 }


cpqDaPhyDrvPathBoxOnConnector OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Access Path Box on Connector.

The box on connector indicates to which box instance this
physical drive access path belongs."
	::= { cpqDaPhyDrvPathEntry 7 }


cpqDaPhyDrvPathLocationString OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Access Path Location String.

This string describes the physical drive access path in relation
to the controller. If the location string cannot be determined,
the agent will return a NULL string."
	::= { cpqDaPhyDrvPathEntry 8 }


cpqDaPhyDrvThrTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaPhyDrvThrEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Threshold Table.

A table of physical drive threshold entries."
	::= { cpqDaPhyDrvThr 1 }


cpqDaPhyDrvThrEntry OBJECT-TYPE
	SYNTAX CpqDaPhyDrvThrEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Threshold Entry.

A physical drive threshold entry."
	INDEX { cpqDaPhyDrvThrCntlrIndex , cpqDaPhyDrvThrIndex }

	::= { cpqDaPhyDrvThrTable 1 }

cpqDaPhyDrvThrEntry ::=
	SEQUENCE {
		cpqDaPhyDrvThrCntlrIndex INTEGER,
		cpqDaPhyDrvThrIndex INTEGER,
		cpqDaPhyDrvThrUsedReallocs INTEGER,
		cpqDaPhyDrvThrRefHours INTEGER,
		cpqDaPhyDrvThrHardReadErrs INTEGER,
		cpqDaPhyDrvThrRecvReadErrs INTEGER,
		cpqDaPhyDrvThrHardWriteErrs INTEGER,
		cpqDaPhyDrvThrRecvWriteErrs INTEGER,
		cpqDaPhyDrvThrHSeekErrs INTEGER,
		cpqDaPhyDrvThrSeekErrs INTEGER,
		cpqDaPhyDrvThrSpinupTime INTEGER,
		cpqDaPhyDrvThrFunctTest1 INTEGER,
		cpqDaPhyDrvThrFunctTest2 INTEGER,
		cpqDaPhyDrvThrFunctTest3 INTEGER,
		cpqDaPhyDrvThrDrqTimeouts INTEGER,
		cpqDaPhyDrvThrOtherTimeouts INTEGER,
		cpqDaPhyDrvThrSpinupRetries INTEGER,
		cpqDaPhyDrvThrBadRecvReads INTEGER,
		cpqDaPhyDrvThrBadRecvWrites INTEGER,
		cpqDaPhyDrvThrFormatErrs INTEGER,
		cpqDaPhyDrvThrPostErrs INTEGER,
		cpqDaPhyDrvThrNotReadyErrs INTEGER,
		cpqDaPhyDrvThrReallocAborts INTEGER,
		cpqDaPhyDrvThrHotPlugs INTEGER,
		cpqDaPhyDrvThrMediaErrs INTEGER,
		cpqDaPhyDrvThrHardwareErrs INTEGER,
		cpqDaPhyDrvThrAbortedCmds INTEGER,
		cpqDaPhyDrvThrSpinUpErrs INTEGER,
		cpqDaPhyDrvThrBadTargetErrs INTEGER,
		cpqDaPhyDrvThrViUsedReallocs INTEGER,
		cpqDaPhyDrvThrViSpinupTime INTEGER,
		cpqDaPhyDrvThrViFunctTest1 INTEGER,
		cpqDaPhyDrvThrViFunctTest2 INTEGER,
		cpqDaPhyDrvThrViFunctTest3 INTEGER,
		cpqDaPhyDrvThrBusFaults INTEGER,
		cpqDaPhyDrvThrIrqDeglitches INTEGER
		}

cpqDaPhyDrvThrCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Threshold Controller Index.

This index maps the physical drive thresholds back to the
controller to which it is attached. The value of this
index is the same as the one used under the controller group."
	::= { cpqDaPhyDrvThrEntry 1 }


cpqDaPhyDrvThrIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Physical Drive Threshold Index.

This index maps the thresholds to a physical drive.  The value
of this index is the same as the one used with the physical
drive table."
	::= { cpqDaPhyDrvThrEntry 2 }


cpqDaPhyDrvThrUsedReallocs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Used Reallocated Sectors Maximum Threshold.

This shows the maximum threshold of the reallocation area that
has been used by the physical drive.

This threshold is associated with the cpqDaPhyDrvUsedReallocs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 3 }


cpqDaPhyDrvThrRefHours OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Reference Time Maximum Threshold in hours.

This shows the maximum threshold in hours that a physical drive
has been spinning since the drive was stamped.

This threshold is associated with the cpqDaPhyDrvRefHours
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 4 }


cpqDaPhyDrvThrHardReadErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Hard Read Errors Maximum Threshold.

This shows the maximum threshold of read errors on a drive that
could not be recovered by a physical drive's Error Correction
Code (ECC) algorithm or through retries during the reference
time (phyDrvRefTime).

This threshold is associated with the cpqDaPhyDrvHardReadErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 5 }


cpqDaPhyDrvThrRecvReadErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Recovered Read Errors Maximum Threshold.

This shows the maximum threshold of read errors corrected through
physical drive retries during the reference time (phyDrvRefTime).

This threshold is associated with the cpqDaPhyDrvRecvReadErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 6 }


cpqDaPhyDrvThrHardWriteErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Hard Write Errors Maximum Threshold.

This shows the maximum threshold of write errors that could not
be recovered by a physical drive during the reference time
(phyDrvRefTime).

This threshold is associated with the cpqDaPhyDrvHardWriteErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 7 }


cpqDaPhyDrvThrRecvWriteErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Recovered Write Errors Maximum Threshold.

This shows the maximum threshold of write errors corrected through
physical drive retries or recovered by a physical drive during the
reference time (phyDrvRefTime).

This threshold is associated with the cpqDaPhyDrvRecvWriteErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 8 }


cpqDaPhyDrvThrHSeekErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Seek Errors Maximum Threshold (high).

The cpqDaphyDrvThrHSeekErrs and the cpqDaphyDrvThrSeekErrs
together show the maximum threshold of total number of
times that the physical disk drive detected a seek error
during the reference hours (phyDrvRefHours).

This threshold is associated with the cpqDaPhyDrvHSeekErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 9 }


cpqDaPhyDrvThrSeekErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Seek Errors Maximum Threshold (low).

The cpqDaphyDrvThrHSeekErrs and the cpqDaphyDrvThrSeekErrs
together show the maximum threshold of total number of times
that the physical disk drive detected a seek error during
the reference hours (phyDrvRefHours).

This threshold is associated with the cpqDaPhyDrvSeekErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 10 }


cpqDaPhyDrvThrSpinupTime OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Spin up Time Maximum Threshold in tenths of seconds.

This shows the maximum of time it takes for a physical drive to
spin up to full speed.

This threshold is associated with the cpqDaPhyDrvSpinupTime
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 11 }


cpqDaPhyDrvThrFunctTest1 OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Functional Test 1 Minimum Threshold.

This provides the minimum threshold for information about a series
of tests that indicate how well a physical drive works. These
tests compare the way the physical drive currently operate
when performing various tasks with the way it worked when it
was new.

This threshold is associated with the cpqDaPhyDrvFunctTest1
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 12 }


cpqDaPhyDrvThrFunctTest2 OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Functional Test 2 Minimum Threshold.

This provides the minimum threshold for information about a
series of tests that indicate how well a physical drive works.
These tests compare the way the physical drive currently
operates when performing various tasks with the way it worked
when it was new.

This threshold is associated with the cpqDaPhyDrvFunctTest2
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 13 }


cpqDaPhyDrvThrFunctTest3 OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Functional Test 3 Minimum Threshold.

This provides the minimum threshold for information about a
series of tests that indicate how well a physical drive works.
These tests compare the way the physical drive currently operates
when performing various tasks with the way it worked when it was
new.

This threshold is associated with the cpqDaPhyDrvFunctTest3
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 14 }


cpqDaPhyDrvThrDrqTimeouts OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "DRQ Timeouts Maximum Threshold.

This shows the maximum threshold of the number of times that a
physical drive continued to request data, but did not get a
command completion during the reference time (phyDrvRefTime).

This threshold is associated with the cpqDaPhyDrvDrqTimeouts
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 15 }


cpqDaPhyDrvThrOtherTimeouts OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Other Timeouts Maximum Threshold.

This shows the maximum threshold of the number of times that a
physical drive did not respond with an interrupt within a
controller-defined period of time after a command had been
issued during the reference time (phyDrvRefTime).

This threshold is associated with the cpqDaPhyDrvOtherTimeouts
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 16 }


cpqDaPhyDrvThrSpinupRetries OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Spin up Retries Maximum Threshold.

This shows the maximum threshold of the number of times that a
physical drive had to retry to spin up before successfully
achieving operating speed during the reference time
(phyDrvRefTime).

This threshold is associated with the cpqDaPhyDrvSpinupRetries
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 17 }


cpqDaPhyDrvThrBadRecvReads OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Recovery Failed (Bad) Read Error Maximum Threshold.

This shows the maximum threshold of the number of times a read
error occurred while performing Automatic Data Recovery from
this physical drive to another drive during the reference time
(phyDrvRefTime).

This threshold is associated with the cpqDaPhyDrvBadRecvReads
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 18 }


cpqDaPhyDrvThrBadRecvWrites OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Recovery Failed (Bad) Write Error Maximum Threshold.

This shows the maximum threshold of the number of times a write
error occurred while performing Automatic Data Recovery from
another drive to this physical drive during the reference time
(phyDrvRefTime).

This threshold is associated with the cpqDaPhyDrvBadRecvWrites
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 19 }


cpqDaPhyDrvThrFormatErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Format Error Maximum Threshold.

This shows the maximum threshold of the number of times a format
operation failed when the controller attempted to remap a bad
sector during the reference time (phyDrvRefTime).

This threshold is associated with the cpqDaPhyDrvFormatErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 20 }


cpqDaPhyDrvThrPostErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Power On Self Test (Post) Error Maximum Threshold.

This shows the maximum threshold of the number of times that a
physical drive failed its self test during the reference time
(phyDrvRefTime).

This threshold is associated with the cpqDaPhyDrvPostErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 21 }


cpqDaPhyDrvThrNotReadyErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Not Ready Errors Maximum Threshold.

This shows the maximum threshold of the number of times the
physical drive failed after the spin up command was issued
during the reference time (phyDrvRefTime).  When the spin up
command was issued, the drive failed to reach its ready
state.

This threshold is associated with the cpqDaPhyDrvNotReadyErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 22 }


cpqDaPhyDrvThrReallocAborts OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Reallocation Aborts Maximum Threshold.

This shows the maximum threshold of the number of times the
physical drive has failed due to an error that occurred when
the controller was trying to reallocate a bad sector during
the reference time (phyDrvRefTime).

This threshold is associated with the cpqDaPhyDrvReallocAborts
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 23 }


cpqDaPhyDrvThrHotPlugs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Hot Plug Count Maximum Threshold.

This shows the maximum threshold of the number of times this
physical drive can be hot-plugged (removed) from a ProLiant
Storage System.

This threshold is associated with the cpqDaPhyDrvHotPlugs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 24 }


cpqDaPhyDrvThrMediaErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Media Failure Count Maximum Threshold.

This shows the maximum threshold of the number of times this
physical drive can be failed due to unrecoverable media errors.

This threshold is associated with the cpqDaPhyDrvMediaErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 25 }


cpqDaPhyDrvThrHardwareErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Hardware Error Count Maximum Threshold.

This shows the maximum threshold of the number of times this
physical drive can return a bad hardware status.  The drive may
be failed if retries do not work.  This is not supported by the
IDA, IDA Expansion, or IDA-2 controllers.

This threshold is associated with the cpqDaPhyDrvHardwareErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 26 }


cpqDaPhyDrvThrAbortedCmds OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Aborted Command Failures Maximum Threshold.

This shows the maximum threshold of the number of times this
physical drive can be failed due to aborted commands that could
not be retried successfully.  This is not supported by the IDA,
IDA Expansion, or IDA-2 controllers.

This threshold is associated with the cpqDaPhyDrvAbortedCmds
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 27 }


cpqDaPhyDrvThrSpinUpErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Spin-Up Failure Count Maximum Threshold.

This shows the maximum threshold of the number of times this
physical drive was failed due to a failure of a spin-up command.
This is not supported by the IDA, IDA Expansion, or IDA-2
controllers.

This threshold is associated with the cpqDaPhyDrvSpinUpErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 28 }


cpqDaPhyDrvThrBadTargetErrs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Bad Target Count Maximum Threshold.

This shows the maximum threshold of the number of times this
physical drive can perform some action that did not conform to
the SCSI-2 bus protocol. These actions will cause the SCSI bus
to be reset. This is not supported by the IDA, IDA Expansion,
or IDA-2 controllers.

This threshold is associated with the cpqDaPhyDrvBadTargetErrs
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 29 }


cpqDaPhyDrvThrViUsedReallocs OBJECT-TYPE
	SYNTAX INTEGER {
	false(1),
	true(2),
	unknown(-1)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Used Reallocated Sectors Threshold Has Been Violated.

This is used to indicate whether the number of used sectors of
the reallocation area for a physical drive has ever exceeded
the maximum allowable threshold.

The valid values are:

false (1)
Indicates that the Used Reallocated Sectors object
(cpqDaPhyDrvUsedReallocs) value has not exceeded
the maximum threshold (cpqDaPhyDrvThrUsedReallocs).

true (2)
Indicates that the Used Reallocated Sectors object
(cpqDaPhyDrvUsedReallocs) value has exceeded
the maximum threshold (cpqDaPhyDrvThrUsedReallocs).

unknown (4294967295)
The agent is unable to determine if the drive has a
threshold violation."
	::= { cpqDaPhyDrvThrEntry 30 }


cpqDaPhyDrvThrViSpinupTime OBJECT-TYPE
	SYNTAX INTEGER {
	false(1),
	true(2),
	unknown(-1)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Spin up Time in tenths of seconds Threshold Has Been Violated.

This is used to indicate whether the time it took for a physical
drive to spin up to full speed has ever exceeded the maximum
allowable threshold.

The valid values are:

false (1)
Indicates that the Spin up Time object (cpqDaPhyDrvSpinupTime)
value has not exceeded the maximum threshold
(cpqDaPhyDrvThrSpinupTime).

true (2)
Indicates that the Spin up Time object (cpqDaPhyDrvSpinupTime)
value has exceeded the maximum threshold
(cpqDaPhyDrvThrSpinupTime).

unknown (4294967295)
The agent is unable to determine if the drive has a
threshold violation."
	::= { cpqDaPhyDrvThrEntry 31 }


cpqDaPhyDrvThrViFunctTest1 OBJECT-TYPE
	SYNTAX INTEGER {
	false(1),
	true(2),
	unknown(-1)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Functional Test 1 Threshold Has Been Violated.

This is used to indicate whether the percentage value returned
from Functional Test 1 has every dropped below the allowable
threshold for that test.

The valid values are:

false (1)
Indicates that the Functional Test 1 object
(cpqDaPhyDrvFunctTest1) value has not fallen below the
minimum threshold (cpqDaPhyDrvThrFunctTest1).

true (2)
Indicates that the Functional Test 1 object
(cpqDaPhyDrvFunctTest1) value has fallen below
the minimum threshold (cpqDaPhyDrvThrFunctTest1).

unknown (4294967295)
The agent is unable to determine if the drive has a
threshold violation."
	::= { cpqDaPhyDrvThrEntry 32 }


cpqDaPhyDrvThrViFunctTest2 OBJECT-TYPE
	SYNTAX INTEGER {
	false(1),
	true(2),
	unknown(-1)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Functional Test 2 Threshold Has Been Violated.

This is used to indicate whether the percentage value returned
from Functional Test 2 has every dropped below the allowable
threshold for that test.

The valid values are:

false (1)
Indicates that the Functional Test 2 object
(cpqDaPhyDrvFunctTest2) value has not fallen below
the minimum threshold (cpqDaPhyDrvThrFunctTest2).

true (2)
Indicates that the Functional Test 2 object
(cpqDaPhyDrvFunctTest2) value has fallen below
the minimum threshold (cpqDaPhyDrvThrFunctTest2).

unknown (4294967295)
The agent is unable to determine if the drive has a
threshold violation."
	::= { cpqDaPhyDrvThrEntry 33 }


cpqDaPhyDrvThrViFunctTest3 OBJECT-TYPE
	SYNTAX INTEGER {
	false(1),
	true(2),
	unknown(-1)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Functional Test 3 Threshold Has Been Violated.

This is used to indicate whether the percentage value returned
from Functional Test 3 has every dropped below the allowable
threshold for that test.

The valid values are:

false (1)
Indicates that the Functional Test 3 object
(cpqDaPhyDrvFunctTest3) value has not fallen below
the minimum threshold (cpqDaPhyDrvThrFunctTest3).

true (2)
Indicates that the Functional Test 3 object
(cpqDaPhyDrvFunctTest3) value has fallen below
the minimum threshold (cpqDaPhyDrvThrFunctTest3).

unknown (4294967295)
The agent is unable to determine if the drive has a
threshold violation."
	::= { cpqDaPhyDrvThrEntry 34 }


cpqDaPhyDrvThrBusFaults OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive Bus Fault Count Maximum Threshold.

This shows the maximum threshold of the number of times this
physical drive can return a bus fault status. The drive may
be failed if retries do not work.  This is not supported by the
IDA, IDA Expansion, or IDA-2 controllers.

This threshold is associated with the cpqDaPhyDrvBusFaults
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 35 }


cpqDaPhyDrvThrIrqDeglitches OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Drive IRQ Deglitch Count Maximum Threshold.

This shows the maximum threshold of the number of times this
physical drive can return a IRQ deglitch status. The drive may
be failed if retries do not work.  This is not supported by the
IDA, IDA Expansion, or IDA-2 controllers.

This threshold is associated with the cpqDaPhyDrvIrqDeglitches
object in the Physical Drive Table."
	::= { cpqDaPhyDrvThrEntry 36 }


cpqDaCntlrPerfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaCntlrPerfEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Controller Performance Monitor Table.

A table of controller entries supporting the performance monitor
information."
	::= { cpqDaCntlrPerf 1 }


cpqDaCntlrPerfEntry OBJECT-TYPE
	SYNTAX CpqDaCntlrPerfEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Controller Performance Monitor Entry.

A performance monitor entry."
	INDEX { cpqDaCntlrPerfCntlrIndex , cpqDaCntlrPerfInstance }

	::= { cpqDaCntlrPerfTable 1 }

cpqDaCntlrPerfEntry ::=
	SEQUENCE {
		cpqDaCntlrPerfCntlrIndex INTEGER,
		cpqDaCntlrPerfInstance INTEGER,
		cpqDaCntlrPerfSampleInterval INTEGER,
		cpqDaCntlrPerfVersion INTEGER,
		cpqDaCntlrPerfCpuPercentBusy INTEGER,
		cpqDaCntlrPerfCommandCount INTEGER,
		cpqDaCntlrPerfAvgLatency INTEGER
		}

cpqDaCntlrPerfCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Controller Performance Monitor Controller Index.

This maps the performance monitor information into their
respective controllers which support performance data."
	::= { cpqDaCntlrPerfEntry 1 }


cpqDaCntlrPerfInstance OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Controller Performance Monitor Instance Index.

This maps the performance monitor information for a specific
controller and sample interval to controllers which support
performance data."
	::= { cpqDaCntlrPerfEntry 2 }


cpqDaCntlrPerfSampleInterval OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Performance Monitor Sample Interval.

This value indicates the length of the performance interval
for this controller and all logical volumes associated with
this controller.  This value is reported in seconds."
	::= { cpqDaCntlrPerfEntry 3 }


cpqDaCntlrPerfVersion OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Performance Monitor Version.

This value specifies the version of the performance monitor
interface."
	::= { cpqDaCntlrPerfEntry 4 }


cpqDaCntlrPerfCpuPercentBusy OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Performance Monitor Cpu Percent Busy.

This value specifies the total CPU percent busy as a number
from 0 to 100 inclusive.

If the value cannot be determined, the value is set to -1."
	::= { cpqDaCntlrPerfEntry 5 }


cpqDaCntlrPerfCommandCount OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Performance Monitor Command Count.

This value shows the total number of read and write commands
processed in this sample.  This value is expressed in read and
write commands per second."
	::= { cpqDaCntlrPerfEntry 6 }


cpqDaCntlrPerfAvgLatency OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Controller Performance Monitor Average
Command Latency.

This value shows the average command latency for this sample
in 1/100,000 second units."
	::= { cpqDaCntlrPerfEntry 7 }


cpqDaLogDrvPerfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaLogDrvPerfEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Logical Drive Performance Monitor Table.

A table of logical drive entries supporting the performance
monitor information."
	::= { cpqDaLogDrvPerf 1 }


cpqDaLogDrvPerfEntry OBJECT-TYPE
	SYNTAX CpqDaLogDrvPerfEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Logical Drive Performance Monitor Entry.

A performance monitor entry."
	INDEX { cpqDaLogDrvPerfCntlrIndex , cpqDaLogDrvPerfIndex, cpqDaLogDrvPerfInstance }

	::= { cpqDaLogDrvPerfTable 1 }

cpqDaLogDrvPerfEntry ::=
	SEQUENCE {
		cpqDaLogDrvPerfCntlrIndex INTEGER,
		cpqDaLogDrvPerfIndex INTEGER,
		cpqDaLogDrvPerfInstance INTEGER,
		cpqDaLogDrvPerfSampleInterval INTEGER,
		cpqDaLogDrvPerfAvgQueueDepth INTEGER,
		cpqDaLogDrvPerfReads INTEGER,
		cpqDaLogDrvPerfWrites INTEGER,
		cpqDaLogDrvPerfTotalIO INTEGER,
		cpqDaLogDrvPerfCacheHits INTEGER,
		cpqDaLogDrvPerfCacheMisses INTEGER,
		cpqDaLogDrvPerfReadAheadSectors INTEGER,
		cpqDaLogDrvPerfSectorsRead INTEGER,
		cpqDaLogDrvPerfSectorsWritten INTEGER
		}

cpqDaLogDrvPerfCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Logical Drive Performance Monitor Controller Index.

This maps the performance monitor information into their
respective controllers which support performance data."
	::= { cpqDaLogDrvPerfEntry 1 }


cpqDaLogDrvPerfIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Logical Drive Performance Monitor Drive Index.

This maps the performance monitor information into their
respective logical drives which support performance data."
	::= { cpqDaLogDrvPerfEntry 2 }


cpqDaLogDrvPerfInstance OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Logical Drive Performance Monitor Instance Index.

This maps the performance monitor information for a specific
controller, logical drive and sample interval to controllers
which support performance data."
	::= { cpqDaLogDrvPerfEntry 3 }


cpqDaLogDrvPerfSampleInterval OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Logical Drive Performance Monitor Sample Interval.

This value indicates the length of the performance interval
for this controller and all logical volumes associated with
this controller.  This value is reported in seconds."
	::= { cpqDaLogDrvPerfEntry 4 }


cpqDaLogDrvPerfAvgQueueDepth OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Logical Drive Performance Monitor Average Queue Depth.

This value indicates the average command queue depth of the
logical volume."
	::= { cpqDaLogDrvPerfEntry 5 }


cpqDaLogDrvPerfReads OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Logical Drive Performance Monitor Reads.

This value is the count of read requests for the logical volume
expressed in reads per second."
	::= { cpqDaLogDrvPerfEntry 6 }


cpqDaLogDrvPerfWrites OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Logical Drive Performance Monitor Writes.

This value is the count of write requests for the logical volume
expressed in writes per second."
	::= { cpqDaLogDrvPerfEntry 7 }


cpqDaLogDrvPerfTotalIO OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Logical Drive Performance Monitor Total I/O.

This value shows the total number of read and write requests
for the logical volume expressed in reads and writes per second."
	::= { cpqDaLogDrvPerfEntry 8 }


cpqDaLogDrvPerfCacheHits OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Logical Drive Performance Monitor Cache Hits.

This value shows the total number of read cache hits for the
logical volume.  This value is expressed in cache hits per
second."
	::= { cpqDaLogDrvPerfEntry 9 }


cpqDaLogDrvPerfCacheMisses OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Logical Drive Performance Monitor Cache Misses.

This value shows the total number of read cache misses for the
logical volume.  This value is expressed in cache misses per
second."
	::= { cpqDaLogDrvPerfEntry 10 }


cpqDaLogDrvPerfReadAheadSectors OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Logical Drive Performance Monitor Read Ahead Sectors.

This value shows the total number read ahead sectors pre-fetched
for the logical volume for this interval.  This value is expressed
in sectors per second."
	::= { cpqDaLogDrvPerfEntry 11 }


cpqDaLogDrvPerfSectorsRead OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Logical Drive Performance Monitor Sectors Read.

This value shows the number of sectors read for the logical
volume for this interval.  This value is expressed in sectors
per second."
	::= { cpqDaLogDrvPerfEntry 12 }


cpqDaLogDrvPerfSectorsWritten OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Array Logical Drive Performance Monitor Sectors Written.

This value shows the number of sectors written for the logical
volume for this interval.  This value is expressed in sectors
per second."
	::= { cpqDaLogDrvPerfEntry 13 }


cpqDaTapeDrvTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaTapeDrvEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Table.

A table of tape drive entries."
	::= { cpqDaTapeDrv 1 }


cpqDaTapeDrvEntry OBJECT-TYPE
	SYNTAX CpqDaTapeDrvEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Entry.

A tape drive entry."
	INDEX { cpqDaTapeDrvCntlrIndex , cpqDaTapeDrvBusIndex, cpqDaTapeDrvScsiIdIndex, cpqDaTapeDrvLunIndex }

	::= { cpqDaTapeDrvTable 1 }

cpqDaTapeDrvEntry ::=
	SEQUENCE {
		cpqDaTapeDrvCntlrIndex INTEGER,
		cpqDaTapeDrvBusIndex INTEGER,
		cpqDaTapeDrvScsiIdIndex INTEGER,
		cpqDaTapeDrvLunIndex INTEGER,
		cpqDaTapeDrvName DisplayString,
		cpqDaTapeDrvSerialNumber DisplayString,
		cpqDaTapeDrvFwRev DisplayString,
		cpqDaTapeDrvStatus INTEGER,
		cpqDaTapeDrvCondition INTEGER,
		cpqDaTapeDrvFwSubtype INTEGER,
		cpqDaTapeDrvType INTEGER,
		cpqDaTapeDrvCleanReq INTEGER,
		cpqDaTapeDrvCleanTapeRepl INTEGER,
		cpqDaTapeDrvCleanTapeCount INTEGER,
		cpqDaTapeDrvLibraryDrive INTEGER,
		cpqDaTapeDrvMagSize INTEGER,
		cpqDaTapeDrvHotPlug INTEGER,
		cpqDaTapeDrvPlacement INTEGER,
		cpqDaTapeDrvCurrentWidth INTEGER,
		cpqDaTapeDrvCurrentSpeed INTEGER,
		cpqDaTapeDrvProtocol INTEGER,
		cpqDaTapeDrvNegotiatedLinkRate INTEGER
		}

cpqDaTapeDrvCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Controller Index.

This index maps the tape drive back to the controller to which
it is attached. The value of this index is the same as the one
used under the controller group."
	::= { cpqDaTapeDrvEntry 1 }


cpqDaTapeDrvBusIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive SCSI Bus Index.

This is the controller SCSI bus to which the tape drive is
attached."
	::= { cpqDaTapeDrvEntry 2 }


cpqDaTapeDrvScsiIdIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive SCSI Index.

This is the SCSI Target Id of the tape drive."
	::= { cpqDaTapeDrvEntry 3 }


cpqDaTapeDrvLunIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Logical Unit Number Index.

This is the logical unit number of the tape drive."
	::= { cpqDaTapeDrvEntry 4 }


cpqDaTapeDrvName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..128))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Model Name.

This is the model name of the tape drive.  It can be used for
identification purposes."
	::= { cpqDaTapeDrvEntry 5 }


cpqDaTapeDrvSerialNumber OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..64))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Serial Number.

This is the unit serial number for the tape drive.  It can be
used for identification purposes."
	::= { cpqDaTapeDrvEntry 6 }


cpqDaTapeDrvFwRev OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..8))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Firmware Revision.

This is firmware revision level of the tape drive.  It can be
used for identification purposes."
	::= { cpqDaTapeDrvEntry 7 }


cpqDaTapeDrvStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	degraded(3),
	failed(4),
	offline(5),
	missingWasOk(6),
	missingWasOffline(7)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Status.

The tape drive can be in one of the following states:

other(1)
The tape drive is in a state other than one of those listed
below.

ok(2)
Indicates that the tape drive is in normal operation mode.
No user action is necessary.

degraded(3)
Indicates that the tape drive has degraded in some manner.

failed(4)
Indicates that the tape drive has failed and can no longer
return data.  The tape drive may need to be replaced.

offline(5)
Indicates that the Agents can no longer communicate with the
tape drive.  This could be caused by a cabling problem or the
tape drive may be powered off.

missingWasOk(6)
Indicates that a tape drive had a status of OK and is no
longer present.  The drive has been removed.

missingWasOffline(7)
Indicates that a tape drive had a status of OFFLINE and is no
longer present.  The drive has been removed."
	::= { cpqDaTapeDrvEntry 8 }


cpqDaTapeDrvCondition OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Condition.

This value represents the overall condition of the tape drive."
	::= { cpqDaTapeDrvEntry 9 }


cpqDaTapeDrvFwSubtype OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Firmware Subtype.

This is used to differentiate the firmware versions
which have the same tape drive type (as specified by
cpqDaTapeDrvType).  Tape drives will contain a value
of 1 for this variable when they first ship, and this value
will be incremented if future versions are shipped which
are not firmware compatible with the predecessor.  If the
tape drive does not support this capability, a value of 0
will be returned."
	::= { cpqDaTapeDrvEntry 10 }


cpqDaTapeDrvType OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	cpqDat4-16(2),
	cpqDatAuto(3),
	cpqDat2-8(4),
	cpqDlt10-20(5),
	cpqDlt20-40(6),
	cpqDlt15-30(7),
	cpqDlt35-70(8),
	cpqDat4-8(9),
	cpqSlr4-8(10),
	cpqDat12-24(11),
	cpqDatAuto12-24(12),
	cpqAit35(14),
	cpqAit50(15),
	cpqDat20-40(16),
	cpqDlt40-80(17),
	cpqDatAuto20-40(18)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Type.

This is the drives model, and can be used for identification
purposes.  The following values are defined:

other(1)
The management agent does not recognize this model.
You may need to upgrade your software.

cpqDat4-16(2)
Compaq 4/8-Gigabyte TurboDAT Drive.

cpqDatAuto(3)
Compaq TurboDAT Autoloader.

cpqDat2-8(4)
Compaq 2/8-Gigabyte TurboDAT Drive.

cpqDlt10-20(5)
Compaq 10/20-GB DLT Drive.

cpqDlt20-40(6)
Compaq 20/40-GB DLT Drive.

cpqDlt15-30(7)
Compaq 15/30-GB DLT Drive.

cpqDlt35-70(8)
Compaq 35/70-GB DLT Drive.

cpqDat4-8(9)
Compaq 4/8-GB DAT Drive.

cpqSlr4-8(10)
Compaq 4/8-GB SLR Drive.

cpqDat12-24(11)
Compaq 12/24-GB DAT Drive.

cpqDatAuto12-24(12)
Compaq 12/24-GB DAT Autoloader.

cpqAit35(14)
Compaq AIT 35GB Drive.

cpqAit50(15)
Compaq AIT 50GB Drive.

cpqDat20-40(16)
Compaq 20/40GB DAT Drive.

cpqDlt40-80(17)
Compaq 40/80GB DLT Drive.

cpqDatAuto20-40(18)
Compaq 20/40GB DAT Autoloader."
	::= { cpqDaTapeDrvEntry 11 }


cpqDaTapeDrvCleanReq OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	true(2),
	false(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Cleaning Required.

This is an indication of whether the tape drive heads
require a cleaning session to occur.  If this variable
indicates a need to clean the tape heads, then a cleaning
tape will need to be inserted and run through a cleaning
cycle.

This variable can be in one of the following states:

other(1)
The tape drive does not support monitoring of the cleaning
required status.

true(2)
The tape drive requires a cleaning tape session in order
to clean the heads.

false(3)
The tape drive does not require any cleaning tape session."
	::= { cpqDaTapeDrvEntry 12 }


cpqDaTapeDrvCleanTapeRepl OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	true(2),
	false(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Cleaning Tape Replacement.

This variable is only applicable to autoloader tape drives.
This variable indicates whether the cleaning tape which is
inserted in an autoloader needs to be replaced because its
cleaning capability is exhausted (it is at end of tape).

This variable can be in one of the following states:

other(1)
The tape drive does not support monitoring of the cleaning
tape replacement status.

true(2)
The autoloader tape drive requires a new cleaning tape to
be inserted.

false(3)
The tape drive does not require a new cleaning tape."
	::= { cpqDaTapeDrvEntry 13 }


cpqDaTapeDrvCleanTapeCount OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Cleaning Tape Count.

This variable is a count from a tape drive of the number of
cleanings done by the tape cleaner last in the drive."
	::= { cpqDaTapeDrvEntry 14 }


cpqDaTapeDrvLibraryDrive OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	true(2),
	false(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Library Drive.

This variable indicates whether or not the tape drive is part
of a tape library.  It can be in one of the following states:

other(1)
Indicates that the instrument agent cannot determine if the
tape drive is part of a tape library.

true(2)
The tape drive is part of a tape library.

false(3)
The tape drive is not part of a tape library."
	::= { cpqDaTapeDrvEntry 15 }


cpqDaTapeDrvMagSize OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Tape Physical Drive Magazine Size.

This variable indicates the number of tape slots available in
the tape autoloader magazine cartridge that is currently loaded
into the tape drive.

For non-autoloader devices, this value will be -1."
	::= { cpqDaTapeDrvEntry 16 }


cpqDaTapeDrvHotPlug OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	hotPlug(2),
	nonHotPlug(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Hot Plug Support Status.

The following values are defined:

other(1)
The agent is unable to determine if this drive
supports hot plug replacement.

hotPlug(2)
The drive supports hot plug replacement.

nonhotPlug(3)
The drive does not support hot plug replacement."
	::= { cpqDaTapeDrvEntry 17 }


cpqDaTapeDrvPlacement OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	internal(2),
	external(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Placement.

The following values are defined:

other(1)
The agent is unable to determine if the tape drive is
internal or external to the system chassis.

internal(2)
The tape drive is located in an internal Proliant system
chassis.

external(3)
The tape drive is located in an external Proliant storage
system."
	::= { cpqDaTapeDrvEntry 18 }


cpqDaTapeDrvCurrentWidth OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	narrow(2),
	wide16(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Current Width.

The following values are defined:

other(1)
The agent is unable to determine the current negotiated data
transfer width for this drive.

narrow(2)
The negotiated data transfer width for this drive is narrow
(8 data bits).

wide16(3)
The negotiated data transfer width for this drive is wide
(16 data bits)."
	::= { cpqDaTapeDrvEntry 19 }


cpqDaTapeDrvCurrentSpeed OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	asynchronous(2),
	fast(3),
	ultra(4),
	ultra2(5),
	ultra3(6)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Current Data Transfer Speed.

The following values are defined:

other(1)
The agent is unable to determine the current negotiated data
transfer speed for this drive.

asynchronous(2)
The negotiated data transfer speed for this drive is
asynchronous.

fast(3)
The negotiated data transfer speed for this drive is 10 million
transfers per second).

ultra(4)
The negotiated data transfer speed for this drive is 20 million
transfers per second.

ultra2(5)
The negotiated data transfer speed for this drive is 40 million
transfers per second.

ultra3(6)
The negotiated data transfer speed for this drive is 80 million
transfers per second."
	::= { cpqDaTapeDrvEntry 20 }


cpqDaTapeDrvProtocol OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	parallelScsi(2),
	sata(3),
	sas(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Protocol.

The following values are defined:

other(1)
The agent is unable to determine the protocol for this drive.

parallelScsi(2)
The drive protocol is parallel SCSI.

sata(3)
The drive protocol is Serial ATA.

sas(4)
The drive protocol is Serial Attached SCSI."
	::= { cpqDaTapeDrvEntry 21 }


cpqDaTapeDrvNegotiatedLinkRate OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	rate-1-5(2),
	rate-3-0(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Drive Negotiated Link Rate.

The following values are defined:

other(1)
The agent is unable to determine the negotiated link rate
this drive.

rate-1-5(2)
The negotiated link rate for this drive is 1.5 Gigabits per
second.

rate-3-0(3)
The negotiated link rate for this drive is 3.0 Gigabits per
second."
	::= { cpqDaTapeDrvEntry 22 }


cpqDaTapeCountersTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaTapeCountersEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Counters Table."
	::= { cpqDaTapeCounters 1 }


cpqDaTapeCountersEntry OBJECT-TYPE
	SYNTAX CpqDaTapeCountersEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Counters Entry."
	INDEX { cpqDaTapeCountersCntlrIndex , cpqDaTapeCountersBusIndex, cpqDaTapeCountersScsiIdIndex, cpqDaTapeCountersLunIndex }

	::= { cpqDaTapeCountersTable 1 }

cpqDaTapeCountersEntry ::=
	SEQUENCE {
		cpqDaTapeCountersCntlrIndex INTEGER,
		cpqDaTapeCountersBusIndex INTEGER,
		cpqDaTapeCountersScsiIdIndex INTEGER,
		cpqDaTapeCountersLunIndex INTEGER,
		cpqDaTapeCountersReWrites Counter,
		cpqDaTapeCountersReReads Counter,
		cpqDaTapeCountersTotalErrors Counter,
		cpqDaTapeCountersTotalUncorrectable Counter,
		cpqDaTapeCountersTotalBytes Counter
		}

cpqDaTapeCountersCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Counters Controller Index.

This index maps the tape drive back to the controller to which
it is attached. The value of this index is the same as the one
used under the controller group."
	::= { cpqDaTapeCountersEntry 1 }


cpqDaTapeCountersBusIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Counters Scsi Bus Index.

This is the controller SCSI bus to which the tape drive is
attached."
	::= { cpqDaTapeCountersEntry 2 }


cpqDaTapeCountersScsiIdIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Counters SCSI Index.

This is the SCSI Target Id of the tape drive."
	::= { cpqDaTapeCountersEntry 3 }


cpqDaTapeCountersLunIndex OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Counters Logical Unit Number Index.

This is the logical unit number of the tape drive."
	::= { cpqDaTapeCountersEntry 4 }


cpqDaTapeCountersReWrites OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Tape Device Re-write count.

This is the number of times blocks had to be re-written to the
device.  This value is maintained since the Tape Hardware Interface
driver was loaded.

Re-write errors may occasionally occur.  If this value should rise
dramatically, you may need to clean the device.  If you continue
to have re-writes, you may have a problem.  Some common causes
include radio frequency interference (RFI) on the bus cables,
bad or missing terminating resisters on the drives or having more
than one device with the same SCSI ID.  Insure the bus cable is
free of obstructions and that the devices on the bus are properly
configured."
	::= { cpqDaTapeCountersEntry 5 }


cpqDaTapeCountersReReads OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Tape Device Re-read count.

This is the number of times blocks had to be re-read from the
device.  This value is maintained since the Tape Hardware Interface
driver was loaded.

Re-read errors may occasionally occur.  If this value should rise
dramatically, you may need to clean the device.  If you continue
to have re-reads, you may have a problem.  Some common causes
include radio frequency interference (RFI) on the bus cables,
bad or missing terminating resisters on the drives or having more
than one device with the same SCSI ID.  Insure the bus cable is
free of obstructions and that the devices on the bus are properly
configured."
	::= { cpqDaTapeCountersEntry 6 }


cpqDaTapeCountersTotalErrors OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Tape Device Total Errors.

This is the total number of read/write errors encountered.
This value is maintained since the Tape Hardware Interface
driver was loaded.

Errors may occasionally occur.  If this value should rise
dramatically, you may need to clean the device.  If you continue
to have errors, you may have a problem.  Some common causes include
radio frequency interference (RFI) on the bus cables, bad or
missing terminating resisters on the drives or having more than
one device with the same SCSI ID.  Insure the bus cable is free
of obstructions and that the devices on the bus are properly
configured."
	::= { cpqDaTapeCountersEntry 7 }


cpqDaTapeCountersTotalUncorrectable OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Tape Device Total Uncorrectable Errors.

This is the total number of read and write errors which could not
be corrected.  This value is maintained since the Tape Hardware
Interface driver was loaded.

Errors may occasionally occur.  If this value should rise
dramatically, you may need to clean the device.  If you continue
to have errors, you may have a problem.  Some common causes include
radio frequency interference (RFI) on the bus cables, bad or
missing terminating resisters on the drives or having more than
one device with the same SCSI ID.  Insure the bus cable is free
of obstructions and that the devices on the bus are properly
configured."
	::= { cpqDaTapeCountersEntry 8 }


cpqDaTapeCountersTotalBytes OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Tape Device Total Bytes.

This is the number total number of bytes read/written to the tape
currently installed in the device.  This value is reset whenever
a new tape is inserted into the device."
	::= { cpqDaTapeCountersEntry 9 }


cpqDaTapeLibraryTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaTapeLibraryEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Table."
	::= { cpqDaTapeLibrary 1 }


cpqDaTapeLibraryEntry OBJECT-TYPE
	SYNTAX CpqDaTapeLibraryEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Entry."
	INDEX { cpqDaTapeLibraryCntlrIndex , cpqDaTapeLibraryScsiBus, cpqDaTapeLibraryScsiTarget, cpqDaTapeLibraryScsiLun }

	::= { cpqDaTapeLibraryTable 1 }

cpqDaTapeLibraryEntry ::=
	SEQUENCE {
		cpqDaTapeLibraryCntlrIndex INTEGER,
		cpqDaTapeLibraryScsiBus INTEGER,
		cpqDaTapeLibraryScsiTarget INTEGER,
		cpqDaTapeLibraryScsiLun INTEGER,
		cpqDaTapeLibrarySerialNumber DisplayString,
		cpqDaTapeLibraryModel DisplayString,
		cpqDaTapeLibraryFWRev DisplayString,
		cpqDaTapeLibraryStatus INTEGER,
		cpqDaTapeLibraryDoorStatus INTEGER,
		cpqDaTapeLibraryCondition INTEGER,
		cpqDaTapeLibraryOverallCondition INTEGER,
		cpqDaTapeLibraryLastError INTEGER,
		cpqDaTapeLibraryStatHours Counter,
		cpqDaTapeLibraryStatMoves Counter,
		cpqDaTapeLibraryDriveList OCTET STRING,
		cpqDaTapeLibraryCurrentWidth INTEGER,
		cpqDaTapeLibraryCurrentSpeed INTEGER,
		cpqDaTapeLibraryDriveList2 OCTET STRING,
		cpqDaTapeLibraryProtocol INTEGER,
		cpqDaTapeLibraryNegotiatedLinkRate INTEGER
		}

cpqDaTapeLibraryCntlrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Controller Index.

This index maps the tape library back to the controller to which
it is attached. The value of this index is the same as the one
used under the controller group."
	::= { cpqDaTapeLibraryEntry 1 }


cpqDaTapeLibraryScsiBus OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Scsi Bus.

The bus index indicates to which SCSI bus instance on a
controller this table entry belongs.  The instances start
at one and increment for each SCSI bus on a controller."
	::= { cpqDaTapeLibraryEntry 2 }


cpqDaTapeLibraryScsiTarget OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Scsi Target.

The target index indicates to which SCSI ID on a controller
SCSI bus this table entry belongs."
	::= { cpqDaTapeLibraryEntry 3 }


cpqDaTapeLibraryScsiLun OBJECT-TYPE
	SYNTAX INTEGER (0..255)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Scsi Lun.

The Lun index indicates to which logical unit on a SCSI ID on a
controller SCSI bus this table entry belongs."
	::= { cpqDaTapeLibraryEntry 4 }


cpqDaTapeLibrarySerialNumber OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..64))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Serial Number.

This is the unit serial number for the tape library.  It can be
used for identification purposes."
	::= { cpqDaTapeLibraryEntry 5 }


cpqDaTapeLibraryModel OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..128))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Model.

This is the model name of the tape library.  It can be used for
identification purposes."
	::= { cpqDaTapeLibraryEntry 6 }


cpqDaTapeLibraryFWRev OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..8))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Serial Number.

This is firmware revision level of the tape library.  It can be
used for identification purposes."
	::= { cpqDaTapeLibraryEntry 7 }


cpqDaTapeLibraryStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	ok(2),
	degraded(3),
	failed(4),
	offline(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Status.

The library can be in one of the following states:

other(1)
The library is in a state other than one of those listed
below.

ok(2)
Indicates that the library is in normal operation mode.
No user action is necessary.

degraded(3)
Indicates that the library has degraded in some manner.

failed(4)
Indicates that the library has failed and can no longer
return data.  The library may need to be replaced.

offline(5)
Indicates that the Insight Agents can no longer communicate with
the library.  This could be caused by a cabling problem or the
library may be powered off."
	::= { cpqDaTapeLibraryEntry 8 }


cpqDaTapeLibraryDoorStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	notSupported(2),
	closed(3),
	open(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Door Status.

The door can be in one of the following states:

other(1)
The door is in a state other than one of those listed
below.

notSupported(2)
The door status is not supported by the device.

closed(3)
The door is closed.

open(4)
The door is open."
	::= { cpqDaTapeLibraryEntry 9 }


cpqDaTapeLibraryCondition OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Condition.

This value represents the overall condition of the tape
library."
	::= { cpqDaTapeLibraryEntry 10 }


cpqDaTapeLibraryOverallCondition OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Overall Condition.

This value represents the overall condition of the tape library
and any associated tape drives."
	::= { cpqDaTapeLibraryEntry 11 }


cpqDaTapeLibraryLastError OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Drive Array Tape Library Last Error.

This is the last error returned by the tape library."
	::= { cpqDaTapeLibraryEntry 12 }


cpqDaTapeLibraryStatHours OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Stat Hours.

This is the number of hours of operation for the library."
	::= { cpqDaTapeLibraryEntry 13 }


cpqDaTapeLibraryStatMoves OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Stat Moves.

This is the number of tape moves for the library loader arm."
	::= { cpqDaTapeLibraryEntry 14 }


cpqDaTapeLibraryDriveList OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..60))
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Drive Array Tape Library Tape Drive List.

This is a data structure containing the list of tape drive ids
that are present in this library.  The format is:

field  octets  contents
=====  ======  ========
1      1     Tape controller slot index
2      2     Tape drive SCSI bus
3      3     Tape drive SCSI target
4      4     Tape drive SCSI logical unit number

These 4 octets are repeated for each drive in the library.  For n
tape drives in a library, the string is 4 * n octets long."
	::= { cpqDaTapeLibraryEntry 15 }


cpqDaTapeLibraryCurrentWidth OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	narrow(2),
	wide16(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Current Width.

The following values are defined:

other(1)
The agent is unable to determine the current negotiated data
transfer width for this library.

narrow(2)
The negotiated data transfer width for this library is narrow
(8 data bits).

wide16(3)
The negotiated data transfer width for this library is wide
(16 data bits)."
	::= { cpqDaTapeLibraryEntry 16 }


cpqDaTapeLibraryCurrentSpeed OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	asynchronous(2),
	fast(3),
	ultra(4),
	ultra2(5),
	ultra3(6)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Current Data Transfer Speed.

The following values are defined:

other(1)
The agent is unable to determine the current negotiated data
transfer speed for this library.

asynchronous(2)
The negotiated data transfer speed for this library is
asynchronous.

fast(3)
The negotiated data transfer speed for this library is 10
million transfers per second).

ultra(4)
The negotiated data transfer speed for this library is 20
million transfers per second.

ultra2(5)
The negotiated data transfer speed for this library is 40
million transfers per second.

ultra3(6)
The negotiated data transfer speed for this library is 80
million transfers per second."
	::= { cpqDaTapeLibraryEntry 17 }


cpqDaTapeLibraryDriveList2 OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Tape Drive List 2.

This is a data structure containing the list of tape drive ids
that are present in this library.  The format is:

field  octets  contents
=====  ======  ========
1     1-4    Tape controller index
2      5     Tape drive SCSI bus
3      6     Tape drive SCSI target
4      7     Tape drive SCSI logical unit number

These 7 octets are repeated for each drive in the library.  For n
tape drives in a library, the string is 7 * n octets long."
	::= { cpqDaTapeLibraryEntry 18 }


cpqDaTapeLibraryProtocol OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	parallelScsi(2),
	sata(3),
	sas(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Protocol.

The following values are defined:

other(1)
The agent is unable to determine the protocol for this library.

parallelScsi(2)
The library protocol is parallel SCSI.

sata(3)
The library protocol is Serial ATA.

sas(4)
The library protocol is Serial Attached SCSI."
	::= { cpqDaTapeLibraryEntry 19 }


cpqDaTapeLibraryNegotiatedLinkRate OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	rate-1-5(2),
	rate-3-0(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Drive Array Tape Library Negotiated Link Rate.

The following values are defined:

other(1)
The agent is unable to determine the negotiated link rate
for this library.

rate-1-5(2)
The negotiated link rate for this library is 1.5 Gigabits per
second.

rate-3-0(3)
The negotiated link rate for this library is 3.0 Gigabits per
second."
	::= { cpqDaTapeLibraryEntry 20 }


cpqDaTrapPkts OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The total number of trap packets issued by the drive array
enterprise since the instrument agent was loaded."
	::= { cpqDaTrap 1 }


cpqDaTrapLogMaxSize OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The maximum number of entries that will currently be kept in
the trap log.  If the maximum size has been reached and a new
trap occurs the oldest trap will be removed."
	::= { cpqDaTrap 2 }


cpqDaTrapLogTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpqDaTrapLogEntry
	ACCESS read-only
	STATUS optional
	DESCRIPTION "An ordered list of trap log entries (conceptually a queue).

The trap log entries will be kept in the order in which they
were generated with the most recent trap at index 1 and the
oldest trap entry at index trapLogMaxSize.  If the maximum
number size has been reached and a new trap occurs the oldest
trap will be removed when the new trap is added so the
trapMaxLogSize is not exceeded."
	::= { cpqDaTrap 3 }


cpqDaTrapLogEntry OBJECT-TYPE
	SYNTAX CpqDaTrapLogEntry
	ACCESS read-only
	STATUS optional
	DESCRIPTION "A description of a trap event."
	INDEX { cpqDaTrapLogIndex  }

	::= { cpqDaTrapLogTable 1 }

cpqDaTrapLogEntry ::=
	SEQUENCE {
		cpqDaTrapLogIndex INTEGER,
		cpqDaTrapType INTEGER,
		cpqDaTrapTime OCTET STRING
		}

cpqDaTrapLogIndex OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS optional
	DESCRIPTION "This value uniquely identifies this trapLogEntry at this time.

The most recent trap will have an index of 1 and the oldest
trap will have an index of trapLogMaxSize.  Because of the
queue-like nature of the trapLog this particular trap
event's index will change as new traps are issued."
	::= { cpqDaTrapLogEntry 1 }


cpqDaTrapType OBJECT-TYPE
	SYNTAX INTEGER {
	cpqDaLogDrvStatusChange(1),
	cpqDaSpareStatusChange(2),
	cpqDaPhyDrvStatusChange(3),
	cpqDaPhyDrvThreshExceededTrap(4),
	cpqDaAccelStatusChange(5),
	cpqDaAccelBadDataTrap(6),
	cpqDaAccelBatteryFailed(7),
	cpqDa2LogDrvStatusChange(3001),
	cpqDa2SpareStatusChange(3002),
	cpqDa2PhyDrvStatusChange(3003),
	cpqDa2PhyDrvThreshExceededTrap(3004),
	cpqDa2AccelStatusChange(3005),
	cpqDa2AccelBadDataTrap(3006),
	cpqDa2AccelBatteryFailed(3007)
	}
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The type of the trap event that this entry describes.

This number refers to an entry in a list of traps enumerating
the possible traps the Drive Array agent may issue."
	::= { cpqDaTrapLogEntry 2 }


cpqDaTrapTime OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(6))
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The time of the trap event that this entry describes.

The time is given in year (first octet), month, day of month,
hour, minute, second (last octet) order.  Each octet gives
the value in BCD."
	::= { cpqDaTrapLogEntry 3 }


cpqDaLogDrvStatusChange TRAP-TYPE
	 ENTERPRISE cpqDriveArray
      VARIABLES { cpqDaLogDrvStatus }
      --#SUMMARY "Status is now %d."
      --#ARGUMENTS {0}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#cpqDaLogDrvStatus: #"
      --#TYPE "Logical Drive Status Change (1)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 1
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, failed = CRITICAL, unconfigured = MINOR, recovering = INFORMATIONAL, readyForRebuild = INFORMATIONAL, rebuilding = INFORMATIONAL, wrongDrive = CRITICAL, badConnect = CRITICAL, overheating = CRITICAL, shutdown = CRITICAL, expanding = INFORMATIONAL, notAvailable = INFORMATIONAL, queuedForExpansion = INFORMATIONAL"
DESCRIPTION "Logical Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array logical drive.  The variable cpqDaLogDrvStatus indicates the current logical drive status."
      ::= 1


cpqDaSpareStatusChange TRAP-TYPE
	ENTERPRISE cpqDriveArray
      VARIABLES { cpqDaSpareStatus, cpqDaSpareBusNumber }
      --#SUMMARY "Status is now %d for a spare on bus %d."
      --#ARGUMENTS {0,1}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#Spare Status: # $V2V#Port: #"
      --#TYPE "Spare Drive Status Change (2)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 1
      --#SEVERITYMAP "other = CRITICAL, invalid = CRITICAL, failed = CRITICAL, inactive = INFORMATIONAL, building = INFORMATIONAL, active = MAJOR"
DESCRIPTION "Spare Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array spare drive.  The variable cpqDaSpareStatus indicates the current spare drive status.  The variable cpqDaSpareBusNumber indicates the SCSI bus number associated with this drive."
      ::= 2


cpqDaPhyDrvStatusChange TRAP-TYPE
	ENTERPRISE cpqDriveArray
      VARIABLES { cpqDaPhyDrvStatus, cpqDaPhyDrvBusNumber }
      --#SUMMARY "Status is now %d for a physical drive on bus %d."
      --#ARGUMENTS {0,1}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#Physical Drive Status: # $V2V#Port: #"
      --#TYPE "Physical Drive Status Change (3)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 1
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, failed = CRITICAL, predictiveFailure = CRITICAL"
DESCRIPTION "Physical Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array physical drive.  The variable cpaDaPhyDrvStatus indicates the current physical drive status. The variable cpqDaPhyDrvBusNumber indicates the SCSI bus number associated with this drive."      ::= 3



cpqDaPhyDrvThreshPassedTrap TRAP-TYPE
	ENTERPRISE cpqDriveArray
      VARIABLES { cpqDaPhyDrvThreshPassed, cpqDaPhyDrvBusNumber }
      --#SUMMARY "Factory threshold passed for a physical on bus %d."
      --#ARGUMENTS {1}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V2V#Port: #"
      --#TYPE "Physical Drive Threshold Passed (4)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Physical Drive Threshold Passed.  This trap signifies that the agent has detected a factory threshold associated with one of the physical drive objects on a drive array has been exceeded.  The variable cpqDaPhyDrvBusNumber indicates the SCSI bus number associated with the drive."
      ::= 4


cpqDaAccelStatusChange TRAP-TYPE
	ENTERPRISE cpqDriveArray
      VARIABLES { cpqDaAccelStatus }
      --#SUMMARY "Status is now %d."
      --#ARGUMENTS {0}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#Array Accelerator Status: #"
      --#TYPE "Accelerator Board Status Change (5)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 1
      --#SEVERITYMAP "other = CRITICAL, invalid = INFORMATIONAL, enabled = INFORMATIONAL, tmpDisabled = CRITICAL, permDisabled = CRITICAL"
DESCRIPTION "Accelerator Board Status Change.  This trap signifies that the agent has detected a change in the cpqDaAccelStatus of an array accelerator write cache.  The current status is represented by the variable cpqDaAccelStatus."
      ::= 5


cpqDaAccelBadDataTrap TRAP-TYPE
	ENTERPRISE cpqDriveArray
      VARIABLES { cpqDaAccelBadData }
      --#SUMMARY "Accelerator lost battery power.  Data Loss possible."
      --#ARGUMENTS {}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#Array Accelerator Bad Data: #"
      --#TYPE "Accelerator Board Bad Data (6)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Accelerator Board Bad Data.  This trap signifies that the agent has detected an array accelerator cache board that has lost battery power.  If data was being stored in the accelerator memory when the server lost power, that data has been lost."
      ::= 6


cpqDaAccelBatteryFailed TRAP-TYPE
	ENTERPRISE cpqDriveArray
      VARIABLES { cpqDaAccelBattery }
      --#SUMMARY "Battery failed.  Status (%d)."
      --#ARGUMENTS {0}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#cpqDaAccelBattery: #"
      --#TYPE "Accelerator Board Battery Failed (7)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Accelerator Board Battery Failed.  This trap signifies that the agent has detected a battery failure associated with the array accelerator cache board. The current battery status is indicated by the cpqDaAccelBattery variable."
      ::= 7


cpqDa2LogDrvStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { cpqDaLogDrvStatus }
      --#SUMMARY "Status is now %d."
      --#ARGUMENTS {0}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#Logical Drive Status: #"
      --#TYPE "Logical Drive Status Change (3001)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 1
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, failed = CRITICAL, unconfigured = MINOR, recovering = INFORMATIONAL, readyForRebuild = INFORMATIONAL, rebuilding = INFORMATIONAL, wrongDrive = CRITICAL, badConnect = CRITICAL, overheating = CRITICAL, shutdown = CRITICAL, expanding = INFORMATIONAL, notAvailable = INFORMATIONAL, queuedForExpansion = INFORMATIONAL"
DESCRIPTION "Logical Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array logical drive.  The variable cpqDaLogDrvStatus indicates the current logical drive status."
      ::= 3001


cpqDa2SpareStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { cpqDaSpareStatus, cpqDaSpareBusNumber }
      --#SUMMARY "Spare Status is now %d on bus %d."
      --#ARGUMENTS {0,1}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#cpqDaSpareStatus: # $V2V#cpqDaSpareBusNumber: #"
      --#TYPE "Spare Drive Status Change (3002)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 1
      --#SEVERITYMAP "other = CRITICAL, invalid = CRITICAL, failed = CRITICAL, inactive = INFORMATIONAL, building = INFORMATIONAL, active = MAJOR"
DESCRIPTION "Spare Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array spare drive.  The variable cpqDaSpareStatus indicates the current spare drive status. The variable cpqDaSpareBusNumber indicates the SCSI bus number associated with this drive."
      ::= 3002


cpqDa2PhyDrvStatusChange TRAP-TYPE
	 ENTERPRISE compaq
      VARIABLES { cpqDaPhyDrvStatus, cpqDaPhyDrvBusNumber }
      --#SUMMARY "Status is now %d for a physical drive on bus %d."
      --#ARGUMENTS {0,1}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#cpqDaPhyDrvStatus: # $V2V#cpqDaPhyDrvBusNumber: #"
      --#TYPE "Physical Drive Status Change (3003)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 1
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, failed = CRITICAL, predictiveFailure = CRITICAL"
DESCRIPTION "Physical Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array physical drive.  The variable cpaDaPhyDrvStatus indicates the current physical drive status. The variable cpqDaPhyDrvBusNumber indicates the SCSI bus number associated with this drive."
      ::= 3003


cpqDa2PhyDrvThreshPassedTrap TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { cpqDaPhyDrvThreshPassed, cpqDaPhyDrvBusNumber }
      --#SUMMARY "Factory threshold passed for a physical on bus %d."
      --#ARGUMENTS {1}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#cpqDaPhyDrvThreshPassed: # $V2V#cpqDaPhyDrvBusNumber: #"
      --#TYPE "Physical Drive Threshold Passed (3004)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Physical Drive Threshold Passed.  This trap signifies that the agent has detected a factory threshold associated with one of the physical drive objects on a drive array has been exceeded.  The variable cpqDaPhyDrvBusNumber indicates the SCSI bus number associated with the drive."
      ::= 3004


cpqDa2AccelStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { cpqDaAccelStatus }
      --#SUMMARY "Status is now %d."
      --#ARGUMENTS {0}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#cpqDaAccelStatus: #"
      --#TYPE "Accelerator Board Status Change (3005)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 1
      --#SEVERITYMAP "other = CRITICAL, invalid = INFORMATIONAL, enabled = INFORMATIONAL, tmpDisabled = CRITICAL, permDisabled = CRITICAL"
DESCRIPTION "Accelerator Board Status Change.  This trap signifies that the Insight Agent has detected a change in the cpqDaAccelStatus of array accelerator cache. The current status is represented by the variable cpqDaAccelStatus."
      ::= 3005


cpqDa2AccelBadDataTrap TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { cpqDaAccelBadData }
      --#SUMMARY "Accelerator lost battery power.  Data Loss possible."
      --#ARGUMENTS {}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#cpqDaAccelBadData: #"
      --#TYPE "Accelerator Board Bad Data (3006)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Accelerator Board Bad Data.  This trap signifies that the agent has detected an array accelerator cache board that has lost battery power.  If data was being stored in the accelerator memory when the server lost power, that data has been lost."
      ::= 3006


cpqDa2AccelBatteryFailed TRAP-TYPE
	 ENTERPRISE compaq
      VARIABLES { cpqDaAccelBattery }
      --#SUMMARY "Battery status is %d."
      --#ARGUMENTS {0}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V1V#Array Accelerator Battery Status: #"
      --#TYPE "Accelerator Board Battery Failed (3007)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Accelerator Board Battery Failed.  This trap signifies that the agent has detected a battery failure associated with the array accelerator cache board.  The current battery status is indicated by the cpqDaAccelBattery variable."
      ::= 3007


cpqDa3LogDrvStatusChange TRAP-TYPE
	 ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaLogDrvStatus }
      --#SUMMARY "Status is now %d."
      --#ARGUMENTS {2}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Logical Drive Status: #"
      --#TYPE "Logical Drive Status Change (3008)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 3
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, failed = CRITICAL, unconfigured = MINOR, recovering = INFORMATIONAL, readyForRebuild = INFORMATIONAL, rebuilding = INFORMATIONAL, wrongDrive = CRITICAL, badConnect = CRITICAL, overheating = CRITICAL, shutdown = CRITICAL, expanding = INFORMATIONAL, notAvailable = INFORMATIONAL, queuedForExpansion = INFORMATIONAL"
DESCRIPTION "Logical Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array logical drive.  The variable cpqDaLogDrvStatus indicates the current logical drive status."
      ::= 3008


cpqDa3SpareStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaSpareStatus, cpqDaSpareBusNumber }
      --#SUMMARY "Spare Status is now %d on bus %d."
      --#ARGUMENTS {2,3}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Spare Status: # $V4V#Port: #"
      --#TYPE "Spare Drive Status Change (3009)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 3
      --#SEVERITYMAP "other = CRITICAL, invalid = CRITICAL, failed = CRITICAL, inactive = INFORMATIONAL, building = INFORMATIONAL, active = MAJOR"
DESCRIPTION "Spare Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array spare drive.  The variable cpqDaSpareStatus indicates the current spare drive status.  The variable cpqDaSpareBusNumber indicates the SCSI bus number associated with this drive."
      ::= 3009


cpqDa3PhyDrvStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaPhyDrvStatus, cpqDaPhyDrvBusNumber }
      --#SUMMARY "Status is now %d for a physical drive on bus %d."
      --#ARGUMENTS {2,3}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Physical Drive Status: # $V4V#Port: #"
      --#TYPE "Physical Drive Status Change (3010)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 3
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, failed = CRITICAL, predictiveFailure = CRITICAL"
DESCRIPTION "Physical Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array physical drive.  The variable cpaDaPhyDrvStatus indicates the current physical drive status. The variable cpqDaPhyDrvBusNumber indicates the SCSI bus number associated with this drive."
      ::= 3010


cpqDa3PhyDrvThreshPassedTrap TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaPhyDrvThreshPassed, cpqDaPhyDrvBusNumber }
      --#SUMMARY "Factory threshold passed for a physical on bus %d."
      --#ARGUMENTS {2}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V4V#Port: #"
      --#TYPE "Physical Drive Threshold Passed (3011)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Physical Drive Threshold Passed.  This trap signifies that the agent has detected a factory threshold associated with one of the physical drive objects on a drive array has been exceeded.  The variable cpqDaPhyDrvBusNumber indicates the SCSI bus number associated with the drive."
      ::= 3011


cpqDa3AccelStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaAccelStatus }
      --#SUMMARY "Status is now %d."
      --#ARGUMENTS {2}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Array Accelerator Status: #"
      --#TYPE "Accelerator Board Status Change (3012)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 3
      --#SEVERITYMAP "other = CRITICAL, invalid = INFORMATIONAL, enabled = INFORMATIONAL, tmpDisabled = CRITICAL, permDisabled = CRITICAL"
DESCRIPTION "Accelerator Board Status Change.  This trap signifies that the agent has detected a change in the cpqDaAccelStatus of an array accelerator cache board.  The current status is represented by the variable cpqDaAccelStatus."
      ::= 3012


cpqDa3AccelBadDataTrap TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaAccelBadData }
      --#SUMMARY "Accelerator lost battery power.  Data Loss possible."
      --#ARGUMENTS {}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Array Accelerator Bad Data: #"
      --#TYPE "Accelerator Board Bad Data (3013)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Accelerator Board Bad Data.  This trap signifies that the agent has detected an array accelerator cache board that has lost battery power.  If data was being stored in the accelerator memory when the server lost power, that data has been lost."
      ::= 3013


cpqDa3AccelBatteryFailed TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaAccelBattery }
      --#SUMMARY "Battery status is %d."
      --#ARGUMENTS {2}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Array Accelerator Battery Status: #"
      --#TYPE "Accelerator Board Battery Failed (3014)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Accelerator Board Battery Failed.  This trap signifies that the agent has detected a battery failure associated with the array accelerator cache board.  The current battery status is indicated by the cpqDaAccelBattery variable."
      ::= 3014


cpqDaCntlrStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrSlot, cpqDaCntlrBoardStatus }
      --#SUMMARY "Status is now %d."
      --#ARGUMENTS {3}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Controller Slot Number: # $V4V#Controller Status: #"
      --#TYPE "Controller Status Change (3015)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 4
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, generalFailure = CRITICAL, cableProblem = CRITICAL, poweredOff = CRITICAL"
DESCRIPTION "Controller Status Change.  This trap signifies that the agent has detected a change in the status of a drive array controller.  The variable cpqDaCntlrBoardStatus indicates the current controller status.  User Action: If the board status is generalFailure(3), the you may need to replace the controller.  If the board status is cableProblem(4), check the cable connections between the controller and the storage system."
      ::= 3015


cpqDaCntlrActive TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrSlot, cpqDaCntlrPartnerSlot }
      --#SUMMARY "Controller in slot %d is now active."
      --#ARGUMENTS {2}
      --#SEVERITY INFORMATIONAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Active Controller Slot Number: # $V4V#Backup Controller Slot Number: #"
      --#TYPE "Duplex Controller Active (3016)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Controller Active.  This trap signifies that the agent has detected that a backup array controller in a duplexed pair has switched over to the active role.  The variable cpqDaCntlrSlot indicates the active controller slot and cpqDaCntlrPartnerSlot indicates the backup.  User Action: Check the partner controller for problems. If this was the result of a user initiated switch over, no action is required."
      ::= 3016


cpqDa4SpareStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaSpareStatus, cpqDaSpareCntlrIndex, cpqDaSpareBusNumber, cpqDaSpareBay }
      --#SUMMARY "Spare Status is now %d."
      --#ARGUMENTS {2}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Spare Status: # $V4V#Controller Slot Number: # $V5V#Port: # $V6V#Spare Drive Bay: #"
      --#TYPE "Spare Drive Status Change (3017)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 3
      --#SEVERITYMAP "other = CRITICAL, invalid = CRITICAL, failed = CRITICAL, inactive = INFORMATIONAL, building = INFORMATIONAL, active = MAJOR"
DESCRIPTION "Spare Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array spare drive.  The variable cpqDaSpareStatus indicates the current spare drive status.  User Action: If the spare drive status is failed, replace the drive."
      ::= 3017


cpqDa4PhyDrvStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaPhyDrvStatus, cpqDaPhyDrvCntlrIndex, cpqDaPhyDrvBusNumber, cpqDaPhyDrvBay }
      --#SUMMARY "Physical Drive Status is now %d."
      --#ARGUMENTS {2}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Physical Drive Status: # $V4V#Controller Slot Number: # $V5V#Port: # $V6V#Drive Bay: #"
      --#TYPE "Physical Drive Status Change (3018)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 3
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, failed = CRITICAL, predictiveFailure = CRITICAL"
DESCRIPTION "Physical Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array physical drive.  The variable cpaDaPhyDrvStatus indicates the current physical drive status.  User Action: If the physical drive failed or predicting failure, replace the drive."
      ::= 3018


cpqDa4PhyDrvThreshPassedTrap TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaPhyDrvCntlrIndex, cpqDaPhyDrvBusNumber, cpqDaPhyDrvBay }
      --#SUMMARY "Factory threshold passed for a physical drive."
      --#ARGUMENTS {}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Controller Slot Number: # $V4V#Port: # $V5V#Drive Bay: #"
      --#TYPE "Physical Drive Threshold Passed (3019)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Physical Drive Threshold Passed.  This trap signifies that the agent has detected a factory threshold associated with one of the physical drive objects on a drive array has been exceeded.  User Action: If the physical drive is predicting failure, replace the drive."
      ::= 3019


cpqDaTapeLibraryStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaTapeLibraryCntlrIndex, cpqDaTapeLibraryScsiBus, cpqDaTapeLibraryScsiTarget, cpqDaTapeLibraryScsiLun, cpqDaTapeLibraryStatus }
      --#SUMMARY "Status is now %d for the tape library."
      --#ARGUMENTS {6}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Controller Index: # $V4V#Port: # $V5V#SCSI ID: # $V6V#SCSI LUN: # $V7V#Library Status: #"
      --#TYPE "Tape Library Status Change (3020)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 7
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, degraded = CRITICAL, failed = CRITICAL, offline = CRITICAL"
DESCRIPTION "Tape Library Status Change.  This trap signifies that the agent has detected a change in the status of a tape library.  The variable cpqDaTapeLibraryStatus indicates the current tape library status.  The variable cpqDaTapeLibraryScsiTarget indicates the SCSI ID of the tape library.  User Action: If the tape library is failed, check the tape library front panel."
      ::= 3020

cpqDaTapeLibraryDoorStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaTapeLibraryCntlrIndex, cpqDaTapeLibraryScsiBus, cpqDaTapeLibraryScsiTarget, cpqDaTapeLibraryScsiLun, cpqDaTapeLibraryDoorStatus }
      --#SUMMARY "The door is %d for tape library."
      --#ARGUMENTS {6}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Controller Index: # $V4V#Port: # $V5V#SCSI ID: # $V6V#SCSI LUN: # $V7V#Door Status: #"
      --#TYPE "Tape Library Door Status Change (3021)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 7
      --#SEVERITYMAP "other = CRITICAL, notSupported = INFORMATIONAL, closed = INFORMATIONAL, open = CRITICAL"
DESCRIPTION "Tape Library Door Status Change.  This trap signifies that the agent has detected a change in the door status of a tape library.  The variable cpqDaTapeLibraryDoorStatus indicates the current tape library door status.  The variable cpqDaTapeLibraryScsiTarget indicates the the SCSI ID of the tape library.  User Action: If the tape library door is open, close the tape library door."
      ::= 3021

cpqDaTapeDriveStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaTapeDrvCntlrIndex, cpqDaTapeDrvBusIndex, cpqDaTapeDrvScsiIdIndex, cpqDaTapeDrvLunIndex, cpqDaTapeDrvStatus }
      --#SUMMARY "Status is now %d for a tape drive."
      --#ARGUMENTS {6}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Controller Index: # $V4V#Port: # $V5V#SCSI ID: # $V6V#SCSI LUN: # $V7V#Tape Drive Status: #"
      --#TYPE "Tape Drive Status Change (3022)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 7
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, degraded = CRITICAL, failed = CRITICAL, offline = CRITICAL, missingWasOk = CRITICAL, missingWasOffline = CRITICAL"
DESCRIPTION "Tape Drive Status Change.  This trap signifies that the agent has detected a change in the status of a tape drive.  The variable cpqDaTapeDrvStatus indicates the current tape status.  The variable cpqDaTapeDrvScsiIdIndex indicates the the SCSI ID of the tape drive.  User Action: If the tape is failed, check the tape and all SCSI connections."
      ::= 3022


cpqDaTapeDriveCleaningRequired TRAP-TYPE
	 ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaTapeDrvCntlrIndex, cpqDaTapeDrvBusIndex, cpqDaTapeDrvScsiIdIndex, cpqDaTapeDrvLunIndex }
      --#SUMMARY "Cleaning is needed for the tape drive."
      --#ARGUMENTS {}
      --#SEVERITY MAJOR
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Controller Index: # $V4V#Port: # $V5V#SCSI ID: # $V6V#SCSI LUN: #"
      --#TYPE "Tape Drive Cleaning Required (3023)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Tape Drive Cleaning Required trap.  The agent has detected a tape drive that needs to have a cleaning tape inserted and run.  This will cause the tape drive heads to be cleaned."
      ::= 3023


cpqDaTapeDriveCleanTapeReplace TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaTapeDrvCntlrIndex, cpqDaTapeDrvBusIndex, cpqDaTapeDrvScsiIdIndex, cpqDaTapeDrvLunIndex }
      --#SUMMARY "Cleaning tape needs replacing"
      --#ARGUMENTS {}
      --#SEVERITY MAJOR
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Controller Index: # $V4V#Port: # $V5V#SCSI ID: # $V6V#SCSI LUN: #"
      --#TYPE "Tape Drive Cleaning Tape Needs Replacing (3024)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Tape Drive Cleaning Tape Needs Replacing.  The agent has detected that an autoloader tape unit has a cleaning tape that has been fully used and therefore needs to be replaced with a new cleaning tape."
      ::= 3024


cpqDa5AccelStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrSlot, cpqDaCntlrModel, cpqDaAccelSerialNumber, cpqDaAccelTotalMemory, cpqDaAccelStatus, cpqDaAccelErrCode }
      --#SUMMARY "Status is now %d."
      --#ARGUMENTS {6}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Controller Slot Number: # $V4V#Array Controller Model: # $V5V#Accelerator Serial Number: # $V6V#Accelerator Total Memory (KB): # $V7V#Array Accelerator Status: # $V8V#Accelerator Error Code: #"
      --#TYPE "Accelerator Board Status Change (3025)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 7
      --#SEVERITYMAP "other = CRITICAL, invalid = INFORMATIONAL, enabled = INFORMATIONAL, tmpDisabled = CRITICAL, permDisabled = CRITICAL"
DESCRIPTION "Accelerator Board Status Change.  This trap signifies that the agent has detected a change in the status of an array accelerator cache board.  The current status is represented by the variable cpqDaAccelStatus.  User Action: If the accelerator board status is permDisabled(5), you may need to replace the accelerator board."
      ::= 3025


cpqDa5AccelBadDataTrap TRAP-TYPE
	 ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrSlot, cpqDaCntlrModel, cpqDaAccelSerialNumber, cpqDaAccelTotalMemory }
      --#SUMMARY "Accelerator lost battery power.  Data Loss possible."
      --#ARGUMENTS {}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Controller Slot Number: # $V4V#Array Controller Model: # $V5V#Accelerator Serial Number: # $V6V#Accelerator Total Memory (KB): #"
      --#TYPE "Accelerator Board Bad Data (3026)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Accelerator Board Bad Data.  This trap signifies that the agent has detected an array accelerator cache board that has lost battery power.  If data was being stored in the accelerator cache memory when the server lost power, that data has been lost.  User Action: Verify that no data has been lost."
      ::= 3026


cpqDa5AccelBatteryFailed TRAP-TYPE
	 ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrSlot, cpqDaCntlrModel, cpqDaAccelSerialNumber, cpqDaAccelTotalMemory }
      --#SUMMARY "Battery status is failed."
      --#ARGUMENTS {}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Controller Slot Number: # $V4V#Array Controller Model: # $V5V#Accelerator Serial Number: # $V6V#Accelerator Total Memory (KB): #"
      --#TYPE "Accelerator Board Battery Failed (3027)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Accelerator Board Battery Failed.  This trap signifies that the agent has detected a battery failure associated with the array accelerator cache board.  User Action: Replace the Accelerator Cache Board."
      ::= 3027


cpqDa5CntlrStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrSlot, cpqDaCntlrBoardStatus, cpqDaCntlrModel, cpqDaCntlrSerialNumber, cpqDaCntlrFWRev, cpqDaAccelTotalMemory }
      --#SUMMARY "Status is now %d."
      --#ARGUMENTS {3}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Controller Slot Number: # $V4V#Controller Status: # $V5V#Array Controller Model: # $V6V#Controller Serial Number: #"
      --#TYPE "Controller Status Change (3028)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 4
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, generalFailure = CRITICAL, cableProblem = CRITICAL, poweredOff = CRITICAL"
DESCRIPTION "Controller Status Change.  This trap signifies that the agent has detected a change in the status of a drive array controller.  The variable cpqDaCntlrBoardStatus indicates the current controller status.  User Action: If the board status is generalFailure(3), you may need to replace the controller.  If the board status is cableProblem(4), check the cable connections between the controller and the storage system."
      ::= 3028


cpqDa5PhyDrvStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaPhyDrvStatus, cpqDaPhyDrvCntlrIndex, cpqDaPhyDrvBusNumber, cpqDaPhyDrvBay, cpqDaPhyDrvModel, cpqDaPhyDrvFWRev, cpqDaPhyDrvSerialNum, cpqDaPhyDrvFailureCode }
      --#SUMMARY "Physical Drive Status is now %d."
      --#ARGUMENTS {2}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Physical Drive Status: # $V4V#Controller Slot Number: # $V5V#Port: # $V6V#Drive Bay: # $V7V#Drive Model: # $V8V#Drive Firmware Revision: # $V9V#Drive Serial Number: # $V10V#Drive Failure Code: #"
      --#TYPE "Physical Drive Status Change (3029)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 3
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, failed = CRITICAL, predictiveFailure = CRITICAL"
DESCRIPTION "Physical Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array physical drive.  The variable cpaDaPhyDrvStatus indicates the current physical drive status.  User Action: If the physical drive status is failed(3) or predictiveFailure(4), replace the drive."
      ::= 3029


cpqDa5PhyDrvThreshPassedTrap TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaPhyDrvCntlrIndex, cpqDaPhyDrvBusNumber, cpqDaPhyDrvBay, cpqDaPhyDrvModel, cpqDaPhyDrvFWRev, cpqDaPhyDrvSerialNum }
      --#SUMMARY "Factory threshold passed for a physical drive."
      --#ARGUMENTS {}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Controller Slot Number: # $V4V#Port: # $V5V#Drive Bay: # $V6V#Drive Model: # $V7V#Drive Firmware Revision: # $V8V#Drive Serial Number: #"
      --#TYPE "Physical Drive Threshold Passed (3030)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Physical Drive Threshold Passed.  This trap signifies that the agent has detected a factory threshold associated with one of the physical drive objects on a drive array has been exceeded.  User Action: Replace the physical drive."
      ::= 3030


cpqDa2TapeLibraryStatusChange TRAP-TYPE
	 ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaTapeLibraryCntlrIndex, cpqDaTapeLibraryScsiBus, cpqDaTapeLibraryScsiTarget, cpqDaTapeLibraryScsiLun, cpqDaTapeLibraryModel, cpqDaTapeLibraryFWRev, cpqDaTapeLibrarySerialNumber, cpqDaTapeLibraryStatus }
      --#SUMMARY "Status is now %d for the tape library."
      --#ARGUMENTS {9}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Bus: # $V4V#Port: # $V5V#Target: # $V6V#Lun: # $V7V#Model: # $V8V#FW Rev: # $V9V#Serial Number: # $V10V#Status: #"
      --#TYPE "Tape Library Status Change (3031)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 10
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, degraded = CRITICAL, failed = CRITICAL, offline = CRITICAL"
DESCRIPTION "Tape Library Status Change.  This trap signifies that the agent has detected a change in the status of a tape library.  The variable cpqDaTapeLibraryStatus indicates the current tape library status.  The variable cpqDaTapeLibraryScsiTarget indicates the SCSI ID of the tape library.  User Action: If the tape library is failed, check the tape library front panel."
      ::= 3031


cpqDa2TapeDriveStatusChange TRAP-TYPE
	 ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaTapeDrvCntlrIndex, cpqDaTapeDrvBusIndex, cpqDaTapeDrvScsiIdIndex, cpqDaTapeDrvLunIndex, cpqDaTapeDrvName, cpqDaTapeDrvFwRev, cpqDaTapeDrvSerialNumber, cpqDaTapeDrvStatus }
      --#SUMMARY "Status is now %d for a tape drive."
      --#ARGUMENTS {9}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V7V#Drive Name: # $V8V#FW Rev: # $V9V#Serial Number: # $V10V#Status: #"
      --#TYPE "Tape Drive Status Change (3032)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 10
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, degraded = CRITICAL, failed = CRITICAL, offline = CRITICAL, missingWasOk = CRITICAL, missingWasOffline = CRITICAL"
DESCRIPTION "Tape Drive Status Change.  This trap signifies that the agent has detected a change in the status of a tape drive.  The variable cpqDaTapeDrvStatus indicates the current tape status.  The variable cpqDaTapeDrvScsiIdIndex indicates the the SCSI ID of the tape drive.  User Action: If the tape is failed, check the tape and all SCSI connections."
      ::= 3032


cpqDa6CntlrStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaCntlrIndex, cpqDaCntlrBoardStatus, cpqDaCntlrModel, cpqDaCntlrSerialNumber, cpqDaCntlrFWRev, cpqDaAccelTotalMemory }
      --#SUMMARY "Status is now %d."
      --#ARGUMENTS {4}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # $V5V#Board Status: # $V6V#Model: # $V7V#Serial Number: # $V8V#FW Rev: # $V9V#Total Memory: #"
      --#TYPE "Controller Status Change (3033)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 2
DESCRIPTION "Controller Status Change.  This trap signifies that the agent has detected a change in the status of a drive array controller.  The variable cpqDaCntlrBoardStatus indicates the current controller status.  User Action: If the board status is generalFailure(3), you may need to replace the controller.  If the board status is cableProblem(4), check the cable connections between the controller and the storage system."
      ::= 3033


cpqDa6LogDrvStatusChange TRAP-TYPE
	 ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaLogDrvCntlrIndex, cpqDaLogDrvIndex, cpqDaLogDrvStatus }
      --#SUMMARY "Status is now %d."
      --#ARGUMENTS {5}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # $V6V#Board Status: #"
      --#TYPE "Logical Drive Status Change (3034)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 2
DESCRIPTION "Logical Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array logical drive.  The variable cpqDaLogDrvStatus indicates the current logical drive status."
      ::= 3034


cpqDa6SpareStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaSpareCntlrIndex, cpqDaSparePhyDrvIndex, cpqDaSpareStatus, cpqDaSpareBusNumber, cpqDaSpareBay }
      --#SUMMARY "Spare Status is now %d."
      --#ARGUMENTS {5}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # $V6V#Board Status: # $V7V#Bus Number: # $V8V#Spare Bay: #"
      --#TYPE "Spare Drive Status Change (3035)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 6
      --#SEVERITYMAP "other = CRITICAL, invalid = CRITICAL, failed = CRITICAL, inactive = INFORMATIONAL, building = INFORMATIONAL, active = MAJOR"
DESCRIPTION "Spare Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array spare drive.  The variable cpqDaSpareStatus indicates the current spare drive status.  User Action: If the spare drive status is failed, replace the drive."
      ::= 3035


cpqDa6PhyDrvStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaPhyDrvCntlrIndex, cpqDaPhyDrvIndex, cpqDaPhyDrvBusNumber, cpqDaPhyDrvBay, cpqDaPhyDrvModel, cpqDaPhyDrvFWRev, cpqDaPhyDrvSerialNum, cpqDaPhyDrvFailureCode, cpqDaPhyDrvStatus }
      --#SUMMARY "Physical Drive Status is now %d."
      --#ARGUMENTS {11}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # $V6V#Bus Number: # $V7V#Bay: # $V8V#Model: # $V9V#FW Rev: # $V10V#Serial Number: # $V11V#Failure Code: # $V12V#Status: #"
      --#TYPE "Physical Drive Status Change (3036)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 12
      --#SEVERITYMAP "other = CRITICAL, ok = INFORMATIONAL, failed = CRITICAL, predictiveFailure = CRITICAL"
DESCRIPTION "Physical Drive Status Change.  This trap signifies that the agent has detected a change in the status of a drive array physical drive.  The variable cpaDaPhyDrvStatus indicates the current physical drive status.  User Action: If the physical drive status is failed(3) or predictiveFailure(4), replace the drive."
      ::= 3036


cpqDa6PhyDrvThreshPassedTrap TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaPhyDrvCntlrIndex, cpqDaPhyDrvIndex, cpqDaPhyDrvBusNumber, cpqDaPhyDrvBay, cpqDaPhyDrvModel, cpqDaPhyDrvFWRev, cpqDaPhyDrvSerialNum }
      --#SUMMARY "Factory threshold passed for a physical drive."
      --#ARGUMENTS {}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # $V6V#Bus Number: # $V7V#Bay: # $V8V#Model: # $V9V#FW Rev: # $V10V#Serial Number: #"
      --#TYPE "Physical Drive Threshold Passed (3037)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Physical Drive Threshold Passed.  This trap signifies that the agent has detected a factory threshold associated with one of the physical drive objects on a drive array has been exceeded.  User Action: Replace the physical drive."
      ::= 3037


cpqDa6AccelStatusChange TRAP-TYPE
	 ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaCntlrModel, cpqDaAccelCntlrIndex, cpqDaAccelSerialNumber, cpqDaAccelTotalMemory, cpqDaAccelStatus, cpqDaAccelErrCode }
      --#SUMMARY "Status is now %d."
      --#ARGUMENTS {7}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # # $V4V#Model: # $V6V#Serial Number: # $V7V#Total Memory: # $V8V#Status: # $V9V#Error Code: #"
      --#TYPE "Accelerator Board Status Change (3038)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 2
DESCRIPTION "Accelerator Board Status Change.  This trap signifies that the agent has detected a change in the status of an array accelerator cache board.  The current status is represented by the variable cpqDaAccelStatus.  User Action: If the accelerator board status is permDisabled(5), you may need to replace the accelerator board."
      ::= 3038


cpqDa6AccelBadDataTrap TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaCntlrModel, cpqDaAccelCntlrIndex, cpqDaAccelSerialNumber, cpqDaAccelTotalMemory }
      --#SUMMARY "Accelerator lost battery power.  Data Loss possible."
      --#ARGUMENTS {}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # # $V4V#Model: # $V6V#Serial Number: # $V7V#Total Memory: #"
      --#TYPE "Accelerator Board Bad Data (3039)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Accelerator Board Bad Data.  This trap signifies that the agent has detected an array accelerator cache board that has lost battery power.  If data was being stored in the accelerator cache memory when the server lost power, that data has been lost.  User Action: Verify that no data has been lost."
      ::= 3039


cpqDa6AccelBatteryFailed TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaCntlrModel, cpqDaAccelCntlrIndex, cpqDaAccelSerialNumber, cpqDaAccelTotalMemory }
      --#SUMMARY "Battery status is failed."
      --#ARGUMENTS {}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # # $V4V#Model: # $V6V#Serial Number: # $V7V#Total Memory: #"
      --#TYPE "Accelerator Board Battery Failed (3040)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Accelerator Board Battery Failed.  This trap signifies that the agent has detected a battery failure associated with the array accelerator cache board.  User Action: Replace the Accelerator Cache Board."
      ::= 3040


cpqDa6TapeLibraryStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaTapeLibraryCntlrIndex, cpqDaTapeLibraryScsiBus, cpqDaTapeLibraryScsiTarget, cpqDaTapeLibraryScsiLun, cpqDaTapeLibraryModel, cpqDaTapeLibraryFWRev, cpqDaTapeLibrarySerialNumber, cpqDaTapeLibraryStatus }
      --#SUMMARY "Status is now %d for the tape library."
      --#ARGUMENTS {10}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # $V5V#Bus Number: # $V6V#Target: # $V7V#Lun: # $V8V#Model: # $V9V#FW Rev: # $V10V#Serial Number: # $V11V#Status: #"
      --#TYPE "Tape Library Status Change (3041)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 2
DESCRIPTION "Tape Library Status Change.  This trap signifies that the agent has detected a change in the status of a tape library.  The variable cpqDaTapeLibraryStatus indicates the current tape library status.  The variable cpqDaTapeLibraryScsiTarget indicates the SCSI ID of the tape library.  User Action: If the tape library is failed, check the tape library front panel."
      ::= 3041



cpqDa6TapeLibraryDoorStatusChange TRAP-TYPE
	 ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaTapeLibraryCntlrIndex, cpqDaTapeLibraryScsiBus, cpqDaTapeLibraryScsiTarget, cpqDaTapeLibraryScsiLun, cpqDaTapeLibraryModel, cpqDaTapeLibraryFWRev, cpqDaTapeLibrarySerialNumber, cpqDaTapeLibraryDoorStatus }
      --#SUMMARY "The door is %d for tape library."
      --#ARGUMENTS {10}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # $V5V#Bus Number: # $V6V#Target: # $V7V#Lun: # $V8V#Model: # $V9V#FW Rev: # $V10V#Serial Number: # $V11V#Status: #"
      --#TYPE "Tape Library Door Status Change (3042)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 2
DESCRIPTION "Tape Library Door Status Change.  This trap signifies that the agent has detected a change in the door status of a tape library.  The variable cpqDaTapeLibraryDoorStatus indicates the current tape library door status.  The variable cpqDaTapeLibraryScsiTarget indicates the the SCSI ID of the tape library.  User Action: If the tape library door is open, close the tape library door."
      ::= 3042


cpqDa6TapeDriveStatusChange TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaTapeDrvCntlrIndex, cpqDaTapeDrvBusIndex, cpqDaTapeDrvScsiIdIndex, cpqDaTapeDrvLunIndex, cpqDaTapeDrvName, cpqDaTapeDrvFwRev, cpqDaTapeDrvSerialNumber, cpqDaTapeDrvStatus }
      --#SUMMARY "Status is now %d for a tape drive."
      --#ARGUMENTS {10}
      --#SEVERITY CRITICAL
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # $V8V#Drive Name: # $V9V#FW Rev: # $V10V#Serial Number: # $V11V#Status: #"
      --#TYPE "Tape Drive Status Change (3043)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 2
DESCRIPTION "Tape Drive Status Change.  This trap signifies that the agent has detected a change in the status of a tape drive.  The variable cpqDaTapeDrvStatus indicates the current tape status.  The variable cpqDaTapeDrvScsiIdIndex indicates the the SCSI ID of the tape drive.  User Action: If the tape is failed, check the tape and all SCSI connections."
      ::= 3043


cpqDa6TapeDriveCleaningRequired TRAP-TYPE
	ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaTapeDrvCntlrIndex, cpqDaTapeDrvBusIndex, cpqDaTapeDrvScsiIdIndex, cpqDaTapeDrvLunIndex, cpqDaTapeDrvName, cpqDaTapeDrvFwRev, cpqDaTapeDrvSerialNumber }
      --#SUMMARY "Cleaning is needed for the tape drive."
      --#ARGUMENTS {}
      --#SEVERITY MAJOR
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # $V8V#Drive Name: # $V9V#FW Rev: # $V10V#Serial Number: #"
      --#TYPE "Tape Drive Cleaning Required (3044)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Tape Drive Cleaning Required trap.  The agent has detected a tape drive that needs to have a cleaning tape inserted and run.  This will cause the tape drive heads to be cleaned."
      ::= 3044


cpqDa6TapeDriveCleanTapeReplace TRAP-TYPE
	 ENTERPRISE compaq
      VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaTapeDrvCntlrIndex, cpqDaTapeDrvBusIndex, cpqDaTapeDrvScsiIdIndex, cpqDaTapeDrvLunIndex, cpqDaTapeDrvName, cpqDaTapeDrvFwRev, cpqDaTapeDrvSerialNumber }
      --#SUMMARY "Cleaning tape needs replacing"
      --#ARGUMENTS {}
      --#SEVERITY MAJOR
      --#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # $V8V#Drive Name: # $V9V#FW Rev: # $V10V#Serial Number: #"
      --#TYPE "Tape Drive Cleaning Tape Needs Replacing (3045)"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
DESCRIPTION "Tape Drive Cleaning Tape Needs Replacing.  The agent has detected that an autoloader tape unit has a cleaning tape that has been fully used and therefore needs to be replaced with a new cleaning tape."
      ::= 3045

cpqDa7PhyDrvStatusChange TRAP-TYPE
	ENTERPRISE compaq
	VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaPhyDrvCntlrIndex, cpqDaPhyDrvIndex, cpqDaPhyDrvLocationString, cpqDaPhyDrvType, cpqDaPhyDrvModel, cpqDaPhyDrvFWRev, cpqDaPhyDrvSerialNum, cpqDaPhyDrvFailureCode, cpqDaPhyDrvStatus, cpqDaPhyDrvBusNumber }
	--#TYPE "Physical Drive Status Change (3046)"
	--#SUMMARY "Physical Drive Status is now %d."
	--#ARGUMENTS {11}
	--#SEVERITY CRITICAL
	--#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # $V7V#ype: # $V8V#Model: # $V9V#FW Rev: # $V10V#Serial Number: # $V11V#Failure Code: # $V13V#Bus: #"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 2
DESCRIPTION "Physical Drive Status Change.

This trap signifies that the agent has detected a change in the
status of a drive array physical drive.  The variable
cpaDaPhyDrvStatus indicates the current physical drive status.

User Action: If the physical drive status is failed(3) or
predictiveFailure(4), replace the drive."
	::= 3046

cpqDa7SpareStatusChange TRAP-TYPE
	ENTERPRISE compaq
	VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaSpareCntlrIndex, cpqDaSparePhyDrvIndex, cpqDaSpareStatus, cpqDaSpareLocationString, cpqDaSpareBusNumber }
	--#TYPE "Spare Drive Status Change (3047)"
	--#SUMMARY "Spare Status is now %d."
	--#ARGUMENTS {5}
	--#SEVERITY CRITICAL
	--#TIMEINDEX 99
      --#MSG_FORMATTER "$V3V#Location: # $V7V#Spare Location: # $V8V#Bus: #"
      --#ENABLE true
      --#CATEGORY "Proliant Storage Events"
      --#VARBINDSEVERITY 2
DESCRIPTION "Spare Drive Status Change.

This trap signifies that the agent has detected a change in the
status of a drive array spare drive.  The variable
cpqDaSpareStatus indicates the current spare drive status.

User Action: If the spare drive status is failed, replace
the drive."
	::= 3047


cpqDaCntlrPartnerStatusChange TRAP-TYPE
	ENTERPRISE compaq
	VARIABLES { sysName, cpqHoTrapFlags, cpqDaCntlrHwLocation, cpqDaCntlrIndex, cpqDaCntlrModel, cpqDaCntlrSerialNumber, cpqDaCntlrPartnerSerialNumber, cpqDaCntlrPartnerBoardStatus }

	--#TYPE "Partner Controller Status Change (3048)"

	--#SUMMARY "Partner controller status is now %d."

	--#ARGUMENTS {7}

	--#SEVERITY CRITICAL

	--#TIMEINDEX 99

	--#VARBINDSEVERITY 2
DESCRIPTION "Partner Controller Status Change.

This trap signifies that the agent has detected a change in
the status of a drive array partner controller.  The variable
cpqDaCntlrPartnerBoardStatus indicates the current partner 
controller status. The variable cpqDaCntlrSerialNumber indicates
the controller’s serial number and cpqDaCntlrPartnerSerialNumber
indicates the partner controller’s serial number.

User Action: Check the partner controller for problems. If lost 
communication with the partner controller is the result of a user 
initiated action, no remedial action is required."
	::= 3048


END

