DDM auslesen: CLI, ethtool, SNMP, OpenConfig · DDM/DOM-Diagnose · Optische Transceiver und Kabel · Dokumentation · CodingBox
CodingBox Dokumentation

DDM auslesen: CLI, ethtool, SNMP, OpenConfig

Dieselben A2h-Bytes erreichen Sie über viele Wege: eine Switch-CLI, eine Linux-NIC, einen SNMP-Poller, eine Streaming-Telemetrie-Pipeline oder einen rohen Hex-Dump von einem Programmiergerät. Diese Seite ist das Kochbuch – die Befehle, die OIDs und Pfade, und wie man einen Rohdump von Hand dekodiert, wenn das Tool vor Ihnen es nicht tut.

Switch- und Router-CLI

PlattformDDM-BefehlHinweise
Cisco IOS / IOS-XEshow interfaces transceiver detailSchwellwerte werden neben den Werten angezeigt; show idprom interface für die Identität
Cisco NX-OSshow interface ethernet1/1 transceiver detailspro Lane bei QSFP
Cisco IOS-XRshow controllers optics 0/0/0/0enthält Alarme und Lane-Tabelle
Juniper Junosshow interfaces diagnostics optics xe-0/0/0Schwellwerte und Alarmstatus enthalten
Arista EOSshow interfaces ethernet 1 transceiver dom… transceiver detail fügt Schwellwerte hinzu
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 für Moduldetails
SONiCshow interfaces transceiver eeprom -d Ethernet0sfputil show eeprom -d; … presence, … lpmode

Identitätsbezogene Äquivalente und worauf zu achten ist: Optik verifizieren.

Linux: ethtool

ethtool -m eth0                 # dekodierte Identität + DDM (wenn der Treiber Modul-EEPROM unterstützt)
ethtool -m eth0 raw on hex on   # Rohdump: A0h bei 0x0000–0x00ff, A2h bei 0x0100–0x01ff (SFP)
ethtool -m eth0 hex on offset 256 length 128   # nur die untere A2h-Seite
ethtool --show-fec eth0         # FEC-Modus
ethtool -S eth0 | grep -i fec   # fec_corrected_blocks / fec_uncorrectable_blocks

Bei QSFP/CMIS-Modulen folgt der Dump dem seitenweisen Layout, das der Treiber offenlegt (untere Seite, obere 00h, dann Seiten 01h/02h/03h/10h/11h, sofern unterstützt). ethtool dekodiert SFF-8472 und SFF-8636 vollständig und CMIS je nach Kernel-Version teilweise.

Einen rohen A2h-Dump von Hand dekodieren

Die untere Seite von A2h liegt bei Offset 0x0100 in einem ethtool -m … raw on hex on- Dump. Die Live-Monitore beginnen bei A2h Byte 96 → Dump-Offset 0x0160:

0x0160:  1a 80 80 e8 1b 58 0f a0 03 e8 ...
         └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘
        Temp    Vcc   Bias   Tx     Rx
BytesRohwertUmrechnungWert
96–97 Temperatur1A 80 = 6784 (vorzeichenbehaftet)÷ 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-Leistung0F A0 = 4000× 0,1 µW = 400 µW; 10·log10(0,400)−3,98 dBm
104–105 Rx-Leistung03 E8 = 1000× 0,1 µW = 100 µW−10,0 dBm

Diese Umrechnungen setzen interne Kalibrierung voraus (A0h Byte 92 Bit 5); bei externer Kalibrierung zuerst die Konstanten aus A2h 56–91 anwenden (Kalibrierung). Schwellwerte liegen in denselben Formaten bei A2h 0–39; Status/Steuerung und Flags bei 110–117 (Schwellwerte & Alarme). QSFP: Modulmonitore bei Byte 22–27, Lane-Monitore bei 34–57 der unteren Seite; CMIS: untere Seite 14–25 und Seite 11h 154–201 (Diagnose je Lane).

SNMP

Standard: ENTITY-SENSOR-MIB (RFC 3433)

Die meisten Plattformen stellen jeden DDM-Wert als physischen Sensor bereit:

ObjektOIDBedeutung
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.3Dezimalstellen im Wert
entPhySensorValue1.3.6.1.2.1.99.1.1.1.4der Messwert
entPhySensorOperStatus1.3.6.1.2.1.99.1.1.1.51 ok, 2 unavailable, 3 nonoperational

Der Index des Sensors wird über die ENTITY-MIB einem Port zugeordnet (entPhysicalDescr, entPhysicalContainedIn). Ein Wert vom Typ 14 (dBm), Skala 8, Präzision 2 und Wert −1234 bedeutet −12,34 dBm.

Hersteller-MIBs

HerstellerMIB / Beispielobjekt
CiscoCISCO-ENTITY-SENSOR-MIB entSensorValue (1.3.6.1.4.1.9.9.91.1.1.1.1.4), Schwellwerte 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 und viele anderenur ENTITY-SENSOR-MIB
Huaweioptische Objekte der HUAWEI-ENTITY-EXTENT-MIB (Rx-/Tx-Leistung, Bias, Temperatur)
MikroTikMIKROTIK-MIB mtxrOpticalTable (Rx-/Tx-Leistung, Temperatur, Spannung, Bias)

Open-Source-NMS (LibreNMS, Zabbix-Templates, Observium) erkennen diese automatisch und stellen sie grafisch dar; Prometheus nutzt snmp_exporter mit denselben OIDs.

Streaming-Telemetrie (gNMI / OpenConfig)

openconfig-platform-transceiver bildet ein Modul als Komponente mit physischen Kanälen ab:

/components/component[name=Ethernet1/1]/transceiver/state/…            Hersteller, Teilenummer, Seriennummer, Formfaktor
/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

Jedes Leaf trägt instant, avg, min, max über das Abtastintervall. Abonnieren im SAMPLE-Modus alle 10–60 s; gnmic → Prometheus/InfluxDB → Grafana ist die übliche Pipeline. Herstellereigene Modelle (Cisco, Juniper, Arista) stellen dieselben Daten unter eigenen Pfaden bereit und ergänzen meist FEC-Zähler und Alarmstatus.

Windows und andere Hosts

Unter Windows gibt es kein natives DDM-Tool; Hersteller-Utilities für NICs (Server-Adapter) zeigen mitunter Moduldaten. FreeBSD zeigt SFP-Identität und DDM mit ifconfig <if> -v bei unterstützten Treibern. Auf einem Host, der das Modul nicht lesen kann, ist die Werkbank der Ausweichweg.

Abfrageraten und Umgangsformen

  • Modulmonitore aktualisieren sich mehrmals pro Sekunde; eine Abfrage alle 1–5 Minuten genügt für Trends und schont den Zweidraht-Bus.
  • Manche Plattformen serialisieren alle Modulzugriffe über eine Management-CPU — aggressive SNMP-Walks über Hunderte Ports können sie verlangsamen oder zum Timeout bringen.
  • Nie einen zweiten Master (Programmiergerät-Klemme, In-Band-Tool) auf einem Bus betreiben, den der Host abfragt (Zweidraht-Schnittstelle).

Quellen im Vergleich

CLI, SNMP und Telemetrie lesen alle dieselben Bytes; Unterschiede von wenigen Zehntel dB zwischen ihnen sind Zeitversatz, kein Fehler. Eine Abweichung zwischen dem Wert des Hosts und dem Wert der Werkbank für dasselbe Modul lohnt eine Erklärung: Temperatur, Vcc und die Behandlung der Kalibrierung verändern die Zahlen (Genauigkeit & Grenzen).

In CodingBox

CodingBox ist die Tür zur Werkbank: DDM zeigt die dekodierten Monitore und Flags, die Rohbytes sind im EEPROM editor einen Klick entfernt, und der CSV-Export speist dieselben Dashboards, die auch SNMP oder Telemetrie verarbeiten — so hat ein Modul eine einzige Historie vom Wareneingang bis zur Außerbetriebnahme (Überwachung).


Wenn Sie in diesem Artikel eine Ungenauigkeit oder einen Fehler finden, markieren Sie die betreffende Stelle und drücken Sie Ctrl+Enter, um .