-- =============================================================== -- Copyright (C) 2002 Paradyne Corporation. -- Enterprise device control mib (mpe support) -- This MIB contains objects that is used to perform -- various operations on a device. PDN-MPE-DEVICE-CONTROL-MIB DEFINITIONS ::= BEGIN IMPORTS ResetStates FROM PDN-TC IpAddress, Integer32, Counter32, TimeTicks, NOTIFICATION-TYPE, OBJECT-IDENTITY, OBJECT-TYPE, MODULE-IDENTITY FROM SNMPv2-SMI OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF entPhysicalIndex FROM ENTITY-MIB pdn-mpe FROM PDN-HEADER-MIB RowStatus, DisplayString FROM SNMPv2-TC ; mpeDevControl MODULE-IDENTITY LAST-UPDATED "0204290000Z" ORGANIZATION "Paradyne Corporation MIB Working Group" CONTACT-INFO "Paradyne Corporation 8545 126th Avenue North Largo, FL 33733 www.paradyne.com General Comments to: mibwg_team@paradyne.com Editors Prakash Easwar Rajesh Raghaven Kathy Wilson Aamir Shaikh" DESCRIPTION "This MIB Module allows a user to reset a device in the DSLAM, as well as perform various operations related to the storage and retrieval of firmware and configuration files on devices." REVISION "0204290000Z" DESCRIPTION "Aamir Shaikh o Adding mpeDevControlExtendedSelfTest object" REVISION "0204090905Z" DESCRIPTION "Kathy Wilson o Add mpeDevFileXferFileFormat object" REVISION "0011211800Z" DESCRIPTION "Delete CCM objects and traps" REVISION "0010261400Z" DESCRIPTION "Combine the mpeCCMResync objects" REVISION "0010181830Z" DESCRIPTION "Addition of mpeCCMAutoBackupType object" REVISION "0010061800Z" DESCRIPTION "Initial conversion to SMIv2" ::= { pdn-mpe 10 } mpeDevControlMIBObjects OBJECT IDENTIFIER ::= { mpeDevControl 1 } mpeDevControlMIBTraps OBJECT IDENTIFIER ::= { mpeDevControl 2 } mpeDevControlMIBGroups OBJECT IDENTIFIER ::= { mpeDevControl 3 } mpeDevHwControl OBJECT IDENTIFIER ::= { mpeDevControlMIBObjects 1 } mpeDevFileXferConfig OBJECT IDENTIFIER ::= { mpeDevControlMIBObjects 2 } mpeDevFirmwareControl OBJECT IDENTIFIER ::= { mpeDevControlMIBObjects 3 } mpeDevTestControl OBJECT IDENTIFIER ::= { mpeDevControlMIBObjects 4 } mpeDevControlMIBTrapsV2 OBJECT-IDENTITY STATUS current DESCRIPTION "The traps for the device control MIB." ::= { mpeDevControlMIBTraps 0 } -- Device Reset Object -- Used to reset (warm boot) the device. mpeDevControlTable OBJECT-TYPE SYNTAX SEQUENCE OF DevControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table that contains generic information about Card Control." ::= { mpeDevHwControl 1 } mpeDevControlEntry OBJECT-TYPE SYNTAX DevControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of information for device Control." INDEX { entPhysicalIndex } ::= { mpeDevControlTable 1 } DevControlEntry ::= SEQUENCE { mpeDevControlReset ResetStates } mpeDevControlReset OBJECT-TYPE SYNTAX ResetStates MAX-ACCESS read-create STATUS current DESCRIPTION "Writing the value reset (2) to this object initiates a Hardware power-on reset of the device. Writing the value resetToFactoryDefaults (3) causes the device to re-configure itself with factory defaults. Writing the value (4) causes the device to re-configure itself with a previously loaded active configuration. The value read from this object is noOp(1)." ::= { mpeDevControlEntry 1 } -- -- Device reset and put it in extended selftest mode -- mpeDevControlSelfTestTable OBJECT-TYPE SYNTAX SEQUENCE OF DevControlSelfTestEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing information to control device specific Self-Test operations." ::= { mpeDevHwControl 2 } mpeDevControlSelfTestEntry OBJECT-TYPE SYNTAX DevControlSelfTestEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of objects for performing Self-Test operations." INDEX { entPhysicalIndex } ::= { mpeDevControlSelfTestTable 1 } DevControlSelfTestEntry ::= SEQUENCE { mpeDevControlExtendedSelfTest INTEGER } mpeDevControlExtendedSelfTest OBJECT-TYPE SYNTAX INTEGER { noOp(1), enableExtendSelfTestAndReset(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to start the extended Power-On Self-Test test. Writing the value enableExtendSelfTestAndReset(2) to this object resets the device and puts it into extended Power-On Self-Test mode. During device initialization, the extended Self-Test would be carried out first and then the device would carry out its normal boot operation. The value read from this object is noOp(1). Writing back the same value, noOp(1) will not start the test. Note that if extended Self-Test fails for some reason, after re-initialization, the value of this object will default to enableExtendSelfTestAndReset(2) again unless the manager explicitly chooses not to do so." ::= { mpeDevControlSelfTestEntry 1 } -- -- Perform Device specific tests -- mpeDevControlTestTable OBJECT-TYPE SYNTAX SEQUENCE OF MpeDevControlTestEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table that contains configuration information to perform device specific tests." ::= { mpeDevTestControl 3 } mpeDevControlTestEntry OBJECT-TYPE SYNTAX MpeDevControlTestEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of configuration information for device specific tests." INDEX { entPhysicalIndex } ::= { mpeDevControlTestTable 1 } MpeDevControlTestEntry ::= SEQUENCE { mpeDevControlTestType INTEGER, mpeDevControlTestStatus INTEGER, mpeDevControlTestCmd INTEGER } mpeDevControlTestType OBJECT-TYPE SYNTAX INTEGER { lampTest(1) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to specify the type of the test to start." ::= { mpeDevControlTestEntry 1 } mpeDevControlTestStatus OBJECT-TYPE SYNTAX INTEGER { active(1), inactive(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The test status on the device. This object indicates whether the indexed test is currently active(1) or inactive(2)." ::= { mpeDevControlTestEntry 2 } mpeDevControlTestCmd OBJECT-TYPE SYNTAX INTEGER { start (1), stop (2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Used to start or stop the indexed test. When read, the value returned will be the next logical command." ::= { mpeDevControlTestEntry 3 } -- ======================================================= -- -- The Paradyne File Transfer Group (J.Strain) -- ======================================================= mpeDevFileXferConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF MpeDevFileXferConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Paradyne FileXfer Client Config Table." ::= { mpeDevFileXferConfig 1 } mpeDevFileXferConfigEntry OBJECT-TYPE SYNTAX MpeDevFileXferConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION " Use of the File Tranfer MIB could be used with other MIBS in the following manner: a) Use another MIB/means to verify available space /make room for a file to be transfered to this device b) Use this MIB to download the file c) Use another MIB/means to select the file you want to make active if your selecting firmware for example. d) Use another MIB/means to reset the device. A management station wishing to initiate a file transfer needs to create an entry in this table. To do so, you must first identify the entPhysicalIndex of the device you intend to do the transfer with. You should then create the associated instance of the row status It must also, either in the same or in successive PDUs, create an instance of mpeDevFileXferFileName, mpeDevFileXferFileType, . mpeDevFileXferServerIpAddress, mpeDevFileXferOperation. It should also modify the default values for the other configuration objects if the defaults are not appropriate. Once the appropriate instance of all the configuration objects have been created, either by an explicit SNMP set request or by default, the row status should be set to active to initiate the request. Note that this entire procedure may be initiated via a single set request which specifies a row status of createAndGo as well as specifies valid values for the non-defaulted configuration objects. Once the MpeDevFileXferConfigEntry request has been created (i.e. the mpeDevFileXferRowStatus has been made active), the entry cannot be modified - the only operation possible after this is to delete the row. Once the request completes, the management station should retrieve the values of the status objects of interest, and should then delete the entry. In order to prevent old entries from clogging the table, entries could be aged out, but an entry will never be deleted within 5 minutes of completing. " INDEX { entPhysicalIndex } ::= { mpeDevFileXferConfigTable 1 } MpeDevFileXferConfigEntry ::= SEQUENCE { mpeDevFileXferFileName DisplayString, mpeDevFileXferCopyProtocol INTEGER, mpeDevFileXferFileType INTEGER, mpeDevFileXferServerIpAddress IpAddress, mpeDevFileXferUserName DisplayString, mpeDevFileXferUserPassword DisplayString, mpeDevFileXferOperation INTEGER, mpeDevFileXferPktsSent Counter32, mpeDevFileXferPktsRecv Counter32, mpeDevFileXferOctetsSent Counter32, mpeDevFileXferOctetsRecv Counter32, mpeDevFileXferOwnerString OCTET STRING, mpeDevFileXferStatus INTEGER, mpeDevFileXferErrorStatus Integer32, mpeDevFileXferSendEvent INTEGER, mpeDevFileXferRowStatus RowStatus, mpeDevFileXferXferTime TimeTicks, mpeDevFileXferFileFormat INTEGER } mpeDevFileXferFileName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the name of the filetransfer file." ::= { mpeDevFileXferConfigEntry 1 } mpeDevFileXferCopyProtocol OBJECT-TYPE SYNTAX INTEGER { tftp(1), ftp(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The transfer protocol that should be used to copy the file across the network. If the file transfer is to occur locally on the SNMP agent, the method of transfer is left upto the implementation, and is not restricted to the protocols below." -- DEFVAL { tftp } ::= { mpeDevFileXferConfigEntry 2 } mpeDevFileXferFileType OBJECT-TYPE SYNTAX INTEGER { firmware(1), config(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the type of file your want to transfer." ::= { mpeDevFileXferConfigEntry 3 } mpeDevFileXferServerIpAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the file transfer server's IP address. " ::= { mpeDevFileXferConfigEntry 4 } mpeDevFileXferUserName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the username if a username is needed to login to the server." ::= { mpeDevFileXferConfigEntry 5 } mpeDevFileXferUserPassword OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the password if a password is needed to login to the server. This object will return null on a read operation." ::= { mpeDevFileXferConfigEntry 6 } mpeDevFileXferOperation OBJECT-TYPE SYNTAX INTEGER { get(1), put(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the operation the file transfer wants to perform." ::= { mpeDevFileXferConfigEntry 7 } mpeDevFileXferPktsSent OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the the number of packets sent to the server at the time of interrogation." ::= { mpeDevFileXferConfigEntry 8 } mpeDevFileXferPktsRecv OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the the number of packets received from the server at the time of interrogation." ::= { mpeDevFileXferConfigEntry 9 } mpeDevFileXferOctetsSent OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the the number of octets sent to the server at the time of interrogation." ::= { mpeDevFileXferConfigEntry 10 } mpeDevFileXferOctetsRecv OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the the number of octets received from the server at the time of interrogation." ::= { mpeDevFileXferConfigEntry 11 } mpeDevFileXferOwnerString OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-create STATUS current DESCRIPTION "The entity which currently has the 'ownership' required to invoke the operation on this index." ::= { mpeDevFileXferConfigEntry 12 } mpeDevFileXferStatus OBJECT-TYPE SYNTAX INTEGER { none(1), success(2), failure(3), inprogress(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the status of the file transfer." ::= { mpeDevFileXferConfigEntry 13 } mpeDevFileXferErrorStatus OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the reason code of the failure determined in mpeDevFileXferStatus. The reason code are specific to the file transfer protocol. Please refer to the file transfer protocols respective RFC for clarification of the error code value meanings. TFTP Error Codes from rfc 1350 FTP Error Codes from rfc 959" ::= { mpeDevFileXferConfigEntry 14 } mpeDevFileXferSendEvent OBJECT-TYPE SYNTAX INTEGER { active(1), inactive(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates whether or not to send the mpeDevFileXferEvent event trap ." ::= { mpeDevFileXferConfigEntry 15 } mpeDevFileXferRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used to create a new row or delete an existing row in this table." ::= { mpeDevFileXferConfigEntry 16 } mpeDevFileXferXferTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the elapsed time (in hundredths of a second) of the file transfer." ::= { mpeDevFileXferConfigEntry 17 } mpeDevFileXferFileFormat OBJECT-TYPE SYNTAX INTEGER { ascii(1), binary(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object contains the file representation type. A file representation type of ascii implies an ASCII, non-print text file. A file representation type of binary implies an binary image file. The default file representation type is binary(2)." -- DEFVAL { binary } ::= { mpeDevFileXferConfigEntry 18 } -- ==================================================================== -- -- Firmware Control Table -- -- This table is used to control and provide information concerning -- firmware/executable images. -- -- ==================================================================== mpeDevFirmwareControlTable OBJECT-TYPE SYNTAX SEQUENCE OF DevFirmwareControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of the current Firmware Releases and their associated status. Each Firmware Release will be indexed by a number from 1 to N. The user will be able to view the Firmware Release String and Operational Status of the release (valid or invalid) and activate a valid Firmware Release by changing the Administration Status to active." ::= { mpeDevFirmwareControl 1 } mpeDevFirmwareControlEntry OBJECT-TYPE SYNTAX DevFirmwareControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Device Firmware Release entry." INDEX { entPhysicalIndex, mpeDevFirmwareControlIndex } ::= { mpeDevFirmwareControlTable 1 } DevFirmwareControlEntry ::= SEQUENCE { mpeDevFirmwareControlIndex Integer32, mpeDevFirmwareControlRelease DisplayString, mpeDevFirmwareControlOperStatus INTEGER, mpeDevFirmwareControlAdminStatus INTEGER } mpeDevFirmwareControlIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is used to index the Firmware table (range 1 to N)." ::= { mpeDevFirmwareControlEntry 1 } mpeDevFirmwareControlRelease OBJECT-TYPE SYNTAX DisplayString (SIZE (1..16)) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the Software Release for this Firmware. If the Software Firmware is Operational Status is invalid, the Software Revision Number will be blank." ::= { mpeDevFirmwareControlEntry 2 } mpeDevFirmwareControlOperStatus OBJECT-TYPE SYNTAX INTEGER { valid(1), invalid(2), unknown(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether or not the indexed Firmware entry contains a valid(1) or invalid(2) Firmware." ::= { mpeDevFirmwareControlEntry 3 } mpeDevFirmwareControlAdminStatus OBJECT-TYPE SYNTAX INTEGER { active(1), inactive(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates whether or not the indexed Firmware entry is active(1) or inactive(2). Writing active(1) will activate that software release and cause the unit to reset (response may timeout). Writing active(1) to a Firmware entry whose mpeDevFirmwareControlOperStatus is invalid will return BAD VALUE. Writing inactive(2) will always return BAD VALUE." ::= { mpeDevFirmwareControlEntry 4 } -- -- File Transfer Traps -- mpeDevFileXferEvent NOTIFICATION-TYPE OBJECTS { mpeDevFileXferStatus , mpeDevFileXferErrorStatus, mpeDevFileXferOperation, mpeDevFileXferFileType, mpeDevFileXferFileName } STATUS current DESCRIPTION "This trap is to communicate a couple of things about the completion of a file transfer. mpeDevFileXferStatus - Did it complete successfully or not. mpeDevFileXferErrorStatus - If not, what was the error code. mpeDevFileXferOperation - What operation was performed?. mpeDevFileXferFileType - Was it a firmware xfer or config? mpeDevFileXferFileName - The name of the file transfered. " ::= { mpeDevControlMIBTrapsV2 1 } mpeDevHwControlGroup OBJECT-GROUP OBJECTS { mpeDevControlReset, mpeDevControlExtendedSelfTest } STATUS current DESCRIPTION "Objects necessary to implement minimal hardware control" ::= { mpeDevControlMIBGroups 1 } mpeDevFileXferConfigGroup OBJECT-GROUP OBJECTS { mpeDevFileXferFileName, mpeDevFileXferCopyProtocol, mpeDevFileXferFileType, mpeDevFileXferServerIpAddress, mpeDevFileXferUserName, mpeDevFileXferUserPassword, mpeDevFileXferOperation, mpeDevFileXferPktsSent, mpeDevFileXferPktsRecv, mpeDevFileXferOctetsSent, mpeDevFileXferOctetsRecv, mpeDevFileXferOwnerString, mpeDevFileXferStatus, mpeDevFileXferErrorStatus, mpeDevFileXferSendEvent, mpeDevFileXferRowStatus, mpeDevFileXferXferTime, mpeDevFileXferFileFormat } STATUS current DESCRIPTION "Object group used to implement file transfer functionality" ::= { mpeDevControlMIBGroups 2 } mpeDevFirmwareControlGroup OBJECT-GROUP OBJECTS { mpeDevFirmwareControlIndex, mpeDevFirmwareControlRelease, mpeDevFirmwareControlOperStatus, mpeDevFirmwareControlAdminStatus } STATUS current DESCRIPTION "Object group used to manage firmware releases on devices" ::= { mpeDevControlMIBGroups 3 } mpeDevTestControlGroup OBJECT-GROUP OBJECTS { mpeDevControlTestType, mpeDevControlTestStatus, mpeDevControlTestCmd } STATUS current DESCRIPTION "Objects necessary to implement device specific tests" ::= { mpeDevControlMIBGroups 4 } mpeDevFileXferEventGroup NOTIFICATION-GROUP NOTIFICATIONS { mpeDevFileXferEvent } STATUS current DESCRIPTION "Notifications associated with mpeDevFileXferConfigGroup" ::= { mpeDevControlMIBGroups 5 } END