Transceiver-Kompatibilität bei NICs: Whitelists der Treiber
Bei einem Switch ist die Modulrichtlinie eine Zeile im Netzwerk-Betriebssystem; bei einem Server ist es eine Entscheidung von NIC-Treiber und Firmware, die sich je nach Hersteller, Betriebssystem und Treiberversion unterscheidet. Intel-Adapter sind diejenigen, die nicht gelistete Module ablehnen; die meisten anderen akzeptieren alles, was sich parsen lässt. Diese Seite listet das Verhalten nach Hersteller und Betriebssystem, die dokumentierten Overrides, die FEC-/Autonegotiation-Regeln, die darüber entscheiden, ob DAC und Optik linken, und was eine kodierte Identität serverseitig erfüllen muss.
Verhalten nach Hersteller
| Hersteller / Treiber | Prüfung | Bei Fehlschlag | Override | Anmerkungen |
|---|---|---|---|---|
| Intel ixgbe (X520, X540, X550 SFP+) | Liste aus Vendor-OUI/PN der von Intel qualifizierten SFP+ | failed to load because an unsupported SFP+ or QSFP module type was detected, Port down | Modulparameter allow_unsupported_sfp=1 (Linux); Treiber neu laden | DAC in der Regel akzeptiert; 1G-SFPs eingeschränkt |
| Intel i40e (X710, XXV710, XL710) | Qualifizierung des Moduls auf Firmware-Ebene | unsupported module in dmesg, Link down oder „module not qualified“ in ethtool | allow_unsupported_sfp=1 bei neuerem i40e; ältere Builds ohne | XXV710-25G-Module werden streng geprüft |
| Intel ice (E810) | NVM-/Firmware-Qualifizierung | Possible mis-configuration of the Ethernet port detected / nicht qualifiziertes Modul | abhängig von NVM- und Treiberversion; manche Builds respektieren eine Unsupported-SFP-Einstellung, andere lehnen ab — Release Notes von Intel prüfen | in aktueller NVM die freizügigste Intel-Linie |
| Intel unter Windows (PROSet-Treiber) | gleiche Listen | Gerät zeigt „Network cable unplugged“, Warnung im Ereignisprotokoll | kein dokumentierter Override | gelistete oder Intel-kodierte Module verwenden |
| Intel unter VMware ESXi (ixgben, i40en, icen) | gleiche Listen | Link down, vmkernel.log „unsupported module“ | Modulparameter über esxcli system module parameters set, sofern der Treiber allow_unsupported_sfp bereitstellt; nicht bei allen Versionen | in Produktion qualifizierte Module bevorzugen |
| Nvidia / Mellanox mlx5 (ConnectX) | parst EEPROM; bei Ethernet: keine Liste | Link up; mlxlink zeigt Modulinfo | nicht erforderlich | im InfiniBand-Modus: Fabric Manager prüft Kabel-/Modulidentität und kann sie markieren oder herabstufen (IB-Kabel) |
| Broadcom bnxt_en (NetXtreme-E) | parst; bei den meisten SKUs keine Liste | up | — | OEM-Firmware (Dell, HPE) kann zusätzliche Prüfungen einbauen |
| Marvell / QLogic qede | parst | up | — | — |
| AMD Solarflare sfc | parst | up | — | — |
| Chelsio cxgb4 | parst | up | — | — |
| Pensando ionic | parst | up | — | — |
| OEM-NICs der Server-Hersteller (Dell, HPE, Lenovo, Cisco UCS VIC) | können eigene Listen ergänzen, besonders Cisco VIC | „unsupported transceiver“ in CIMC/UCSM | offiziell keiner | UCS VIC akzeptiert Cisco-kodierte Module |
Das Verhalten ändert sich mit Treiber- und Firmware-(NVM-)Versionen; auf der genauen Kombination überprüfen (Kompatibilitätsmatrizen und Firmware).
Den Intel-Override anwenden (Linux)
# vorübergehend (bis zum Neuladen)
modprobe -r ixgbe && modprobe ixgbe allow_unsupported_sfp=1
# dauerhaft
echo "options ixgbe allow_unsupported_sfp=1" > /etc/modprobe.d/ixgbe.conf
echo "options i40e allow_unsupported_sfp=1" > /etc/modprobe.d/i40e.conf
dracut -f # oder update-initramfs -u
# prüfen
cat /sys/module/ixgbe/parameters/allow_unsupported_sfp
dmesg | grep -iE 'sfp|module|unsupported'
ethtool -m eth0
Bei Multiport-Karten nimmt der Parameter bei manchen Treibern eine kommagetrennte Liste (ein Wert je Port) entgegen. Die Einstellung wird von Intel für den Produktivbetrieb nicht unterstützt; sie entfernt die Prüfung, nicht die elektrischen Anforderungen.
FEC und Autonegotiation bei NICs
| Link-Typ | AN | FEC | Anmerkungen |
|---|---|---|---|
| 25G DAC | ein (Clause 73) auf beiden Seiten | ausgehandelt (RS oder BASE-R je nach Kabelklasse) | die meisten Fälle von „kein Link am DAC“ sind AN aus auf einer Seite |
| 25G-SR-/LR-Optik | aus; fest auf 25000 | RS-FEC bei SR (erforderlich), LR: RS oder keine — muss zum Switch passen | ethtool --set-fec eth0 encoding rs |
| 100G DAC | ein | RS-FEC | — |
| 100G SR4 / CWDM4 / DR | aus | RS-FEC erforderlich | — |
| 100G LR4 | aus | keine (bei manchen Plattformen RS) | an den Switch anpassen (FEC und AN) |
| 200G / 400G | bei Optik aus | immer RS(544) KP4 | — |
| 10G | aus | keine | — |
Befehle je Betriebssystem: NIC-Tools und Diagnose; Switch-Seite: Rezepte zur Portkonfiguration.
Was ein kodiertes Modul für eine NIC erfüllen muss
| Ziel | Minimum |
|---|---|
| Intel ixgbe/i40e ohne Override | Herstellername und PN aus Intels qualifizierter Liste (Intel-Module E10GSFPSR/E10GSFPLR/E25GSFP28SR oder die OEM-Teile, die Intel weiterverkauft), konsistente Compliance-Codes und Prüfsummen |
| Intel mit Override, alle freizügigen Hersteller | gültige Prüfsummen und Compliance-Codes — keine OEM-Kodierung nötig |
| Cisco UCS VIC | Identität im Cisco-Stil wie bei Cisco-Switches (Wie jedes NOS ein Modul prüft) |
| InfiniBand-HCAs | korrekte Kabel-/Modulidentität gemäß IBTA und der Liste des Fabric-Herstellers |
Hinweise zur Kodierung: Herstellersperre und Kodierung, Teilenummern-Vergabe.
Typische Symptome auf NIC-Seite
| Symptom | Wahrscheinliche Ursache | Prüfung |
|---|---|---|
| Port fehlt oder „unsupported module“ in dmesg | Treiber-Whitelist | dmesg, ethtool -m, Override oder kodiertes Modul |
| Link down, Modul erkannt, gute Pegel | FEC-/AN-Mismatch, Speed falsch erzwungen | ethtool eth0, ethtool --show-fec eth0 (Speed und Rate) |
| Link up mit falscher Geschwindigkeit | Auto hat bei einem Dual-Rate-Modul 10G gewählt | Speed erzwingen |
| Link up, geringer Durchsatz | PCIe-Breite/-Geschwindigkeit | lspci -vv (Ports und PCIe) |
| Modul heiß, Temperaturalarme | Karte im Abluftstrom | DDM über ethtool -m; Karte versetzen oder Belüftung verbessern |
| Funktioniert unter Linux, nicht unter Windows/ESXi | unterschiedliche Treiberrichtlinie | für dieses Betriebssystem ein qualifiziertes Modul verwenden |
| InfiniBand-Link mit reduzierter Breite/Geschwindigkeit | Kabel nicht auf der Liste oder zu lang | ibstat, mlxlink |
In CodingBox
Ablehnungen auf Serverseite werden anhand derselben Bytes diagnostiziert wie auf Switch-Seite. Herstellername, PN, OUI, Compliance-Codes und Prüfsummen unter Check transceiver auslesen; für reine Intel-Flotten kann die Code database die von den Treibern akzeptierten Intel-Identitäten aufnehmen.