DDM uitlezen met tools: CLI, ethtool, SNMP, OpenConfig · DDM/DOM-diagnostiek · Optische transceivers en kabels · Documentatie · CodingBox
CodingBox Documentatie

DDM uitlezen met tools: CLI, ethtool, SNMP, OpenConfig

Dezelfde A2h-bytes bereiken u via veel wegen: een switch-CLI, een Linux-NIC, een SNMP-poller, een streamingtelemetriepijplijn of een ruwe hex-dump van een programmer. Deze pagina is het naslagwerk: de opdrachten, OID's en paden, en hoe u een ruwe dump met de hand decodeert wanneer het hulpmiddel voor u dat niet doet.

CLI van switch en router

PlatformDDM-opdrachtOpmerkingen
Cisco IOS / IOS-XEshow interfaces transceiver detaildrempels worden naast waarden getoond; show idprom interface voor identiteit
Cisco NX-OSshow interface ethernet1/1 transceiver detailsper lane voor QSFP
Cisco IOS-XRshow controllers optics 0/0/0/0omvat alarmen en tabel per lane
Juniper Junosshow interfaces diagnostics optics xe-0/0/0drempels en alarmstatus inbegrepen
Arista EOSshow interfaces ethernet 1 transceiver dom… transceiver detail voegt drempels toe
Huawei VRPdisplay transceiver interface XGigabitEthernet0/0/1 verbose—
MikroTik RouterOS/interface ethernet monitor sfp1sfp-temperature, sfp-tx-power, sfp-rx-power, sfp-tx-bias-current
Dell OS10show interface ethernet 1/1/1 transceiver—
NVIDIA Cumulus / Onyxl1-show swp1 / show interfaces ethernet 1/1 transceivermlxlink -d <dev> -p <port> -m voor moduledetails
SONiCshow interfaces transceiver eeprom -d Ethernet0sfputil show eeprom -d; … presence, … lpmode

Gelijkwaardige opdrachten die op identiteit zijn gericht en waar u op moet letten: Optiek op switches verifiëren.

Linux: ethtool

ethtool -m eth0                 # decoded identity + DDM (when the driver supports module EEPROM)
ethtool -m eth0 raw on hex on   # raw dump: A0h at 0x0000–0x00ff, A2h at 0x0100–0x01ff (SFP)
ethtool -m eth0 hex on offset 256 length 128   # A2h lower page only
ethtool --show-fec eth0         # FEC mode
ethtool -S eth0 | grep -i fec   # fec_corrected_blocks / fec_uncorrectable_blocks

Bij QSFP/CMIS-modules volgt de dump de gepagineerde indeling die de driver beschikbaar maakt (lower page, upper 00h, daarna pagina's 01h/02h/03h/10h/11h waar ondersteund). ethtool decodeert SFF-8472 en SFF-8636 volledig en CMIS gedeeltelijk, afhankelijk van de kernelversie.

Een ruwe A2h-dump met de hand decoderen

De lower page van A2h bevindt zich op offset 0x0100 in een dump van ethtool -m … raw on hex on. Live monitors beginnen bij A2h byte 96 → dumpoffset 0x0160:

0x0160:  1a 80 80 e8 1b 58 0f a0 03 e8 ...
         └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘
        temp    Vcc   bias   Tx     Rx
BytesRuwOmrekeningWaarde
96–97 temperatuur1A 80 = 6784 (met teken)÷ 25626,5 °C
98–99 Vcc80 E8 = 33000× 100 µV3,300 V
100–101 Tx-bias1B 58 = 7000× 2 µA14,0 mA
102–103 Tx-vermogen0F A0 = 4000× 0,1 µW = 400 µW; 10·log10(0,400)−3,98 dBm
104–105 Rx-vermogen03 E8 = 1000× 0,1 µW = 100 µW−10,0 dBm

Deze omzettingen gaan uit van interne kalibratie (A0h byte 92 bit 5); pas bij externe kalibratie eerst de constanten uit A2h 56–91 toe (Kalibratie). Drempels bevinden zich in A2h 0–39 in dezelfde formaten; status/regeling en vlaggen in 110–117 (Drempels en alarmen). QSFP: modulemonitors op bytes 22–27, lanemonitors op 34–57 van de lower page; CMIS: lower page 14–25 en pagina 11h 154–201 (Diagnostiek per lane).

SNMP

Standaard: ENTITY-SENSOR-MIB (RFC 3433)

De meeste platforms stellen elke DDM-waarde als fysieke sensor beschikbaar:

ObjectOIDBetekenis
entPhySensorType1.3.6.1.2.1.99.1.1.1.14 voltsDC, 5 amperes, 8 celsius, 14 dBm
entPhySensorScale1.3.6.1.2.1.99.1.1.1.28 = units, 7 = milli, 6 = micro…
entPhySensorPrecision1.3.6.1.2.1.99.1.1.1.3decimalen in de waarde
entPhySensorValue1.3.6.1.2.1.99.1.1.1.4de uitlezing
entPhySensorOperStatus1.3.6.1.2.1.99.1.1.1.51 ok, 2 unavailable, 3 nonoperational

De index van de sensor wijst via ENTITY-MIB (entPhysicalDescr, entPhysicalContainedIn) naar een poort. Een waarde van type 14 (dBm), schaal 8, precisie 2 en waarde −1234 betekent −12,34 dBm.

MIB's van fabrikanten

FabrikantMIB / voorbeeldobject
CiscoCISCO-ENTITY-SENSOR-MIB entSensorValue (1.3.6.1.4.1.9.9.91.1.1.1.1.4), drempels in entSensorThresholdTable
JuniperJUNIPER-DOM-MIB: jnxDomCurrentRxLaserPower (…2636.3.60.1.1.1.1.5, 0,01 dBm), jnxDomCurrentTxLaserBiasCurrent (.6), jnxDomCurrentTxLaserOutputPower (.7), jnxDomCurrentModuleTemperature (.8)
Arista, Dell, vele anderealleen ENTITY-SENSOR-MIB
Huaweioptische objecten in HUAWEI-ENTITY-EXTENT-MIB (Rx/Tx-vermogen, bias, temperatuur)
MikroTikMIKROTIK-MIB mtxrOpticalTable (Rx/Tx-vermogen, temperatuur, spanning, bias)

Open-source-NMS'en (LibreNMS, Zabbix-templates, Observium) ontdekken deze automatisch en brengen ze in grafiek; Prometheus gebruikt snmp_exporter met dezelfde OID's.

Streamingtelemetrie (gNMI / OpenConfig)

openconfig-platform-transceiver modelleert een module als component met fysieke kanalen:

/components/component[name=Ethernet1/1]/transceiver/state/…            vendor, part, serial, form-factor
/components/component[name=…]/transceiver/physical-channels/channel[index=0]/state/input-power/instant
/components/component[name=…]/transceiver/physical-channels/channel[index=0]/state/output-power/instant
/components/component[name=…]/transceiver/physical-channels/channel[index=0]/state/laser-bias-current/instant
/components/component[name=…]/state/temperature/instant

Elke leaf bevat instant, avg, min, max over het bemonsteringsinterval. Abonneer u in SAMPLE-modus met 10–60 s; gnmic → Prometheus/InfluxDB → Grafana is de gebruikelijke pijplijn. Fabrikantspecifieke modellen (Cisco, Juniper, Arista) stellen dezelfde gegevens beschikbaar onder eigen paden en voegen doorgaans FEC-tellers en alarmstatus toe.

Windows en andere hosts

Windows heeft geen eigen DDM-hulpmiddel; NIC-programma's van fabrikanten (serveradapters) tonen soms modulegegevens. FreeBSD toont SFP-identiteit en DDM met ifconfig <if> -v op ondersteunde drivers. Op een host die de module niet kan lezen, is de werkbank het alternatief.

Pollfrequenties en omgangsvormen

  • Modulemonitors worden enkele malen per seconde ververst; elke 1–5 minutes pollen volstaat voor trending en belast de two-wire-bus weinig.
  • Sommige platforms serialiseren alle moduleuitlezingen via één beheer-CPU; agressieve SNMP-walks van honderden poorten kunnen vertragen of time-outs geven.
  • Gebruik nooit een tweede master (programmerklem, in-bandtool) op een bus die de host polt (Two-wire-interface).

Bronnen vergelijken

CLI, SNMP en telemetrie lezen allemaal dezelfde bytes; verschillen van enkele tienden dB daartussen zijn timing, geen fout. Een verschil tussen de uitlezing van de host en die van de werkbank voor dezelfde module verdient uitleg: temperatuur, Vcc en de verwerking van kalibratie wijzigen de getallen (Nauwkeurigheid en limieten).

In CodingBox

CodingBox is de werkbankweg: DDM toont de gedecodeerde monitors en vlaggen, met de ruwe bytes één klik verder in de EEPROM editor; de CSV-export voedt dezelfde dashboards die SNMP of telemetrie verwerken. Zo heeft een module één geschiedenis, van binnenkomende inspectie tot buitengebruikstelling (Monitoring).


Vindt u een onjuistheid of fout in dit materiaal? Selecteer het betreffende fragment en druk op Ctrl+Enter om .