Issue: Provision switches - SNMP transceiver OID values are not updated When querying a Provision switch for certain transceiver values (e.g: the current TxPower of a J4858B transceiver in port A21) an incorrect/outdated value is returned: Example after a switch reboot: C:\windows\system32>snmpwalk -v 2c -c public 192.168.1.142 HP-ICF-TRANSCEIVER-MIB::hpicfXcvrTxPower HP-ICF-TRANSCEIVER-MIB::hpicfXcvrTxPower.21 = INTEGER: -99999999 thousandths of dBm
C:\windows\system32>snmpget -v 2c -c public 192.168.1.142 HP-ICF-TRANSCEIVER-MIB::hpicfXcvrTxPower.21 HP-ICF-TRANSCEIVER-MIB::hpicfXcvrTxPower.21 = INTEGER: -99999999 thousandths of dBm
The unexpected output is -99999999 and remains the same, even after several repetitions of the command. Test-bed: 2x 5400 switches, running K.15.17.0007 interconnected via ports A21-A21 (A19 to NMS): HP-Switch-5406zl# sh run Running configuration: ; J8697A Configuration Editor; Created on release #K.15.17.0007 ; Ver #08:02.ff.f7.fc.7f.ff.3f.ef:ae hostname "HP-Switch-5406zl" module 1 type j9308a snmp-server community "public" unrestricted vlan 1 name "DEFAULT_VLAN" untagged A1-A24 ip address dhcp-bootp exit no spanning-tree bpdu-throttle
HP-Switch-5406zl# sh ip Internet (IP) Service IP Routing : Disabled Default Gateway : 192.168.1.254 Default TTL Arp Age
Cause The diagnostic information for transceivers is not being updated automatically. The transceiver diagnostics table for the desired interface needs to updated (set OID value hpicfXcvrDiagnosticsUpdate to 1) before querying. This is documented in the HP-ICF-TRANSCEIVER-MIB: hpicfXcvrDiagnosticsUpdate: C:\windows\system32>snmptranslate -m all -Td -Ln 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.10 HP-ICF-TRANSCEIVER-MIB::hpicfXcvrDiagnosticsUpdate hpicfXcvrDiagnosticsUpdate OBJECT-TYPE -- FROM
HP-ICF-TRANSCEIVER-MIB
-- TEXTUAL CONVENTION TruthValue SYNTAX
INTEGER {true(1), false(2)}
MAX-ACCESS STATUS
read-write
current
DESCRIPTION "This object will cause specific actions depending on the diagnostic support of the transceiver. Transceiver Diagnostic support: None : No action taken. DOM : Will update diagnostic information for the transceiver. VCT : Will update diagnostic information for the transceiver. Other : Vendor specific. The value of the object will be reset after the completion of the update. Please note: VCT and other (cable-diagnostics) may cause a loss of link and take a few second to run for each interface." ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) hp(11) nm(2) icf(14) hpicfObjects(11) hpicfSwitch(5) hpSwitch(1) hpicfTransceiverMIB(82) hpicfXcvrObjects(1) hpicfXcvrInfo(1) hpicfXcvrInfoTable(1) hpicfXcvrInfoEntry(1) 10 } hpicfXcvrTxPower: C:\windows\system32>snmptranslate -m all -Td -Ln 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.14 HP-ICF-TRANSCEIVER-MIB::hpicfXcvrTxPower hpicfXcvrTxPower OBJECT-TYPE -- FROM
HP-ICF-TRANSCEIVER-MIB
SYNTAX UNITS
Integer32 "thousandths of dBm"
MAX-ACCESS STATUS
read-only
current
DESCRIPTION "This is transmit output power in thousandths of dBm. As an example: -5840 is -5.840dBm. -in dBm (0 microwatts) will be reported as -99999999. The value of this object is valid when the value of the hpicfXcvrDiagnostics object is DOM." ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) hp(11) nm(2) icf(14) hpicfObjects(11) hpicfSwitch(5) hpSwitch(1) picfTransceiverMIB(82) hpicfXcvrObjects(1) hpicfXcvrInfo(1) hpicfXcvrInfoTable(1) hpicfXcvrInfoEntry(1) 14 }
Resolution Resolution: 1.
1. Update the xcvr table (set hpicfXcvrDiagnosticsUpdate to 1) 2. Then query for xcvr values This needs to be done on a per interface basis. hpicfXcvrDiagnosticsUpdate: Initially, the diagnostic information for the transceiver is set to not updated: C:\windows\system32>snmpwalk -v 2c -c public 192.168.1.142 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.10 SNMPv2-SMI::enterprises.11.2.14.11.5.1.82.1.1.1.1.10.21 = INTEGER: 2
.21: port A21 Integer: 2 not updated yet After updating the diagnostic information for the transceiver, the current value is being returned: 1. Update: (hpicfXcvrDiagnosticsUpdate; setting the truthvalue to 1): C:\windows\system32>snmpset -v 2c -c public 192.168.1.142 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.10.21 i 1 SNMPv2-SMI::enterprises.11.2.14.11.5.1.82.1.1.1.1.10.21 = INTEGER: 1
2. Query:Repeating the command for the OID hpicfXcvrTxPower: C:\windows\system32>snmpwalk -v 2c -c public 192.168.1.142 HP-ICF-TRANSCEIVER-MIB::hpicfXcvrTxPower HP-ICF-TRANSCEIVER-MIB::hpicfXcvrTxPower.21 = INTEGER: -7375 thousandths of dBm
The value for the OID hpicfXcvrTxPower has been updated. The value of the OID hpicfXcvrDiagnosticsUpdate will be reset to 2 (= false = not updated) after the completion of every query: Again, when repeatedly querying for the output of the hpicfXcvrTxPower without first updating the table, the value won’t change: C:\windows\system32>snmpwalk -v 2c -c public 192.168.1.142 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.14.21 SNMPv2-SMI::enterprises.11.2.14.11.5.1.82.1.1.1.1.14.21 = INTEGER: -7375 C:\windows\system32>snmpwalk -v 2c -c public 192.168.1.142 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.14.21 SNMPv2-SMI::enterprises.11.2.14.11.5.1.82.1.1.1.1.14.21 = INTEGER: -7375
Everytime, before querying the OID hpicfXcvrTxPower (and other xcvr OIDs), another update of the diagnostic information for the port is needed to get the updated value: Update: C:\windows\system32>snmpset -v 2c -c public 192.168.1.142 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.10.21 i 1 SNMPv2-SMI::enterprises.11.2.14.11.5.1.82.1.1.1.1.10.21 = INTEGER: 1
This is documented in the HP-ICF-TRANSCEIVER-MIB and expected behavior. Note: The CLI command “show interfaces transceiver …” will also cause the xcvr table to be updated.