Compatibilité des transceivers sur les NIC : listes blanches de pilotes
Sur un commutateur, la politique de module est une ligne dans le NOS ; sur un serveur, c’est une décision prise par le pilote et le firmware du NIC, et elle diffère selon le constructeur, le système d’exploitation et la version du pilote. Les adaptateurs Intel sont ceux qui refusent les modules non listés ; la plupart des autres acceptent tout ce qui se décode. Cette page liste le comportement par constructeur et par OS, les contournements documentés, les règles de FEC/autonégociation qui décident si le DAC et l’optique se connectent, et ce qu’une identité codée doit satisfaire côté serveur.
Comportement par constructeur
| Constructeur / pilote | Vérification | En cas d’échec | Contournement | Remarques |
|---|---|---|---|---|
| Intel ixgbe (X520, X540, X550 SFP+) | liste OUI constructeur / PN des SFP+ qualifiés Intel | failed to load because an unsupported SFP+ or QSFP module type was detected, port down | paramètre de module allow_unsupported_sfp=1 (Linux) ; recharger le pilote | DAC généralement accepté ; SFP 1G limités |
| Intel i40e (X710, XXV710, XL710) | qualification du module au niveau firmware | unsupported module dans dmesg, liaison coupée ou « module not qualified » dans ethtool | allow_unsupported_sfp=1 sur les i40e récents ; aucun sur les anciennes versions | modules 25G XXV710 strictement vérifiés |
| Intel ice (E810) | qualification NVM/firmware | Possible mis-configuration of the Ethernet port detected / module non qualifié | dépend de la version du NVM et du pilote ; certaines versions respectent un réglage unsupported-SFP, d’autres rejettent — vérifier les notes de version Intel | le plus permissif de la gamme Intel sur les NVM récents |
| Intel sous Windows (pilotes PROSet) | mêmes listes | l’appareil affiche « Network cable unplugged », avertissement dans le journal d’événements | aucun contournement documenté | utiliser des modules listés ou codés Intel |
| Intel sous VMware ESXi (ixgben, i40en, icen) | mêmes listes | liaison coupée, vmkernel.log « unsupported module » | paramètres de module via esxcli system module parameters set quand le pilote expose allow_unsupported_sfp ; pas sur toutes les versions | préférer des modules qualifiés en production |
| Nvidia / Mellanox mlx5 (ConnectX) | décode l’EEPROM ; Ethernet : pas de liste | liaison établie ; mlxlink affiche les infos du module | pas nécessaire | mode InfiniBand : le fabric manager valide l’identité du câble/module et peut la signaler ou la déclasser (Câbles IB) |
| Broadcom bnxt_en (NetXtreme-E) | décode ; pas de liste sur la plupart des références | établie | — | le firmware des versions à marque OEM (Dell, HPE) peut ajouter des vérifications |
| Marvell / QLogic qede | décode | établie | — | — |
| AMD Solarflare sfc | décode | établie | — | — |
| Chelsio cxgb4 | décode | établie | — | — |
| Pensando ionic | décode | établie | — | — |
| NIC OEM des constructeurs de serveurs (Dell, HPE, Lenovo, Cisco UCS VIC) | peuvent ajouter leurs propres listes, en particulier Cisco VIC | « unsupported transceiver » dans CIMC/UCSM | aucun officiellement | UCS VIC accepte les modules codés Cisco |
Le comportement change avec les versions du pilote et du firmware (NVM) ; vérifiez sur la combinaison exacte (Matrices de compatibilité et firmware).
Appliquer le contournement Intel (Linux)
# temporary (until reload)
modprobe -r ixgbe && modprobe ixgbe allow_unsupported_sfp=1
# persistent
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 # or update-initramfs -u
# verify
cat /sys/module/ixgbe/parameters/allow_unsupported_sfp
dmesg | grep -iE 'sfp|module|unsupported'
ethtool -m eth0
Pour les cartes multiport, le paramètre prend une liste séparée par des virgules (une valeur par port) sur certains pilotes. Ce réglage n’est pas pris en charge par Intel en production ; il supprime la vérification, pas les exigences électriques.
FEC et autonégociation sur les NIC
| Type de liaison | AN | FEC | Remarques |
|---|---|---|---|
| DAC 25G | activée (clause 73) aux deux extrémités | négocié (RS ou BASE-R selon la classe de câble) | la plupart des cas « pas de liaison sur DAC » viennent d’une AN désactivée à une extrémité |
| Optique SR / LR 25G | désactivée ; forcée à 25000 | RS-FEC pour SR (requis), LR : RS ou aucun — doit correspondre au commutateur | ethtool --set-fec eth0 encoding rs |
| DAC 100G | activée | RS-FEC | — |
| 100G SR4 / CWDM4 / DR | désactivée | RS-FEC requis | — |
| 100G LR4 | désactivée | aucun (RS sur certaines plateformes) | à faire correspondre au commutateur (FEC et AN) |
| 200G / 400G | désactivée pour l’optique | RS(544) KP4 toujours | — |
| 10G | désactivée | aucun | — |
Commandes par OS : Outils et diagnostics NIC ; côté commutateur : Recettes de configuration de port.
Ce qu’un module codé doit satisfaire pour un NIC
| Cible | Minimum |
|---|---|
| Intel ixgbe/i40e sans contournement | nom constructeur et PN de la liste qualifiée Intel (références de marque Intel E10GSFPSR/E10GSFPLR/E25GSFP28SR ou les pièces OEM qu’ils revendent), codes de conformité et sommes de contrôle cohérents |
| Intel avec contournement, tous les constructeurs permissifs | sommes de contrôle et codes de conformité valides — aucun codage OEM nécessaire |
| Cisco UCS VIC | identité de style Cisco comme pour les commutateurs Cisco (Comment chaque NOS valide un module) |
| HCA InfiniBand | identité de câble/module correcte selon l’IBTA et la liste du constructeur du fabric |
Conseils de codage : Verrouillage constructeur et codage, Numérotation des pièces.
Symptômes typiques côté NIC
| Symptôme | Cause probable | Vérification |
|---|---|---|
| Port absent ou « unsupported module » dans dmesg | liste blanche du pilote | dmesg, ethtool -m, contournement ou module codé |
| Liaison coupée, module reconnu, bons niveaux | incompatibilité FEC/AN, débit forcé incorrect | ethtool eth0, ethtool --show-fec eth0 (Vitesse et débit) |
| Liaison établie au mauvais débit | l’auto a choisi 10G sur un module double débit | forcer le débit |
| Liaison établie, faible débit utile | largeur/vitesse PCIe | lspci -vv (Ports et PCIe) |
| Module chaud, alarmes de température | carte dans le flux d’air d’échappement | DDM via ethtool -m ; déplacer la carte ou améliorer la ventilation |
| Fonctionne sous Linux, pas sous Windows/ESXi | politique de pilote différente | utiliser un module qualifié pour cet OS |
| Liaison InfiniBand à largeur/vitesse réduite | câble absent de la liste ou trop long | ibstat, mlxlink |
Dans CodingBox
Les rejets côté serveur se diagnostiquent à partir des mêmes octets que côté commutateur. Lisez le nom du constructeur, le PN, l’OUI, les codes de conformité et les sommes de contrôle dans Check transceiver ; pour les parcs exclusivement Intel, la code database peut contenir les identités Intel que les pilotes acceptent.