SGMII, 1000BASE-X, QSGMII, USXGMII: serielle Schnittstellen zu PHYs und SFP · Elektrische Schnittstellen: MII-Familie und AUIs · Netzwerkkarten und Switches · Dokumentation · CodingBox
CodingBox Dokumentation

SGMII, 1000BASE-X, QSGMII, USXGMII: serielle Schnittstellen zu PHYs und SFP

Jeder 1G-SFP-Käfig führt eine serielle 1,25-GBd-Lane, und diese Lane kann zwei Dialekte sprechen, die auf dem Oszilloskop identisch aussehen: 1000BASE-X, die von der IEEE definierte Schnittstelle, die ein Glasfasermodul erwartet, und SGMII, Ciscos Variante, die 10/100 Mb/s und eine andere Autonegotiation hinzufügt. Kupfer-SFPs leben genau an der Grenze zwischen beiden, und die meisten Tickets nach dem Muster „der Kupfer-SFP linkt bei 1G, aber meine 100-Mb/s-Kamera nicht“ sind ein Dialekt-Mismatch. Diese Seite behandelt die beiden Gigabit-Dialekte, ihre Autonegotiation, 2500BASE-X, das Multiport-QSGMII, USXGMII für Multigig und 10GBASE-T-SFP+ sowie die Art, wie Linux und Switches den Modus wählen.

1000BASE-X: die native SFP-Schnittstelle (Clause 36/37)

PunktWert
Rate1,25 GBd, 8b/10b → 1000 Mb/s Nutzlast
Lanes1 Differenzpaar je Richtung (CML, AC-gekoppelt)
Kodierung8b/10b mit /K28.5/-Kommas, Ordered Sets /C1/ /C2/ (Konfiguration), /I1/ /I2/ (Idle)
AutonegotiationClause 37: 16-Bit-Konfigurationswort, ausgetauscht in /C/-Ordered-Sets — Vollduplex/Halbduplex, Pause (symmetrisch/asymmetrisch), Remote Fault, Acknowledge. Kein Speed-Feld: 1000BASE-X ist nur 1G
WoSwitch-/NIC-SerDes → SFP-Käfig; Glasfaser-SFP (SX/LX/ZX/BiDi/CWDM) reicht es direkt an den Laser weiter; der PCS sitzt im Host

Ein Glasfaser-SFP ist transparent: Was auch immer der Host kodiert, geht als Licht hinaus. Deshalb hat ein 1G-Glasfasermodul keinen „Modus“ — der Port aber schon, und er muss auf 1000BASE-X stehen (oft als Modus „SerDes“ oder „fiber“ angezeigt, bei Cisco speed nonegotiate, wenn die Gegenstelle keine AN beherrscht).

SGMII: Gigabit plus 10/100 (Cisco-SGMII-Spezifikation v1.8)

PunktWert
Rateebenfalls 1,25 GBd, 8b/10b
10/100-Unterstützungjedes Datenbyte wird 100× (10 Mb/s) bzw. 10× (100 Mb/s) repliziert, damit die Leitung bei 1,25 GBd bleibt
Lanes2 Paare; optionale 625-MHz-DDR-Taktpaare (TX_CLK/RX_CLK) — die meisten SerDes-Implementierungen laufen taktlos
AutonegotiationSGMII-Kontrollwort (ebenfalls in /C/-Ordered-Sets übertragen, 16 Bit): Bit 15 Link, Bits 11–10 Speed (10/100/1000), Bit 12 Duplex, Bit 14 Ack — gesendet PHY → MAC, um dem MAC mitzuteilen, was die Kupferseite ausgehandelt hat. Nicht kompatibel mit dem Inhalt von Clause 37
WoMAC ↔ Kupfer-PHY (Marvell 88E15xx, TI DP83867, Broadcom), SoC ↔ SFP-Käfig auf Boards mit Kupfer-SFP-Unterstützung, intern in Kupfer-1000BASE-T-SFPs

SGMII ist eine MAC-PHY-Schnittstelle; die „Autonegotiation“ läuft zweimal ab — Clause 28 auf dem Twisted-Pair-Kabel zwischen PHY und Link-Partner, danach meldet das SGMII-Kontrollwort das Ergebnis an den MAC. Erwartet ein Host Clause 37 und erhält stattdessen ein SGMII-Wort (oder umgekehrt), schließt die AN nie ab; die AN am Port zu deaktivieren (speed nonegotiate, no negotiation auto, autoneg off) ist der übliche Workaround — nur bei 1G.

Kupfer-SFPs zwischen den beiden

Host-Port-ModusVerhalten des Kupfer-SFP10/100-Clients
1000BASE-X, AN einder PHY des Moduls muss auf Clause 37 antworten — viele tun das (emulieren es), manche nicht → kein Link, bis AN aus istnein (kein Speed-Feld)
1000BASE-X, AN ausLink bei 1G, wenn die Kupferseite 1G aushandeltnein
SGMII, AN einPHY meldet 10/100/1000 über das Kontrollwortja
SGMII, AN ausfest auf 1Gnein

Kupfer-SFP-Module auf Basis des Marvell 88E1111 stehen werkseitig je nach Konfigurations-EEPROM/Strap-Belegung auf SGMII oder 1000BASE-X; Hersteller verkaufen „SGMII“- und „SerDes“-Varianten desselben Moduls, und manche lassen sich über die PHY-Register umschalten, die über das I²C des Moduls erreichbar sind. Switch-Ports mit der Angabe „1000BASE-T SFP supported“ implementieren SGMII auf diesen Käfigen (Kupfer-Ethernet und DAC).

100BASE-FX-SFPs

Ein 100-Mb/s-Glasfaser-SFP (100BASE-FX, 1310 nm, 2 km) verlangt vom Host, die Lane mit 125 MBd und 4b/5b zu betreiben — ein völlig anderer PCS. Nur Ports mit expliziter Unterstützung für „100M SFP“ (viele Campus-Switches auf ausgewählten Ports, die meisten Router; wenige Rechenzentrums-Switches) funktionieren; bei den übrigen wird das Modul erkannt, linkt aber nie. Manche Hosts implementieren 100BASE-FX per SGMII-Replikation mit einem externen PHY im Modul (SFPs vom Typ „100M over SGMII“).

2500BASE-X

PunktWert
Rate3,125 GBd, 8b/10b → 2,5 Gb/s
Standardkeiner von der IEEE (de facto, 2,5 × 1000BASE-X); Linux phy-interface-type = "2500base-x"
ANnach Art von Clause 37, oft deaktiviert
Wo2,5G-SFP-Module (2,5GBASE-T-Kupfer, 2,5G-Glasfaser), GPON-/EPON-ONU-Sticks zum Host hin (2,5G Downstream), Wi-Fi-6-AP-Uplinks, manche 2,5G-Switch-SFP-Käfige

Die IEEE-Entsprechungen für Multigig sind 2,5GBASE-X/5GBASE-R (802.3bz), doch die meisten Chips sprechen 2500BASE-X oder USXGMII.

QSGMII: vier Ports auf einer Lane

PunktWert
Rate5 GBd, 8b/10b; 4 SGMII-Kanäle zeitmultiplext
Lanes2 Paare für vier Ports
WoSwitch-ASIC ↔ Quad-Kupfer-PHY (48-Port-Access-Switches: 12 QSGMII-Lanes statt 48 SGMII), manche Quad-Port-SFP-Käfig-Designs über externen SerDes
VariantenQSGMII (Cisco), außerdem „PSGMII“ (5 Ports) auf manchen Qualcomm-/Realtek-SoCs

In normalen Designs am Käfig nicht sichtbar; relevant wird es, wenn ein Quad-PHY-Board SFP-Combo-Ports bereitstellt, deren Modus vom PHY-Kanal geerbt wird.

USXGMII: 10 Mb/s bis 10 Gb/s auf einer 10G-Lane

PunktWert
Rate10,3125 GBd, 64b/66b (10GBASE-R elektrisch)
Geschwindigkeiten10M, 100M, 1G, 2,5G, 5G, 10G per Symbolreplikation (wie SGMII, nur hochskaliert)
SpezifikationCisco USXGMII (v1.2), weit verbreitet übernommen; Linux usxgmii
MultiportUSXGMII-M: 4 × 2,5G, 2 × 5G, 4 × 1G+… über eine 10G-Lane (wie QSGMII)
ANUSXGMII-AN-Wort im 64b/66b-Idle, meldet Speed/Duplex/Link
WoASIC ↔ Multigig-PHY (2,5/5/10GBASE-T-Ports), 10GBASE-T-SFP+-Module (interner PHY, z. B. Marvell AQR/Broadcom)

Ein 10GBASE-T-SFP+-Modul präsentiert einem normalen SFP+-Port 10GBASE-R (SFI) und linkt bei 10G; ob es zusätzlich 1G-/2,5G-/5G-Clients bedienen kann, hängt davon ab, ob der Host USXGMII-Ratenanpassung auf diesem Käfig unterstützt — die meisten Switches tun das nicht, sodass das Modul nur bei 10G funktioniert oder die Anpassung intern vornimmt und dem Host 10G meldet, während die Kupferseite langsamer läuft (Speed und Rate).

Wie der Host den Modus wählt

HostMechanismus
Linux phylink/SFPliest A0h-Bytes 3–10 (Compliance), 12 (nominale Rate), 36 (Extended) und Byte 6 Bit 3 (1000BASE-T): 1000BASE-T → SGMII (oder 1000BASE-X, wenn dem SoC SGMII fehlt); 1000BASE-SX/LX → 1000BASE-X; BR 3,1 GBd → 2500BASE-X; 10G-Codes → 10GBASE-R; der Kupfer-PHY im Modul wird über I²C (Adresse 0x56/0xAC) abgefragt und von phylib angesteuert
Switch-NOSPort-Vorgabe der Plattform (die meisten 1G-SFP-Käfige sind SGMII-fähig; SFP+/SFP28 bei 1G oft nur 1000BASE-X), Befehle speed 1000, speed nonegotiate, media-type sfp, negotiation auto, port-mode
NIC-TreiberIntel: SFP+-Ports unterstützen 1G nur über 1000BASE-X (kein 10/100-Kupfer-SFP); Mellanox: 1G über 1000BASE-X bei manchen Modellen; Broadcom: je nach Firmware (NIC-Ports)
Kupfer-SFPPHY-Modus per Strap/EEPROM (Variante SGMII vs. SerDes), AN-Verhalten von der Hersteller-Firmware festgelegt

Tabelle der Fehlkombinationen

SymptomUrsacheAbhilfe
Kupfer-SFP: 1G-Clients laufen, 10/100 linkt niePort in 1000BASE-Xauf einen SGMII-fähigen Port wechseln oder ein Modul verwenden, das 10/100 hinter einer 1G-zu-Host-Anpassung verbirgt
Glasfaser-SFP linkt nur mit AN ausGegenstelle ohne Clause 37 (Medienkonverter, manche ONUs) oder SGMII-Wort von einem Kupfermodulspeed nonegotiate / autoneg off
100BASE-FX-SFP erkannt, kein LinkHost ohne 100M-SerDes-Moduseinen Port mit 100M-SFP-Unterstützung verwenden oder ein 100BASE-FX-over-SGMII-Modul
2,5G-SFP linkt bei 1G oder gar nichtHost ohne 2500BASE-Xeinen 2,5G-fähigen Käfig wählen oder ein Modul mit Raten-Fallback
ONU-Stick linkt, bricht dann abErwartung 2500BASE-X vs. 1000BASE-X, ANHost auf 2500BASE-X setzen, AN aus (PON-Optik)
10GBASE-T-SFP+ linkt nur bei 10Gkein USXGMII am Hostnur 10G akzeptieren oder ein Modul mit interner Ratenanpassung verwenden
Linux: Modul funktioniert auf einem Board, auf einem anderen nichtphylink hat anhand des EEPROMs eine andere Schnittstelle gewählt; dem SoC fehlt dieser Modusdmesg auf sfp: module … interface prüfen; Compliance-Bytes oder Device Tree korrigieren

In CodingBox

Die Bytes, die die Wahl des Hosts steuern, liegen alle in A0h: Compliance-Codes 3–10 (1000BASE-T, SX, LX, 10G-Codes), nominale Bitrate 12, Encoding 11 (8b/10b vs. 64b/66b), Extended Compliance 36. Ein Kupfermodul, das als 1000BASE-SX kodiert ist, wird als Glasfaser behandelt und verliert seinen 10/100-Pfad; ein Glasfasermodul mit einem versehentlich gesetzten 1000BASE-T-Bit wird als SGMII angesteuert. CodingBox zeigt und bearbeitet diese Felder (Check transceiver, Compliance-Codes).


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