This MIB is used to configure those devices that support
boot-time hardware diagnostics.  It provides the reports 
about the respective diagnostic tests executed by the 
devices as well. 

Boot-time diagnostics are run after the ROMMON has 
transferred control to the start code of IOS and before 
any IOS subsystem has started. 

Such diagnostics may or may not include those that are 
destructive to the operation of IOS or communications
links that are serviced by IOS and, as such, must be run
before IOS has completed booting and before any subsystem
has started. 

During boot-up from either power-on or a reload, and
before IOS starts, a loop of all such diagnostics is executed
according to the following flow: 

     bank = current_bank 
     for index = 1 to number of diagnostics { 
        if diag[index] is configured AND armed for bank { 
          call diagnostic_function[index]; 
          store results in memory =; 

After all the IOS subsystems have started, one can
use either the CLI or this MIB to query the status of the 
diagnostic tests for each bank. 

The diagnostic tests are tabulated on the CLI as

       Information for Hardware Diagnostics Bank 0 
       (Current bank = 0) 

                        Last Boot         Next Boot 
     Diagnostic         Ran? Pass/Failed? Configured? Armed?

     EDAC test          YES  PASSED       YES         NO 
     EEPROM test        YES  PASSED       YES         NO 
     FPGA(s) test       YES  FAILED       YES         NO 


In the table above, there are 3 diagnostic_function 

EDAC, EEPROM, and FPGA(s).   The FPGA category has 4
subtests one associated with FPGA1, two with FPGA2, and one
with FPGA3. 

The MIB shall be used to configure the diagnostic tests
to be run on each bank and read the results of the same.  The
selection of a particular bank to run the tests is hardware-

CLI    - Command Line Interface
diags  - abbreviation for diagnostics
EDAC   - Error Detection and Correction
EEPROM - Electrically Eraseable Programmable Read-Only Memory
FPGA   - Field Programmable Gate Array
IOS    - Internet Operating System
MIB    - Management Information Base
NVRAM  - Non-volatile Random Access Memory
SRAM   - Static Random Access Memory

Imported Objects

DisplayString, TruthValueSNMPv2-TC
ciscoBootHwDiagsMIB .
ciscoBootHwDiagsMIBNotifs .
ciscoBootHwDiagsMIBObjects .
ciscoBootHwDiagsMIBCurrentBank .
ciscoBootHwDiagsMIBTestTable .
ciscoBootHwDiagsMIBTestEntry .
ciscoBootHwDiagsMIBTestIndex .
ciscoBootHwDiagsMIBTestName .
ciscoBootHwDiagsMIBTable .
ciscoBootHwDiagsMIBEntry .
ciscoBootHwDiagsMIBBankIndex .
ciscoBootHwDiagsMIBLastBootExecuted .
ciscoBootHwDiagsMIBLastBootPassed .
ciscoBootHwDiagsMIBNextBootConfigured .
ciscoBootHwDiagsMIBNextBootArmed .
ciscoBootHwDiagsMIBConfigCode .
ciscoBootHwDiagsMIBResultCode .
ciscoBootHwDiagsMIBConform .
ciscoBootHwDiagsMIBCompliances .
ciscoBootHwDiagsMIBGroups .