Wat de host doet: detectie, validatie, opstarten
De specificaties beschrijven de kant van de module: pinnen, geheugen, toestanden. Deze pagina beschrijft de kant van de host: de volgorde die een switch, router of NIC uitvoert vanaf het plaatsen van een module totdat verkeer stroomt, met de pinnen, bytes en tijden die elke stap gebruikt. Daarmee verandert ‘de poort zegt niet ondersteund’ in ‘de host stopte bij stap 4’ en wordt duidelijk waarom een module die op de werkbank perfect werkt, toch in een poort kan falen.
Signalen met lage snelheid per vormfactor
| Vormfactor | Aanwezigheid | Reset / vermogen | Interrupt / storing | Overig |
|---|---|---|---|---|
| SFP / SFP+ / SFP28 | MOD_ABS (laag = aanwezig) | — (TX_DISABLE blokkeert de laser) | TX_FAULT, RX_LOS | RS0, RS1 rateselectie |
| XFP | Mod_ABS | P_Down/RST | Interrupt, Mod_NR (niet gereed), RX_LOS | TX_DIS, Mod_DeSel |
| QSFP+ / QSFP28 | ModPrsL | ResetL, LPMode | IntL | ModSelL |
| QSFP-DD | ModPrsL | ResetL, LPMode | IntL | ModSelL |
| OSFP | PRSn | RSTn, LPWn | INT | — (geen selectpin, één bus per poort) |
| SFP-DD | module afwezig zoals SFP | aanvraag laag vermogen | interrupt | rateselectie zoals SFP |
Pinfuncties en pinbezettingen per familie: SFP-hardware, QSFP-hardware, XFP.
De volgorde
| # | Stap | SFP (SFF-8472) | QSFP (SFF-8636) | CMIS | Een storing ziet eruit als |
|---|---|---|---|---|---|
| 1 | Detecteren | MOD_ABS wordt laag; debounce | ModPrsL laag | ModPrsL / PRSn laag | poort blijft leeg; module ‘niet gedetecteerd’ |
| 2 | Voeding & wachten | 3,3 V staat altijd aan; wacht t_init 300 ms | inschakelen met LPMode hoog (alleen klasse 1); wacht t_init 2 s of vraag Data_Not_Ready op | hetzelfde; wacht tot de modulestatus MgmtInit verlaat (≤ 2 s) | uitlezingen geven FFh / 00h terug; identiteit leeg |
| 3 | Identificeren | lees A0h 0–95; byte 0 = 03h kiest de SFF-8472-parser | lees 0–127 en upper 00h; byte 0 = 0Dh/11h, byte 1 revisie | lees lower page en upper 00h; byte 0 = 18h/19h…, byte 1 CMIS-versie | onbekend moduletype |
| 4 | Valideren | CC_BASE, CC_EXT; consistentie van identifier/connector/codering | CC_BASE, CC_EXT | page 00h checksum | ongeldige EEPROM, checksum error — Checksums |
| 5 | Type decoderen | conformiteitsbytes 3–10, 36; rate byte 12/66; lengtes; golflengte | bytes 131–138, 192; 140/222 | mediatype 85, toepassingsdescriptors | speed and type not supported — Conformiteitscodes |
| 6 | Beleid | fabrikantnaam/PN (en eventueel handtekening) tegen de compatibiliteitstabel | hetzelfde | hetzelfde | unsupported transceiver, errdisable — Fabrikantvergrendeling |
| 7 | Vermogensklasse | byte 64-niveaubits tegen poortbudget | byte 129-klasse; schrijf byte 93 om laag vermogen vrij te geven / klassen 5–8 in te schakelen | byte 200-klasse tegen poort; hef LPMode op of wis LowPwrRequestSW → module PwrUp → Ready | in laag vermogen gehouden, power exceeds — Vermogen en thermiek |
| 8 | Configureren | RS0/RS1 of softwarematige rateselectie; hostsnelheid, FEC, SGMII/1000BASE-X | CDR aan/uit (98), rateselectie (87–88), breakout-lanes op de host | kies AppSel/DataPathID in de voorbereide besturingsset → ApplyDPInit → datapad Init → Initialized | LOL, FEC-afwijking, breakout geweigerd — Snelheid en rate |
| 9 | Tx inschakelen | TX_DISABLE-pin laag of soft bit gewist (A2h 110.6) | byte 86 = 00h | page 10h byte 130 = 00h → DPTxTurnOn → DPActivated | andere uiteinde ziet −40 dBm — Checklist geen link |
| 10 | Link | PHY/MAC ziet signaal; AN/linktraining op DAC | hetzelfde per lane | hetzelfde per datapad | link down met goede niveaus |
| 11 | Monitoren | vraag elke paar seconden A2h-monitors en -vlaggen op; TX_FAULT / RX_LOS-pinnen | IntL → lees vlaggen 3–21; vraag monitors op | IntL → modulevlaggen + page 11h-lanevlaggen; VDM | alarmen, flaps — DDM-niveaus, Link flapping |
| 12 | Verwijderen | MOD_ABS hoog → afbouwen | ModPrsL hoog | ModPrsL hoog | verouderde toestand als debounce wordt gemist |
Stappen 3–6 gebeuren bij QSFP- en CMIS-modules in laag vermogen: de host valideert voordat hij vermogen aan de optica besteedt. Daarom schakelt een vergrendelde of verkeerd gecodeerde module zijn laser nooit in en leest het andere uiteinde −40 dBm op een module die elektrisch in orde is.
Tijden waarop de host wacht
| Wachttijd | SFP | QSFP | CMIS |
|---|---|---|---|
| Beheer gereed na plaatsing | 300 ms | 2 s | ≤ 2 s (MgmtInit), daarna toestand LowPwr |
| Na het opheffen van laag vermogen | — | tot Data_Not_Ready wordt gewist | tot modulestatus Ready (maximale duur geadverteerd in page 01h) |
| Datapadinitialisatie | — | — | geadverteerd per stap (nibblecode: < 1 ms … < 50 min) |
| Tx inschakelen tot licht | t_on ≤ 1 ms | ton_txdis 100 ms / toff 400 ms | duur van DPTxTurnOn geadverteerd |
| Vlag naar interrupt | — | ton_IntL 200 ms | volgens hardwarespecificatie |
Timingen op busniveau (t_WR, clock stretch): Tweedraadsinterface.
Beleidspunten waarin hosts verschillen
- Striktheid van de whitelist — van ‘alleen fabrikantnaam’ tot ondertekende fabrikantspecifieke blokken.
- Wat bij afwijzing gebeurt — poort uitgeschakeld, laser uit, of link toegestaan met een logvermelding (Optica van derden).
- CMIS-diepte — volledige toepassing-/datapadbesturing tegenover ‘LPMode opheffen en hopen’ (CMIS-problemen).
- Standaardwaarden voor FEC en snelheid — afgeleid uit conformiteitscodes of statisch geconfigureerd.
- DDM-polling — interval, of drempels de poort afsluiten en of externe kalibratie wordt toegepast (Kalibratie).
CLI per fabrikant om te zien waar de host is gestopt: Optica op switches verifiëren.
Hoe een programmer van een host verschilt
Een programmer zoals CodingBox voert stappen 1–5 en 11 uit, maar geen beleid: hij leest alles wat de module beschikbaar stelt, inclusief fabrikantgebieden en wachtwoordbytes, houdt CMIS-modules in laag vermogen tenzij anders gevraagd, en schakelt de laser nooit zelf in. Daarom kan een module op de werkbank gezond lijken en toch in een poort falen: de werkbank heeft geen stap 6.
In CodingBox
Check transceiver toont het resultaat van stappen 3–5 zoals een host die ziet: type, rate, checksums, vermogensklasse, en markeert inconsistenties voordat de module een poort bereikt; DDM behandelt stap 11 met actuele monitors en vlaggen.
De hardware achter stap 6 (beleid) en de poortgroeplimieten achter stap 8: In een switch, Hoe elk NOS een module valideert.