Compatibilità dei ricetrasmettitori sulle NIC: whitelist dei driver
Su uno switch, la policy dei moduli è una riga nel NOS di rete; su un server è una decisione presa dal driver e dal firmware della NIC, e cambia per produttore, per sistema operativo e per versione del driver. Gli adattatori Intel sono quelli che rifiutano i moduli non elencati; la maggior parte degli altri accetta qualunque cosa venga analizzata correttamente. Questa pagina elenca il comportamento per produttore e sistema operativo, gli override documentati, le regole FEC/autonegoziazione che decidono se un DAC e un’ottica collegano, e cosa deve soddisfare un’identità codificata sul lato server.
Comportamento per produttore
| Produttore / driver | Controllo | In caso di fallimento | Override | Note |
|---|---|---|---|---|
| Intel ixgbe (X520, X540, X550 SFP+) | elenco OUI/PN del produttore per SFP+ qualificati Intel | failed to load because an unsupported SFP+ or QSFP module type was detected, porta down | parametro modulo allow_unsupported_sfp=1 (Linux); ricarica il driver | DAC generalmente accettati; SFP 1G limitati |
| Intel i40e (X710, XXV710, XL710) | qualifica del modulo a livello firmware | unsupported module in dmesg, link down oppure «module not qualified» in ethtool | allow_unsupported_sfp=1 sulle versioni più recenti di i40e; nessuna sulle build più vecchie | i moduli 25G di XXV710 sono controllati rigorosamente |
| Intel ice (E810) | qualifica NVM/firmware | Possible mis-configuration of the Ethernet port detected / modulo non qualificato | dipende dalla versione di NVM e driver; alcune build rispettano un’impostazione per SFP non supportati, altre rifiutano — verifica le note di rilascio Intel | il più permissivo della linea Intel nelle NVM recenti |
| Intel su Windows (driver PROSet) | stessi elenchi | il dispositivo mostra «Network cable unplugged», avviso nel registro eventi | nessun override documentato | usa moduli elencati o codificati Intel |
| Intel su VMware ESXi (ixgben, i40en, icen) | stessi elenchi | link down, vmkernel.log «unsupported module» | parametri modulo via esxcli system module parameters set dove il driver espone allow_unsupported_sfp; non su tutte le versioni | preferisci moduli qualificati in produzione |
| Nvidia / Mellanox mlx5 (ConnectX) | analizza l’EEPROM; Ethernet: nessun elenco | link up; mlxlink mostra le informazioni del modulo | non necessario | modalità InfiniBand: il fabric manager convalida l’identità di cavo/modulo e può segnalarla o degradarla (Cavi IB) |
| Broadcom bnxt_en (NetXtreme-E) | analizza; nessun elenco sulla maggior parte degli SKU | up | — | il firmware a marchio OEM (Dell, HPE) può aggiungere controlli |
| Marvell / QLogic qede | analizza | up | — | — |
| AMD Solarflare sfc | analizza | up | — | — |
| Chelsio cxgb4 | analizza | up | — | — |
| Pensando ionic | analizza | up | — | — |
| NIC OEM dei produttori di server (Dell, HPE, Lenovo, Cisco UCS VIC) | possono aggiungere i propri elenchi, in particolare Cisco VIC | «unsupported transceiver» in CIMC/UCSM | nessuno ufficialmente | UCS VIC accetta moduli codificati Cisco |
Il comportamento cambia con le versioni di driver e firmware (NVM); verifica sulla combinazione esatta (Matrici di compatibilità e firmware).
Applicare l’override Intel (Linux)
# temporaneo (fino al ricaricamento)
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 # oppure update-initramfs -u
# verifica
cat /sys/module/ixgbe/parameters/allow_unsupported_sfp
dmesg | grep -iE 'sfp|module|unsupported'
ethtool -m eth0
Per le schede multiporta, il parametro accetta un elenco separato da virgole (un valore per porta) su alcuni driver. L’impostazione non è supportata da Intel per la produzione; rimuove il controllo, non i requisiti elettrici.
FEC e autonegoziazione sulle NIC
| Tipo di collegamento | AN | FEC | Note |
|---|---|---|---|
| DAC 25G | attiva (Clause 73) su entrambe le estremità | negoziato (RS o BASE-R secondo la classe del cavo) | la maggior parte dei casi «nessun collegamento sul DAC» è AN disattivata su un’estremità |
| Ottica SR/LR 25G | disattivata; forzata a 25000 | RS-FEC per SR (obbligatorio), LR: RS o nessuno — deve corrispondere allo switch | ethtool --set-fec eth0 encoding rs |
| DAC 100G | attiva | RS-FEC | — |
| 100G SR4 / CWDM4 / DR | disattivata | RS-FEC obbligatorio | — |
| 100G LR4 | disattivata | nessuno (RS su alcune piattaforme) | deve corrispondere allo switch (FEC e AN) |
| 200G / 400G | disattivata per l’ottica | RS(544) KP4 sempre | — |
| 10G | disattivata | nessuno | — |
Comandi per sistema operativo: Strumenti e diagnostica NIC; lato switch: Ricette di configurazione delle porte.
Cosa deve soddisfare un modulo codificato per una NIC
| Obiettivo | Minimo |
|---|---|
| Intel ixgbe/i40e senza override | nome del produttore e PN dall’elenco qualificato Intel (a marchio Intel E10GSFPSR/E10GSFPLR/E25GSFP28SR o le parti OEM che rivendono), codici di conformità e checksum coerenti |
| Intel con override, tutti i produttori permissivi | checksum e codici di conformità validi — nessuna codifica OEM necessaria |
| Cisco UCS VIC | identità in stile Cisco, come per gli switch Cisco (Come ogni NOS convalida un modulo) |
| HCA InfiniBand | identità di cavo/modulo corretta secondo IBTA e l’elenco del produttore del fabric |
Guida alla codifica: Blocco del produttore e codifica, Numerazione delle parti.
Sintomi tipici lato NIC
| Sintomo | Causa probabile | Verifica |
|---|---|---|
| Porta assente o «unsupported module» in dmesg | whitelist del driver | dmesg, ethtool -m, override o modulo codificato |
| Link down, modulo riconosciuto, livelli buoni | disallineamento FEC/AN, velocità forzata in modo errato | ethtool eth0, ethtool --show-fec eth0 (Velocità e rate) |
| Link up a velocità sbagliata | l’automatico ha scelto 10G su un modulo dual-rate | forza la velocità |
| Link up, throughput basso | larghezza/velocità di PCIe | lspci -vv (Porte e PCIe) |
| Modulo caldo, allarmi di temperatura | scheda nel flusso d’aria di scarico | DDM via ethtool -m; sposta la scheda o migliora il flusso d’aria |
| Funziona in Linux, non in Windows/ESXi | policy del driver diversa | usa un modulo qualificato per quel sistema operativo |
| Collegamento InfiniBand a larghezza/velocità ridotta | cavo non nell’elenco o troppo lungo | ibstat, mlxlink |
In CodingBox
I rifiuti lato server si diagnosticano a partire dagli stessi byte di quelli lato switch. Leggi nome del produttore, PN, OUI, codici di conformità e checksum su Check transceiver; per le flotte solo Intel, il code database può conservare le identità Intel che i driver accettano.