MIB Explorer FAQ ================ Q1:MIB Explorer refuses to compile my MIB module file, although the MIB compiler XYZ of vendor ZYX compiles it wihtout any errors, why? A1:MIB Explorer uses nearly any machine readable information that can be extracted from MIB modules. As a consequence, MIB Explorer has to make sure that the extracted information is valid and syntactically and semantically correct. In addition, MIB Explorer is not only a MIB browser, it can also be used to write new MIB specifications. That's why it contains a strict MIB compiler that enforces the SMIv1/v2 rules. Many other compilers check for the SMI syntax very leniently, which makes them not suitable for MIB module verification. See also http://www.mibdesigner.com/html/mibdesign.html for a description of most common MIB design errors and their solution. Q2:Why does MIB Explorer refuse to compile MIB modules containing ASN.1 MACRO definitions like the RFC1155-MIB, SNMPv2-SMI, SNMPv2-CONF, or SNMPv2-TC modules? A2:ASN.1 MACROS are *not* part of the SMIv1/v2 languages. MACROS are used to define the SMI language with ASN.1 syntax. Thus, the modules above have to be treated as non-compliant to the SMI rules. In order to make them compliant, one has to remove all MACROs from the modules. Q3:MIB Explorer does not allow sub-typing in SEQUENCE constructs, why? The following SEQUENCE { Integer32 (1..65535), causes a 'Syntax error: Encountered: "(" at line nnn, column 23: Was expecting one of: "}" ... "," ...' A3:SMIv2 does not allow sub-typing in SEQUENCE constructs, see RFC2578 §7.1.12 for details. Q4:What could be the cause for the following error? Syntax error: Encountered: "abc MODULE-IDENTITY" at line nnn, column 1: Was expecting one of: "OBJECT-TYPE" ... "TRAP-TYPE" ... ... ... "Gauge32" ... "Unsigned32" ... "UInteger32" ... "Integer32" ... "Counter64" ... "Counter32" ... . A4:SMIv2 requires that a MIB module does contain exactly one MODULE-IDENTITY construct immediately following the IMPORTS statement. In the above case, another construct (e.g. OBJECT IDENTIFIER) preceeds the MODULE-IDENTITY statement.