SGMII, 1000BASE-X, QSGMII, USXGMII: interfacce seriali verso PHY e SFP · Interfacce elettriche: famiglia MII e AUI · Schede di rete e switch · Documentazione · CodingBox
CodingBox Documentazione

SGMII, 1000BASE-X, QSGMII, USXGMII: interfacce seriali verso PHY e SFP

Ogni gabbia SFP 1G porta una lane seriale a 1,25 GBd, e quella lane può parlare due dialetti che su un oscilloscopio sembrano identici: 1000BASE-X, l’interfaccia IEEE che un modulo in fibra si aspetta, e SGMII, la variante di Cisco che aggiunge 10/100 Mb/s e un’autonegoziazione diversa. Gli SFP in rame vivono al confine tra i due, e la maggior parte dei ticket del tipo «l’SFP in rame collega a 1G ma la mia telecamera da 100 Mb/s no» sono un disallineamento di dialetto. Questa pagina copre i due dialetti gigabit, la loro autonegoziazione, 2500BASE-X, il QSGMII multiporta, USXGMII per il multigig e l’SFP+ 10GBASE-T, e come Linux e gli switch scelgono la modalità.

1000BASE-X: l’interfaccia nativa dell’SFP (Clause 36/37)

VoceValore
Velocità1,25 GBd, 8b/10b → payload di 1000 Mb/s
Lane1 coppia differenziale per direzione (CML, accoppiata in AC)
Codifica8b/10b con virgole /K28.5/, insiemi ordinati /C1/ /C2/ (configurazione), /I1/ /I2/ (inattività)
AutonegoziazioneClause 37: parola di configurazione a 16 bit scambiata negli insiemi ordinati /C/ — full/half duplex, pausa (simmetrica/asimmetrica), guasto remoto, conferma. Nessun campo di velocità: 1000BASE-X è solo 1G
DoveSerDes di switch/NIC → gabbia SFP; l’SFP in fibra (SX/LX/ZX/BiDi/CWDM) lo passa direttamente al laser; il PCS vive nell’host

Un SFP in fibra è trasparente: qualunque cosa codifichi l’host esce come luce. Per questo un modulo in fibra 1G non ha «modalità» — ma la porta sì, e deve essere 1000BASE-X (spesso indicata come modalità «SerDes» o «fiber», speed nonegotiate su Cisco quando l’altro capo non ha AN).

SGMII: gigabit più 10/100 (specifica Cisco SGMII v1.8)

VoceValore
Velocitàgli stessi 1,25 GBd, 8b/10b
Supporto 10/100ogni byte di dati replicato 100× (10 Mb/s) o 10× (100 Mb/s) così la linea resta a 1,25 GBd
Lane2 coppie; coppie di clock DDR a 625 MHz opzionali (TX_CLK/RX_CLK) — la maggior parte delle implementazioni SerDes funziona senza clock
Autonegoziazioneparola di controllo SGMII (anch’essa negli insiemi ordinati /C/, 16 bit): bit 15 collegamento, bit 11–10 velocità (10/100/1000), bit 12 duplex, bit 14 conferma — inviata PHY → MAC per dire al MAC cosa ha negoziato il lato in rame. Non compatibile con il contenuto della Clause 37
DoveMAC ↔ PHY in rame (Marvell 88E15xx, TI DP83867, Broadcom), SoC ↔ gabbia SFP su schede che vogliono supportare SFP in rame, internamente a SFP 1000BASE-T in rame

SGMII è un’interfaccia MAC-PHY; l’«autonegoziazione» avviene due volte — Clause 28 sul doppino tra il PHY e il partner di collegamento, poi la parola di controllo SGMII riporta il risultato al MAC. Quando un host si aspetta la Clause 37 e riceve una parola SGMII (o viceversa), il collegamento non completa mai l’AN; disabilitare l’AN sulla porta (speed nonegotiate, no negotiation auto, autoneg off) è il workaround abituale — solo a 1G.

Gli SFP in rame tra i due

Modalità della porta hostComportamento dell’SFP in rameClient 10/100
1000BASE-X, AN attivail PHY del modulo deve rispondere alla Clause 37 — molti lo fanno (emulano), altri no → nessun collegamento finché l’AN non è disattivatano (nessun campo di velocità)
1000BASE-X, AN disattivatacollegamento a 1G quando il lato in rame negozia 1Gno
SGMII, AN attivail PHY riporta 10/100/1000 tramite la parola di controllosì
SGMII, AN disattivata1G fissono

I moduli SFP in rame basati su Marvell 88E1111 usano di default SGMII o 1000BASE-X a seconda di un’EEPROM di configurazione/strap impostata in fabbrica; i produttori vendono varianti «SGMII» e «SerDes» dello stesso modulo, e alcune possono essere commutate tramite i registri del PHY raggiungibili via I²C del modulo. Le porte switch che indicano «1000BASE-T SFP supportato» implementano SGMII su quelle gabbie (Ethernet in rame e DAC).

SFP 100BASE-FX

Un SFP in fibra a 100 Mb/s (100BASE-FX, 1310 nm, 2 km) richiede che l’host faccia girare la lane a 125 MBd con 4b/5b — un PCS completamente diverso. Funzionano solo le porte che supportano esplicitamente «100M SFP» (molti switch da campus su porte selezionate, la maggior parte dei router; pochi switch da data center); sulle altre il modulo viene rilevato e non collega mai. Alcuni host implementano 100BASE-FX tramite replicazione SGMII con un PHY esterno nel modulo (SFP «100M over SGMII»).

2500BASE-X

VoceValore
Velocità3,125 GBd, 8b/10b → 2,5 Gb/s
Standardnessuno dall’IEEE (de facto, 2,5 × 1000BASE-X); Linux phy-interface-type = "2500base-x"
ANin stile Clause 37, spesso disattivata
Dovemoduli SFP 2,5G (rame 2,5GBASE-T, fibra 2,5G), stick ONU GPON/EPON verso l’host (downstream 2,5G), uplink di AP Wi-Fi 6, alcune gabbie SFP di switch 2,5G

Gli equivalenti IEEE per il multigig sono 2,5GBASE-X/5GBASE-R (802.3bz), ma la maggior parte del silicio parla 2500BASE-X o USXGMII.

QSGMII: quattro porte su una lane

VoceValore
Velocità5 GBd, 8b/10b; 4 canali SGMII multiplexati nel tempo
Lane2 coppie per quattro porte
DoveASIC di switch ↔ PHY in rame quad (switch di accesso a 48 porte: 12 lane QSGMII invece di 48 SGMII), alcuni design di gabbia SFP quad-porta tramite SerDes esterno
VariantiQSGMII (Cisco), anche «PSGMII» (5 porte) su alcuni SoC Qualcomm/Realtek

Non visibile a una gabbia nei design normali; conta quando una scheda quad-PHY espone porte combo SFP la cui modalità è ereditata dal canale del PHY.

USXGMII: da 10 Mb/s a 10 Gb/s su una lane a 10G

VoceValore
Velocità10,3125 GBd, 64b/66b (elettrico 10GBASE-R)
Velocità supportate10M, 100M, 1G, 2,5G, 5G, 10G tramite replicazione di simboli (come SGMII in scala)
SpecificaCisco USXGMII (v1.2), adottata ampiamente; Linux usxgmii
MultiportaUSXGMII-M: 4 × 2,5G, 2 × 5G, 4 × 1G+… su una lane a 10G (come QSGMII)
ANparola di AN USXGMII nell’inattività 64b/66b, riporta velocità/duplex/collegamento
DoveASIC ↔ PHY multigig (porte 2,5/5/10GBASE-T), moduli SFP+ 10GBASE-T (PHY interno, ad es. Marvell AQR/Broadcom)

Un modulo SFP+ 10GBASE-T presenta 10GBASE-R (SFI) a una normale porta SFP+ e collega a 10G; se possa anche servire client 1G/2,5G/5G dipende dal fatto che l’host supporti l’adattamento di velocità USXGMII su quella gabbia — la maggior parte degli switch non lo fa, quindi il modulo funziona solo a 10G, oppure esegue l’adattamento internamente e riporta 10G all’host mentre il lato in rame gira più lento (Velocità e rate).

Come l’host sceglie la modalità

HostMeccanismo
Linux phylink/SFPlegge i byte A0h 3–10 (conformità), 12 (velocità nominale), 36 (esteso) e il bit 3 del byte 6 (1000BASE-T): 1000BASE-T → SGMII (o 1000BASE-X se il SoC non ha SGMII); 1000BASE-SX/LX → 1000BASE-X; BR 3,1 GBd → 2500BASE-X; codici 10G → 10GBASE-R; il PHY in rame dentro il modulo viene sondato via I²C (indirizzo 0x56/0xAC) e pilotato da phylib
NOS dello switchpredefinito della porta secondo la piattaforma (la maggior parte delle gabbie SFP 1G è capace di SGMII; SFP+/SFP28 a 1G spesso solo 1000BASE-X), comandi speed 1000, speed nonegotiate, media-type sfp, negotiation auto, port-mode
Driver NICIntel: le porte SFP+ supportano 1G solo in 1000BASE-X (nessun SFP in rame 10/100); Mellanox: 1G via 1000BASE-X su alcuni modelli; Broadcom: secondo firmware (Porte NIC)
SFP in ramestrap/EEPROM della modalità del PHY (variante SGMII rispetto a SerDes), comportamento dell’AN impostato dal firmware del produttore

Tabella dei disallineamenti

SintomoCausaSoluzione
SFP in rame: client 1G ok, 10/100 non collega maiporta in 1000BASE-Xpassa a una porta capace di SGMII o usa un modulo che nasconde il 10/100 dietro un adattamento a 1G verso l’host
L’SFP in fibra collega solo con AN disattivatal’altro capo senza Clause 37 (media converter, alcune ONU) o parola SGMII da un modulo in ramespeed nonegotiate / autoneg off
SFP 100BASE-FX rilevato, nessun collegamentol’host non ha la modalità SerDes 100Musa una porta che supporti 100M SFP, o un modulo 100BASE-FX su SGMII
L’SFP 2,5G collega a 1G o non collega affattol’host non ha 2500BASE-Xscegli una gabbia capace di 2,5G o un modulo con fallback di velocità
Lo stick ONU collega, poi cadeaspettativa 2500BASE-X rispetto a 1000BASE-X, ANimposta l’host a 2500BASE-X, AN disattivata (Ottica PON)
L’SFP+ 10GBASE-T collega solo a 10Gnessun USXGMII sull’hostaccetta solo 10G, o usa un modulo con adattamento di velocità interno
Linux: il modulo funziona su una scheda, non su un’altraphylink ha scelto un’interfaccia diversa dall’EEPROM; al SoC manca quella modalitàcontrolla dmesg per sfp: module … interface; correggi i byte di conformità o il device tree

In CodingBox

I byte che orientano la scelta dell’host sono tutti in A0h: codici di conformità 3–10 (1000BASE-T, SX, LX, codici 10G), bit rate nominale 12, codifica 11 (8b/10b rispetto a 64b/66b), conformità estesa 36. Un modulo in rame codificato come 1000BASE-SX verrà trattato come fibra e perderà il suo percorso 10/100; un modulo in fibra con un bit 1000BASE-T spurio verrà pilotato come SGMII. CodingBox mostra e modifica questi campi (Check transceiver, Codici di conformità).


Se trovi un’imprecisione o un errore in questo articolo, seleziona il passaggio corrispondente e premi Ctrl+Enter per .