Was der Host tut: Erkennung, Prüfung, Inbetriebnahme · Spezifikationen und Standards · Optische Transceiver und Kabel · Dokumentation · CodingBox
CodingBox Dokumentation

Was der Host tut: Erkennung, Prüfung, Inbetriebnahme

Die Spezifikationen beschreiben die Seite des Moduls — Pins, Speicher, Zustände. Diese Seite beschreibt die Seite des Hosts: die Abfolge, die ein Switch, Router oder NIC vom Einstecken eines Moduls bis zum Datenfluss durchläuft, mit den Pins, Bytes und Timings, die jeder Schritt nutzt. Wer sie kennt, macht aus „der Port meldet unsupported“ ein „der Host ist bei Schritt 4 stehen geblieben“, und erklärt, warum ein Modul, das auf der Werkbank perfekt ist, in einem Port trotzdem versagen kann.

Low-Speed-Signale nach Formfaktor

FormfaktorPräsenzReset/PowerInterrupt/FaultSonstiges
SFP/SFP+/SFP28MOD_ABS (Low = vorhanden)— (TX_DISABLE schaltet den Laser)TX_FAULT, RX_LOSRS0, RS1 Rate Select
XFPMod_ABSP_Down/RSTInterrupt, Mod_NR (nicht bereit), RX_LOSTX_DIS, Mod_DeSel
QSFP+/QSFP28ModPrsLResetL, LPModeIntLModSelL
QSFP-DDModPrsLResetL, LPModeIntLModSelL
OSFPPRSnRSTn, LPWnINT— (kein Select-Pin, ein Bus pro Port)
SFP-DDModul-Absent wie bei SFPLow-Power-AnforderungInterruptRate Select wie bei SFP

Pin-Funktionen und Pinbelegungen je Familie: SFP-Hardware, QSFP-Hardware, XFP.

Der Ablauf

#SchrittSFP (SFF-8472)QSFP (SFF-8636)CMISFehlerbild
1ErkennenMOD_ABS geht auf Low; EntprellungModPrsL LowModPrsL/PRSn LowPort bleibt leer; Modul „nicht erkannt“
2Power & Warten3,3 V liegen immer an; t_init 300 ms abwartenEinschalten mit LPMode High (nur Klasse 1); t_init 2 s abwarten oder Data_Not_Ready pollengleich; abwarten, bis der Modulzustand MgmtInit verlässt (≤ 2 s)Lesevorgänge liefern FFh/00h; Identität leer
3IdentifizierenA0h 0–95 lesen; Byte 0 = 03h wählt den SFF-8472-Parser0–127 und obere Seite 00h lesen; Byte 0 = 0Dh/11h, Byte 1 Revisionuntere Seite und obere Seite 00h lesen; Byte 0 = 18h/19h…, Byte 1 CMIS-Versionunknown module type
4ValidierenCC_BASE, CC_EXT; Konsistenz von Identifier/Steckverbinder/KodierungCC_BASE, CC_EXTSeite-00h-Prüfsummeinvalid EEPROM, checksum error — Prüfsummen
5Typ dekodierenCompliance-Byte 3–10, 36; Rate Byte 12/66; Längen; WellenlängeByte 131–138, 192; 140/222Medientyp 85, Anwendungsdeskriptorenspeed and type not supported — Compliance-Codes
6PolicyHerstellername/PN (ggf. Signatur) gegen die Kompatibilitätstabellegleichgleichunsupported transceiver, errdisable — Herstellersperre
7LeistungsklasseByte-64-Level-Bits vs. Port-BudgetByte-129-Klasse; Byte 93 schreiben, um Low Power freizugeben/Klassen 5–8 zu aktivierenByte-200-Klasse vs. Port; LPMode deaktivieren oder LowPwrRequestSW löschen → Modul PwrUp → Readybleibt in Low Power, power exceeds — Leistung und Thermik
8KonfigurierenRS0/RS1 oder Soft Rate Select; hostseitige Geschwindigkeit, FEC, SGMII/1000BASE-XCDR ein/aus (98), Rate Select (87–88), Breakout-Lanes auf dem HostAppSel/DataPathID im Staged Control Set wählen → ApplyDPInit → Datenpfad Init → InitializedLOL, FEC-Mismatch, Breakout abgelehnt — Geschwindigkeit und Rate
9Tx aktivierenTX_DISABLE-Pin Low oder Software-Bit gelöscht (A2h 110.6)Byte 86 = 00hSeite 10h Byte 130 = 00h → DPTxTurnOn → DPActivatedFernende sieht −40 dBm — Checkliste kein Link
10LinkPHY/MAC erkennt Signal; AN/Link-Training bei DACgleich pro Lanegleich pro DatenpfadLink down bei guten Pegeln
11ÜberwachenA2h-Monitore und -Flags alle paar Sekunden pollen; TX_FAULT-/RX_LOS-PinsIntL → Flags 3–21 lesen; Monitore pollenIntL → Modul-Flags + Lane-Flags auf Seite 11h; VDMAlarme, Flaps — DDM-Pegel, Link-Flapping
12EntfernenMOD_ABS High → AbbauModPrsL HighModPrsL Highveralteter Zustand, wenn Entprellung versagt

Die Schritte 3–6 laufen bei QSFP- und CMIS-Modulen in Low Power ab: Der Host validiert, bevor er Leistung in die Optik steckt. Deshalb zündet ein gesperrtes oder falsch kodiertes Modul nie seinen Laser, und deshalb liest das Fernende −40 dBm bei einem elektrisch einwandfreien Modul.

Timings, auf die der Host wartet

WartezeitSFPQSFPCMIS
Management bereit nach dem Einstecken300 ms2 s≤ 2 s (MgmtInit), danach Zustand LowPwr
Nach Freigabe von Low Power—bis Data_Not_Ready gelöscht istbis Modulzustand Ready (max. Dauer auf Seite 01h angekündigt)
Datenpfad-Init——pro Schritt angekündigt (Nibble-Code: < 1 ms … < 50 min)
Tx-Aktivierung bis Lichtt_on ≤ 1 mston_txdis 100 ms/toff 400 msDPTxTurnOn-Dauer angekündigt
Flag bis Interrupt—ton_IntL 200 msgemäß Hardwarespezifikation

Timings auf Busebene (t_WR, Clock Stretch): Zweidraht-Schnittstelle.

Policy-Punkte, in denen sich Hosts unterscheiden

  • Whitelist-Strenge — von „nur Herstellername“ bis signierte herstellerspezifische Blöcke.
  • Was bei Ablehnung passiert — Port deaktiviert, Laser aus, oder Link mit Logeintrag zugelassen (Drittanbieter-Optik).
  • CMIS-Tiefe — vollständige Anwendungs-/Datenpfad-Steuerung gegenüber „LPMode freigeben und hoffen" (CMIS-Probleme).
  • FEC- und Geschwindigkeits-Vorgaben — aus Compliance-Codes abgeleitet oder statisch konfiguriert.
  • DDM-Polling — Intervall, ob Schwellwerte eine Portabschaltung auslösen, ob externe Kalibrierung angewendet wird (Kalibrierung).

Herstellerspezifische CLI, um zu sehen, wo der Host stehen geblieben ist: Optik an Switches überprüfen.

Worin sich ein Programmiergerät von einem Host unterscheidet

Ein Programmiergerät wie CodingBox durchläuft die Schritte 1–5 und 11, aber keine Policy: Es liest alles, was das Modul offenlegt, einschließlich Herstellerbereichen und Passwort-Bytes, hält CMIS-Module in Low Power, sofern nicht anders angefordert, und aktiviert den Laser nie von sich aus. Deshalb kann ein Modul auf der Werkbank gesund aussehen und trotzdem in einem Port versagen — die Werkbank hat keinen Schritt 6.

In CodingBox

Check transceiver zeigt das Ergebnis der Schritte 3–5 so, wie ein Host es sehen würde — Typ, Rate, Prüfsummen, Leistungsklasse — und markiert Inkonsistenzen, bevor das Modul einen Port erreicht; DDM deckt Schritt 11 mit Live-Monitoren und Flags ab.

Die Hardware hinter Schritt 6 (Policy) und die Portgruppen-Grenzen hinter Schritt 8: Im Inneren eines Switches, Wie jedes NOS ein Modul validiert.


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