Compatibilidad de transceptores en NIC: listas blancas del controlador
En un conmutador, la política de módulos es una línea del sistema operativo de red; en un servidor es una decisión del driver y el firmware de la NIC, y varía según el fabricante, el sistema operativo y la versión del driver. Los adaptadores Intel son los que rechazan módulos no listados; la mayoría de los demás aceptan cualquier cosa que se analice correctamente. Esta página enumera el comportamiento por fabricante y sistema operativo, las anulaciones documentadas, las reglas de FEC/autonegociación que deciden si un DAC o una óptica enlazan, y qué debe cumplir una identidad codificada en el lado del servidor.
Comportamiento por fabricante
| Fabricante / driver | Comprobación | En caso de fallo | Anulación | Notas |
|---|---|---|---|---|
| Intel ixgbe (X520, X540, X550 SFP+) | lista de OUI/PN de fabricante de SFP+ calificados por Intel | failed to load because an unsupported SFP+ or QSFP module type was detected, puerto caído | parámetro de módulo allow_unsupported_sfp=1 (Linux); recargar el driver | DAC generalmente aceptado; SFP de 1G limitados |
| Intel i40e (X710, XXV710, XL710) | calificación del módulo a nivel de firmware | unsupported module en dmesg, enlace caído o «module not qualified» en ethtool | allow_unsupported_sfp=1 en versiones recientes de i40e; en compilaciones antiguas ninguna | los módulos de 25G de XXV710 se comprueban estrictamente |
| Intel ice (E810) | calificación de NVM/firmware | Possible mis-configuration of the Ethernet port detected / módulo no calificado | depende de la NVM y de la versión del driver; algunas compilaciones respetan un ajuste de SFP no admitido, otras lo rechazan — consultar las notas de versión de Intel | el más permisivo de la línea Intel en NVM recientes |
| Intel en Windows (drivers PROSet) | las mismas listas | el dispositivo muestra «Network cable unplugged», advertencia en el registro de eventos | sin anulación documentada | usar módulos listados o codificados por Intel |
| Intel en VMware ESXi (ixgben, i40en, icen) | las mismas listas | enlace caído, «unsupported module» en vmkernel.log | parámetros de módulo vía esxcli system module parameters set donde el driver expone allow_unsupported_sfp; no en todas las versiones | preferir módulos calificados en producción |
| Nvidia / Mellanox mlx5 (ConnectX) | analiza la EEPROM; Ethernet: sin lista | enlace activo; mlxlink muestra la información del módulo | no necesaria | modo InfiniBand: el fabric manager valida la identidad del cable/módulo y puede marcarlo o degradarlo (Cables IB) |
| Broadcom bnxt_en (NetXtreme-E) | analiza; sin lista en la mayoría de los SKU | activo | — | el firmware con marca OEM (Dell, HPE) puede añadir comprobaciones |
| Marvell / QLogic qede | analiza | activo | — | — |
| AMD Solarflare sfc | analiza | activo | — | — |
| Chelsio cxgb4 | analiza | activo | — | — |
| Pensando ionic | analiza | activo | — | — |
| Server-vendor OEM NICs (Dell, HPE, Lenovo, Cisco UCS VIC) | pueden añadir sus propias listas, especialmente Cisco VIC | «unsupported transceiver» en CIMC/UCSM | ninguna oficialmente | UCS VIC acepta módulos codificados por Cisco |
El comportamiento cambia con las versiones de driver y firmware (NVM); verifíquelo en la combinación exacta (Matrices de compatibilidad y firmware).
Aplicar la anulación de Intel (Linux)
# temporal (hasta recargar)
modprobe -r ixgbe && modprobe ixgbe allow_unsupported_sfp=1
# persistente
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 # o update-initramfs -u
# comprobar
cat /sys/module/ixgbe/parameters/allow_unsupported_sfp
dmesg | grep -iE 'sfp|module|unsupported'
ethtool -m eth0
En tarjetas multipuerto, el parámetro admite una lista separada por comas (un valor por puerto) en algunos drivers. Intel no admite este ajuste para producción; elimina la comprobación, no los requisitos eléctricos.
FEC y autonegociación en las NIC
| Tipo de enlace | AN | FEC | Notas |
|---|---|---|---|
| DAC 25G | activada (cláusula 73) en ambos extremos | negociada (RS o BASE-R según la clase de cable) | la mayoría de los casos de «sin enlace en el DAC» son AN desactivada en un extremo |
| Óptica SR/LR 25G | desactivada; forzada a 25000 | RS-FEC para SR (obligatorio), LR: RS o ninguna — debe coincidir con el conmutador | ethtool --set-fec eth0 encoding rs |
| DAC 100G | activada | RS-FEC | — |
| 100G SR4 / CWDM4 / DR | desactivada | RS-FEC obligatorio | — |
| 100G LR4 | desactivada | ninguna (RS en algunas plataformas) | coincidir con el conmutador (FEC y AN) |
| 200G / 400G | desactivada para óptica | RS(544) KP4 siempre | — |
| 10G | desactivada | ninguna | — |
Comandos por sistema operativo: Herramientas y diagnóstico de NIC; lado del conmutador: Recetas de configuración de puertos.
Qué debe cumplir un módulo codificado para una NIC
| Objetivo | Mínimo |
|---|---|
| Intel ixgbe/i40e sin anulación | nombre de fabricante y PN de la lista calificada de Intel (con marca Intel E10GSFPSR/E10GSFPLR/E25GSFP28SR o las piezas OEM que revenden), códigos de conformidad y checksums coherentes |
| Intel con anulación, todos los fabricantes permisivos | checksums y códigos de conformidad válidos — sin necesidad de codificación OEM |
| Cisco UCS VIC | identidad al estilo Cisco, igual que para los conmutadores Cisco (Cómo valida cada NOS un módulo) |
| HCA InfiniBand | identidad de cable/módulo correcta según IBTA y la lista del fabricante del fabric |
Guía de codificación: Bloqueo de fabricante y codificación, Numeración de piezas.
Síntomas típicos en el lado de la NIC
| Síntoma | Causa probable | Comprobación |
|---|---|---|
| Puerto ausente o «unsupported module» en dmesg | lista blanca del driver | dmesg, ethtool -m, anulación o módulo codificado |
| Enlace caído, módulo reconocido, niveles buenos | desajuste de FEC/AN, velocidad forzada incorrectamente | ethtool eth0, ethtool --show-fec eth0 (Velocidad y tasa) |
| Enlace activo a velocidad incorrecta | auto eligió 10G en un módulo de doble tasa | forzar la velocidad |
| Enlace activo, rendimiento bajo | anchura/velocidad de PCIe | lspci -vv (Puertos y PCIe) |
| Módulo caliente, alarmas de temperatura | tarjeta en el flujo de aire de salida | DDM vía ethtool -m; mover la tarjeta o mejorar el flujo de aire |
| Funciona en Linux, no en Windows/ESXi | política de driver distinta | usar un módulo calificado para ese sistema operativo |
| Enlace InfiniBand con anchura/velocidad reducida | cable no está en la lista o es demasiado largo | ibstat, mlxlink |
En CodingBox
Los rechazos en el lado del servidor se diagnostican con los mismos bytes que en el lado del conmutador. Lea el nombre de fabricante, el PN, el OUI, los códigos de conformidad y los checksums en Check transceiver; para flotas solo Intel, la base de datos de códigos puede guardar las identidades Intel que aceptan los drivers.