--************************************************************************** -- -- Copyright 2007 Broadcom Corporation -- All Rights Reserved -- No portions of this material may be reproduced in any form without the -- written permission of: -- Broadcom Corporation -- 16251 Laguna Canyon Road -- Irvine, California 92618 -- All information contained in this document is Broadcom Corporation -- company private, proprietary, and trade secret. -- -- -- --************************************************************************** -- Filename: brcm-v2-factory.mib -- Author: Kevin O'Neal -- Creation Date: 12-september-2002 -- --************************************************************************** -- Description: -- -- private MIB for V2 factory. Contains objects that are -- specific to V2 code structure rather than being more -- generic for any old device. -- --************************************************************************** -- Revision History: -- --************************************************************************** BRCM-V2-FACTORY-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, IpAddress FROM SNMPv2-SMI SnmpAdminString FROM SNMP-FRAMEWORK-MIB TruthValue, DisplayString, DateAndTime FROM SNMPv2-TC cableDataFactory FROM BRCM-CABLEDATA-FACTORY-MIB; v2Factory MODULE-IDENTITY LAST-UPDATED "200702050000Z" ORGANIZATION "Broadcom Corporation" CONTACT-INFO " BANANA-CABLEDATA (cableData branch of the Broadcom Assigned Numbers and Naming Authority) Broadcom Corporation Postal: 4385 River Green Parkway Duluth, GA 30096 USA Tel: +1 770 232-0018 E-mail: banana-cabledata@broadcom.com" DESCRIPTION "Broadcom proprietary MIB for factory management and configuration of objects common to the V2 software architecture." REVISION "200702050000Z" DESCRIPTION "Module description was updated. Compilability issues were cleaned up: - Chronological order of revision history was corrected. - Range restriction was added to objects v2NonVolIndex and v2FwIndex." REVISION "200404090000Z" DESCRIPTION "Added objects v2NonVolIsManufacturedPermanent, v2NonVolMfgHintPermanent, v2NonVolIsManufacturedDynamic, and v2NonVolMfgHintDynamic." REVISION "200307110000Z" DESCRIPTION "Eliminate 1024 byte size limit on v2NonVolRawData." REVISION "200304160000Z" DESCRIPTION "Added cmpLZMA to enumerated BITS list for v2BootloaderCompressionSupport and v2FwControl objects." REVISION "200209120000Z" DESCRIPTION "Initial version of this MIB module." ::= { cableDataFactory 4 } -- v2FactoryNonVol: objects to control V2 specific non-vol storage v2FactoryNonVol OBJECT IDENTIFIER ::= { v2Factory 1 } v2FactNonVolTable OBJECT-TYPE SYNTAX SEQUENCE OF V2FactNonVolEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of V2 style non-volatile storage groups for this device." ::= { v2FactoryNonVol 1 } v2FactNonVolEntry OBJECT-TYPE SYNTAX V2FactNonVolEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry defining a single V2 style non-volatile storage group." INDEX { v2NonVolIndex } ::= { v2FactNonVolTable 1 } V2FactNonVolEntry ::= SEQUENCE { v2NonVolIndex Integer32, v2NonVolName DisplayString, v2NonVolMagicNumber OCTET STRING, v2NonVolVersionPermanent DisplayString, v2NonVolVersionDynamic DisplayString, v2NonVolIsDefaultPermanent TruthValue, v2NonVolIsDefaultDynamic TruthValue, v2NonVolRawData OCTET STRING, v2NonVolIsManufacturedPermanent TruthValue, v2NonVolMfgHintPermanent DisplayString, v2NonVolIsManufacturedDynamic TruthValue, v2NonVolMfgHintDynamic DisplayString } v2NonVolIndex OBJECT-TYPE SYNTAX Integer32 (1..4096) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Identifies the instance number of this entry." ::= { v2FactNonVolEntry 1 } v2NonVolName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The name of this non-volatile storage group." ::= { v2FactNonVolEntry 2 } v2NonVolMagicNumber OBJECT-TYPE SYNTAX OCTET STRING (SIZE (4)) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique four-byte identifier of this non-volatile storage group." ::= { v2FactNonVolEntry 3 } v2NonVolVersionPermanent OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Identifies the major and minor version of the permanent section of this non-volatile storage group in the form major.minor" ::= { v2FactNonVolEntry 4 } v2NonVolVersionDynamic OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Identifies the major and minor version of the dynamic section of this non-volatile storage group in the form major.minor" ::= { v2FactNonVolEntry 5 } v2NonVolIsDefaultPermanent OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Reports whether the permanent section of this non-volatile storage group has been modified from its default state." ::= { v2FactNonVolEntry 6 } v2NonVolIsDefaultDynamic OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Reports whether the dynamic section of this non-volatile storage group has been modified from its default state." ::= { v2FactNonVolEntry 7 } v2NonVolRawData OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "The contents of this non-volatile storage group expressed as raw binary data." ::= { v2FactNonVolEntry 8 } v2NonVolIsManufacturedPermanent OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Reports whether the permanent section of this non-volatile storage group has been sufficiently manufactured. Criteria for manufacturing are of course specific to a given group. Software implementations may take some kind of action to limit private MIB access once all nonvol groups report that they are manufactured." ::= { v2FactNonVolEntry 9 } v2NonVolMfgHintPermanent OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "If v2NonVolIsManufacturedPermanent is false(2), this object reports a textual hint as to which settings in the group have not yet been manufactured. The nature of the hint will of course be specific to the nonvol group." ::= { v2FactNonVolEntry 10 } v2NonVolIsManufacturedDynamic OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Reports whether the dynamic section of this non-volatile storage group has been sufficiently manufactured. Criteria for manufacturing are of course specific to a given group. Software implementations may take some kind of action to limit private MIB access once all nonvol groups report that they are manufactured." ::= { v2FactNonVolEntry 11 } v2NonVolMfgHintDynamic OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "If v2NonVolIsManufacturedDynamic is false(2), this object reports a textual hint as to which settings in the group have not yet been manufactured. The nature of the hint will of course be specific to the nonvol group." ::= { v2FactNonVolEntry 12 } -- v2NonVolControl group. Used to restore NV defaults, as well as perform -- other NV related operations TBD (eg TFTP image). v2NonVolControl OBJECT IDENTIFIER ::= { v2FactoryNonVol 2 } v2NonVolControlGroup OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "Identifies which entry in the v2FactNonVolTable will be affected by control operations from this group. Must be either a value of v2NonVolIndex or zero. If zero is used, the control operation will be applied to all groups." DEFVAL { 0 } ::= { v2NonVolControl 1 } v2NonVolControlSection OBJECT-TYPE SYNTAX INTEGER { permanent(1), dynamic(2), both(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "Identifies which section of the group identified by v2NonVolControlGroup will be affected by control operations from this group." DEFVAL { both } ::= { v2NonVolControl 2 } v2NonVolRestoreDefaults OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "When set to true(1), causes the group identified by v2NonVolControlGroup to have its values restored to factory defaults. Always returns false(2) when read. Setting to false(2) has no effect." ::= { v2NonVolControl 3 } v2NonVolTftpServer OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "Controls and reflects the IP address of a TFTP server from which non-vol settings will be downloaded if v2NonVolDloadNow is set to true(1), into the group specified in v2NonVolControlGroup." ::= { v2NonVolControl 4 } v2NonVolTftpPath OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "Controls and reflects the path of a file on a TFTP server from which a non-vol settings will be downloaded if v2NonVolDloadNow is set to true(1), into the group specified in v2NonVolControlGroup." ::= { v2NonVolControl 5 } v2NonVolDloadNow OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If set to true(1), a new non vol image will be downloaded from the IP address specified by v2NonVolDloadTftpServer, the file to download having been specified by v2NonVolDloadTftpPath." ::= { v2NonVolControl 6 } v2NonVolDloadStatus OBJECT-TYPE SYNTAX INTEGER { failure(0), success(1), inProgress(2), other(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the status of the last non-vol download attempt." ::= { v2NonVolControl 7 } v2NonVolDelExtraData OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Setting this object to true(1) will get rid of any extra data that is assiociated with the settings group specified by v2NonVolControlGroup and the section specified by v2NonVolControlSection. The extra data is usually caused by a downgrade, where settings written by a newer version are not understood by the older version, but are stored so that they will still exist when the new code is run. However, in some cases, it is desirable to get rid of them if they are not going to be used. Always returns false(2) when read." ::= { v2NonVolControl 8 } v2NonVolFlush OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Setting this object to true(1) will flush out any unrecognized groups that were read from the device. This is useful in cases where the settings group isn't needed by another application, and would just waste space. Note that this operation occurs over all groups and sections, so the values of v2NonVolControlGroup and v2NonVolControlSection are ignored when this operation is invoked. Always returns false(2) when read." ::= { v2NonVolControl 9 } v2NonVolClearDevice OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Setting this object to true(1) will tell the nonvol device to wipe out the section specified in v2NonVolControlSection. All data will be lost; the device should be restored to its 'virgin' state. For flash devices, the flash block is erased; for disk devices, the file is erased. Note that this operation occurs over all groups, so the value of v2NonVolControlGroup is ignored by this operation. Always returns false(2) when read." ::= { v2NonVolControl 10 } -- v2FactoryImages: objects to control V2 specific image information v2FactoryImages OBJECT IDENTIFIER ::= { v2Factory 2 } -- v2FactoryBootloader: bootloader information and control objects v2ImagesBootloader OBJECT IDENTIFIER ::= { v2FactoryImages 1 } v2BootloaderVersion OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Identifies the version of the bootloader." ::= { v2ImagesBootloader 1 } v2BootloaderSignature OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Identifies the signature that the bootloader uses to validate downloaded firmware images. The signature in the image must match this signature or the image will not be run. Note that if a bootloader is not built with an image signature, then it will return the board's chip ID." ::= { v2ImagesBootloader 2 } v2BootloaderBoardInfo OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Identifies the board information for this board." ::= { v2ImagesBootloader 3 } v2BootloaderCompressionSupport OBJECT-TYPE SYNTAX BITS { cmpLZRLE(0), cmpMiniLZ(1), cmpReserved(2), -- skipped cmpNRV2D99(3), cmpLZMA(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "Identifies which compression schemes this bootloader supports. Older bootloader versions may not support all compression schemes." ::= { v2ImagesBootloader 4 } v2BootloaderIncompatibleImageCheckEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Controls and reflects whether the bootloader will perform a compatible image check prior to executing an image. If set to true(1), an image will not be executed if its compression type and signature are deemed to be incompatible with the system. If set to false(2), these checks are not performed and only CRC and HCS checks are done." DEFVAL { true } ::= { v2ImagesBootloader 5 } v2BootloaderDloadTftpServer OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "Controls and reflects the IP address of a TFTP server from which a new bootloader will be downloaded if v2BootloaderDloadNow is set to true(1)" ::= { v2ImagesBootloader 6 } v2BootloaderDloadTftpPath OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "Controls and reflects the path of a file on a TFTP server from which a new bootloader will be downloaded if v2BootloaderDloadNow is set to true(1)" ::= { v2ImagesBootloader 7 } v2BootloaderDloadNow OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If set to true(1), a new bootloader will be downloaded from the IP address specified by v2BootloaderDloadTftpServer, the file to download having been specified by v2BootloaderDloadTftpPath." ::= { v2ImagesBootloader 8 } v2BootloaderDloadStatus OBJECT-TYPE SYNTAX INTEGER { failure(0), success(1), inProgress(2), other(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the status of the last bootloader download attempt." ::= { v2ImagesBootloader 9 } -- v2FactoryFirmware: firmware information and control objects v2ImagesFirmware OBJECT IDENTIFIER ::= { v2FactoryImages 2 } v2FirmwareTable OBJECT-TYPE SYNTAX SEQUENCE OF V2FirmwareEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of firmware images on this device." ::= { v2ImagesFirmware 1 } v2FirmwareEntry OBJECT-TYPE SYNTAX V2FirmwareEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describing the characteristics of a single firmware image." INDEX { v2FwIndex } ::= { v2FirmwareTable 1 } V2FirmwareEntry ::= SEQUENCE { v2FwIndex Integer32, v2FwSignature Unsigned32, v2FwControl BITS, v2FwRevision DisplayString, v2FwBuildTime DateAndTime, v2FwFileSize Unsigned32, v2FwMaxImageSize Unsigned32, v2FwFileName DisplayString, v2FwHCS Unsigned32, v2FwCRC Unsigned32 } v2FwIndex OBJECT-TYPE SYNTAX Integer32 (1..2) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Identifies the instance number of this entry." ::= { v2FirmwareEntry 1 } v2FwSignature OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Identifies the firmware signature with which this image was built. If compatible image checking is enabled on the bootloader via v2BootloaderIncompatibleImageCheckEnabled being set to true(1), then this signature must match that of the bootloader in order for the image to be executed." ::= { v2FirmwareEntry 2 } -- v2FwControl: R/O UINT16 v2FwControl OBJECT-TYPE SYNTAX BITS { cmpLZRLE(0), cmpMiniLZ(1), cmpReserved(2), -- skipped cmpNRV2D99(3), cmpLZMA(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "A mask of flags indicating control parameters for this image. Bits 0-7 are used to indicate compression type, and higer order bits are reserved." ::= { v2FirmwareEntry 3 } v2FwRevision OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Identifies the version of this software in the format major.minor." ::= { v2FirmwareEntry 4 } v2FwBuildTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The date and time that this image was built." ::= { v2FirmwareEntry 5 } v2FwFileSize OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The size of this image. Note that if an image is compressed, this value indicates the compressed size." ::= { v2FirmwareEntry 6 } v2FwMaxImageSize OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum size image that may be stored to this image location. Note that if an image is compressed, this value indicates the compressed size." ::= { v2FirmwareEntry 7 } v2FwFileName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The name of the file from which this image was produced. Note that the file name is extracted from the program store header, so it is possible that this object will not match the actual filename of a downloaded file if the file is renamed prior to the download." ::= { v2FirmwareEntry 8 } v2FwHCS OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The header checksum used by the bootloader when validating this image." ::= { v2FirmwareEntry 9 } v2FwCRC OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The cyclic redundancy code used by the bootloader when validating this image." ::= { v2FirmwareEntry 10 } -- v2FirmwareControl group contains objects for downloading, copying, or -- deleting an image. v2FirmwareControl OBJECT IDENTIFIER ::= { v2ImagesFirmware 2 } v2FwControlImageNumber OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates the image from the v2ImageTable which will be controlled by operations from this group. Must be set to a valid value of v2FwIndex." ::= { v2FirmwareControl 1 } v2FwDloadTftpServer OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "Controls and reflects the IP address of a TFTP server from which the image specified in v2FwControlImageNumber will be downloaded if v2FwDloadNow is set to true(1). Equivalent to the IpAddress argument in the Docsis/dload command from the V2 CLI." ::= { v2FirmwareControl 2 } v2FwDloadTftpPath OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "Controls and reflects the path to a file on the server specified by v2FwDloadTftpServer which will be downloaded to the image specified by v2FwControlImageNumber if v2FwDloadNow is set to true(1). Equivalent to the Filename argument in the Docsis/dload command from the V2 CLI." ::= { v2FirmwareControl 3 } v2FwDloadLarge OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If set to true, a large image may be downloaded into image 1 such that it spans into image 2. This allows a 'fat' image to be downloaded onto a 'slim' board, but it will destroy an existing image in image2. Equivalent to the -l argument in the Docsis/dload command from the V2 CLI." DEFVAL { false } ::= { v2FirmwareControl 4 } v2FwDloadForce OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If set to true, the application will not perform any image validation on the image program header prior to loading an image. This would mainly be used to allow an image with an unmatching signature to be downloaded, but use caution because this will also allow images for the wrong chip type, or completely invalid files to be downloaded. Equivalent to the -f argument in the Docsis/dload command from the V2 CLI." DEFVAL { false } ::= { v2FirmwareControl 5 } v2FwDloadNow OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If set to true, a TFTP download will begin which will load the image from the TFTP server specified in v2FwDloadTftpServer using the file specified in v2FwDloadTftpPath to the image specified in v2FwControlImageNumber. When read, always returns false(2)." ::= { v2FirmwareControl 6 } v2FwDloadStatus OBJECT-TYPE SYNTAX INTEGER { failure(0), success(1), inProgress(2), other(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the status of the last (or current) firmware image download attempt." ::= { v2FirmwareControl 7 } v2FwDeleteImage OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If set to true(1), the image indicated by v2FwControlImageNumber will be deleted. Equivalent to the Docsis/clear_image command from the V2 CLI." ::= { v2FirmwareControl 8 } v2FwCopyImageFrom OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "If this object is set, the image specified by v2FwControlImageNumber will be overwritten by the image specified by this object. Equivalent to the Docsis/copy_image command from the CLI as if it is issued as copy_image v2FwCopyImageFrom v2FwControlImageNumber." ::= { v2FirmwareControl 9 } v2FwCopyStatus OBJECT-TYPE SYNTAX INTEGER { failure(0), success(1), inProgress(2), other(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the status of the last firmware copy attempt." ::= { v2FirmwareControl 10 } END