CMIS — gemeenschappelijke beheerinterface · Specificaties en standaarden · Optische transceivers en kabels · Documentatie · CodingBox
CodingBox Documentatie

CMIS — gemeenschappelijke beheerinterface

CMIS, de Common Management Interface Specification, is het beheermodel voor elke nieuwe snelle vormfactor: QSFP-DD, OSFP, OSFP-XD, QSFP112, SFP-DD en SFP112 (als SFP+ met CMIS), DSFP, COBO en QSFP met CMIS-ondersteuning. Het begon bij de QSFP-DD MSA (CMIS 3.0, 2018), werd overgenomen door de OSFP- en COBO-groepen en wordt sinds versie 5.0 (2021) beheerd door de OIF. Vergeleken met SFF-8636 is het geen grotere geheugenmap maar een ander model: gebankte pagina's voor maximaal 32 lanes, expliciete toestandsmachines voor de module en elk datapad, applicaties in plaats van conformiteitsbitvelden, uitgebreide diagnostiek (VDM) en een opdrachtkanaal (CDB) voor firmware en uitgebreide functies. Versiebyte en geschiedenis: Specificatierevisies.

Geheugenmodel

RegioAdresseringInhoud
Onderste pagina (bytes 0–127)altijd zichtbaaridentifier, revisie, modulestatus, flags, modulemonitors, globale besturing, mediatype, applicatiebeschrijvingen 1–8, wachtwoord, bank select 126, page select 127
Bovenste pagina 00h (128–255)pagina 127 = 00hfabrikantsblok, vermogensklasse, connector, kabellengtes, mediatechnologie, checksum
01hgemelde module-eigenschappenfirmware-/hardwarerevisies, linklengtes, golflengte, ondersteunde pagina's en banken, tijdsduren, signaalintegriteitsbesturing, beschrijvingen 9–15
02hdrempelsalarm-/waarschuwingsdrempels voor module en lane
04hlasermogelijkhedenrasters en bereiken voor afstembare lasers (SFF-TA-1004-lijn)
10h (gebankt)lanebesturingdatapad-deinit, Tx disable, polariteit, squelch, egalisatie, voorbereide besturingssets
11h (gebankt)lanestatusdatapadtoestanden, flags per lane, lanemonitors, configuratiestatus, actieve besturingsset
12h (gebankt)besturing afstembare laserkanaal/golflengte per lane
13h–14h (gebankt)diagnostiekloopbacks, PRBS-generatoren en -checkers
20h–2Fh (gebankt)VDMbeschrijvingen, samples, drempels, flags
9FhCDBopdrachtblok: opdracht-ID, lengtes, checksum, lokale payload
A0h–AFhCDB EPLuitgebreide payload voor grote overdrachten (firmware-images)
80h–FFh (overig)fabrikantaangepaste pagina's

Een bank adresseert 8 lanes: bank 0 omvat lanes 1–8, bank 1 lanes 9–16 enzovoort; het aantal geïmplementeerde lanes meldt de module op pagina 01h. Modules met alleen pagina 00h zetten de flat memory-bit (byte 2 bit 7). Bus: enkel adres A0h, maximaal 400 kHz, ModSelL per slot — tweedraadsinterface.

Onderste pagina — de bytes waarop een host draait

BytesVeldOpmerkingen
0Identifier18h QSFP-DD, 19h OSFP, 1Eh QSFP met CMIS… (SFF-8024)
1CMIS-revisiemajor.minor-nibbles: 50h = 5.0, 40h = 4.0, 30h = 3.0
2Geheugenkenmerkenbit 7 flat memory, plus stepped-config-only en andere capaciteitsbits
3Modulestatusbits 3–1: 1 LowPwr, 2 PwrUp, 3 Ready, 4 PwrDn, 5 Fault; bit 0 interrupt gedeactiveerd
8–11Moduleflagsstatus gewijzigd, temperatuur/Vcc-alarmen, aux-alarmen, aangepast; gelatcht, gewist bij lezen
14–25Modulemonitorstemperatuur, Vcc, Aux1–Aux3 (TEC-stroom, lasertemperatuur, extra voeding), aangepast
26Globale besturing5.x: bit 6 LowPwrAllowRequestHW, bit 5 squelchmethode, bit 4 LowPwrRequestSW, bit 3 softwarereset (4.x: bit 6 LowPwr, bit 4 ForceLowPwr)
37–38CDB-statusbezig / geslaagd / mislukt voor opdrachtblokken 1 en 2
39–40Actieve firmwaremajor.minor van het actieve image
85Mediatype01h MMF, 02h SMF, 03h passief koper, 04h actieve kabel, 05h BASE-T
86–117Applicatiebeschrijvingen 1–8elk 4 bytes: host-interface-ID, media-interface-ID, aantallen host-/media-lanes, opties voor toewijzing van host-lanes
118–121Wachtwoordwijzigingfabrikantgedefinieerd
122–125Wachtwoordinvoerfabrikantgedefinieerd — hier komen wachtwoorden voor schrijfbeveiliging
126Bank select—
127Page select—

Toestandsmachine van de module

Reset ──► MgmtInit ──► ModuleLowPwr ──► ModulePwrUp ──► ModuleReady
                            ▲                              │
                            └──────── ModulePwrDn ◄────────┘
                       (ModuleFault from any state on a fatal error)
  • MgmtInit — de module start de controller op; identiteit is nog niet leesbaar (maximaal 2 s volgens de hardwarespecificaties).
  • ModuleLowPwr — identiteit, gemelde module-eigenschappen en drempels zijn leesbaar; vermogen beperkt tot klasse 1; de host valideert de module hier.
  • ModulePwrUp → ModuleReady — de host deactiveert de LPMode-pin (of wist LowPwrRequestSW) en de module schakelt de optica in; datapaden kunnen nu worden geïnitialiseerd.
  • ModulePwrDn — het omgekeerde bij een LPMode-assertie.

Een module die LowPwr nooit verlaat, is het klassieke CMIS-ticket: CMIS-problemen, Vermogen & thermisch.

Applicaties en het datapad

In plaats van conformiteitsbits meldt een CMIS-module applicaties — paren van elektrische host-interface en media-interface, met lane-aantallen:

BeschrijvingHost-interfaceMedia-interfaceHost-lanes / media-lanesVoorbeeld
App 112h 400GAUI-8 C2M1Ch 400GBASE-DR48 / 4één 400G-link
App 20Eh 100GAUI-2 C2M14h 100GBASE-DR2 / 14 × 100G-breakout

De host kiest een applicatie per lane door AppSel (bits 7–4), een DataPathID (bits 3–1) en de expliciete-besturingsbit naar de Staged Control Set 0 (pagina 10h bytes 145–152) te schrijven en vervolgens ApplyDPInit te activeren (pagina 10h byte 143). De module antwoordt in ConfigStatus (pagina 11h bytes 202–205: geaccepteerd, afgewezen, ongeldige AppSel, ongeldige lanecombinatie…) en kopieert de geaccepteerde waarden naar de Active Control Set (pagina 11h 206–221). Elk datapad doorloopt vervolgens zijn eigen toestandsmachine:

DPDeactivated ──► DPInit ──► DPInitialized ──► DPTxTurnOn ──► DPActivated
       ▲                                                          │
       └────────── DPDeinit ◄───────── DPTxTurnOff ◄──────────────┘

Toestanden worden per lane gemeld in pagina 11h bytes 128–131 (één nibble per lane), en de maximale tijdsduren voor elke stap meldt de module in pagina 01h, zodat de host weet hoe lang te wachten. Tx disable per lane staat in pagina 10h byte 130. Breakout die de module niet als applicatie vermeldt, is eenvoudigweg niet beschikbaar — Snelheid & rate.

Monitoring: flags, monitors, VDM

  • Modulemonitors (onderste pagina 14–25) en lanemonitors (pagina 11h: Tx power 154–169, Tx bias 170–185, Rx power 186–201, 2 bytes per lane) gebruiken dezelfde 16-bitformaten als SFP/QSFP (eenheden).
  • Drempels staan op pagina 02h; flags worden gelatcht en bij lezen gewist, met masks per flag; IntL signaleert elke ongemaskeerde flag.
  • VDM (pagina's 20h–2Fh) voegt observeerbare waarden toe die de oude specificaties nooit hadden: pre-FEC BER, oncorrigeerbare FEC-frames, SNR per lane, lasertemperatuur en -leeftijd, eSNR, PAM4-niveauovergangsparameters — elk met eigen beschrijving, drempels en flags. Zo rapporteert een 400G-module de linkkwaliteit voordat fouten de host bereiken (DDM monitoren in productie).

CDB — Command Data Block

Pagina 9Fh is een mailbox: de host schrijft een opdracht-ID (bytes 128–129), payloadlengtes (130–132), een checksum (133) en maximaal 120 bytes lokale payload (136–255), optioneel meer in de EPL-pagina's A0h–AFh; de module voert de opdracht uit en meldt dit in statusbytes 37–38 met een antwoord-payload. Standaardopdrachten zijn onder meer:

OpdrachtDoel
0000hstatus opvragen
0040h / 0041hmodulefuncties / functies voor firmwarebeheer
0100hfirmware-informatie ophalen (actieve en inactieve images)
0101hfirmwaredownload starten
0103h / 0104hfirmwareblok schrijven via LPL / EPL
0107hdownload voltooien
0109h / 010Ahimage uitvoeren / image vastleggen
0102hafbreken

CDB is hoe fabrikantstools modulefirmware in het veld bijwerken en hoe sommige fabrikanten configuratie- en ontgrendelfuncties implementeren. Ondersteuning en functies meldt de module op pagina 01h.

Checksums en wachtwoorden

Pagina 00h byte 222 is de checksum van bytes 128–221; pagina's 01h, 02h en 04h hebben een paginachecksum in byte 255 (Checksums). Wachtwoorden (122–125) en fabrikantontgrendelingsschema's vallen buiten de specificatie — EEPROM-hercodering.

Hostondersteuning

Netwerkbesturingssystemen implementeren CMIS 4.0 en 5.x in uiteenlopende mate: sommige doorlopen de volledige applicatie-/datapadstroom, andere schakelen LPMode vrij en verwachten dat de module zichzelf opstart. Het verschil ligt achter de meeste tickets voor ‘herkend maar nooit gereed’ — CMIS-problemen, Wat de host doet.

In CodingBox

CodingBox detecteert CMIS aan de hand van identifier en revisiebyte, leest lager geheugen, pagina's 00h, 01h, 02h en de gebankte lanepagina's, decodeert applicatiebeschrijvingen volgens SFF-8024, toont module- en datapadtoestanden en monitors per lane in DDM, en bewerkt identiteit met opnieuw berekende paginachecksums in de EEPROM editor. Firmwarebewerkingen via CDB zijn fabrikantspecifiek en vallen buiten het bereik van de editor.

Tabellen op registerniveau: Kaart van de onderste pagina, Kaart van bovenste pagina's 00h/01h/02h, Kaart van lanepagina's 10h/11h, VDM, CDB.


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