CodingBox Q&A Ask question

Supermicro AOC-STGN-i1S (X520) su Proxmox 7.1: nessuna interfaccia in ip link con un DAC HP inserito

Asked Active Viewed 103 AI translation from English
4

Gestisco un piccolo box Proxmox in casa e volevo un percorso 10G vero verso il nodo storage, quindi ho montato un Supermicro AOC-STGN-i1S usato. È il design Intel 82599 semplice, scheda marcata E157872, e davo per scontato che questa fosse la parte noiosa della build. Non lo è.

  • Supermicro AOC-STGN-i1S, Intel X520-DA1, marcatura scheda E157872
  • Proxmox 7.1, kernel 5.15.30-1-pve
  • DAC SFP+ passivo a marchio HP verso il secondo box
  • la scheda si enumera bene sul bus PCI

Il driver non finisce mai di caricarsi. Il kernel log dice che ha abortito perché ha rilevato un tipo di modulo SFP+/QSFP non supportato, e dopo quello semplicemente non c'è nessuna porta da configurare:

lspci    -> the X520 is listed, no complaints
ip link  -> lo and the onboard 1G only, no 10G interface at all
dmesg    -> ixgbe aborts loading, unsupported SFP+/QSFP module type

Cosa ho già fatto:

  • creato /etc/modprobe.d/ixgbe.conf con dentro options ixgbe allow_unsupported_sfp=1, poi update-initramfs -u e un riavvio: nessun cambiamento
  • passata la stessa opzione come parametro kernel invece: nessun cambiamento
  • rmmod ixgbe e modprobe ixgbe a mano: ancora niente di nuovo in ip link

La scheda è morta, oppure c'è un modo per aggirare questo controllo su un kernel 5.15 che mi sto perdendo?

Comments 5

Accepted answer

Quello che descrivi è esattamente l'aspetto di una whitelist EEPROM che scatta su ixgbe. Il driver legge l'ID del modulo, decide che non è nella lista accettata da Intel e abortisce prima ancora di registrare un netdev, motivo per cui lspci vede la scheda e ip link non mostra assolutamente nulla. Niente di tutto ciò è un guasto hardware, ed è anche per questo che la porta torna nel momento in cui il modulo esce dalla cage.

La via di fuga documentata è quella che hai già usato:

# /etc/modprobe.d/ixgbe.conf
options ixgbe allow_unsupported_sfp=1

update-initramfs -u
rmmod ixgbe
modprobe ixgbe
ip link

Su 5.15 quell'opzione semplicemente non è affidabile. Ho ottenuto lo stesso non-risultato su questo kernel, quindi non ha senso rifarla o andare a caccia di un errore di battitura nel file conf.

Quello che ha risolto dal mio lato: con la cage vuota l'interfaccia saliva con modprobe ixgbe, rimettere il cavo HP la faceva sparire di nuovo, e quello stesso cavo HP si collegava senza drammi in una Mellanox ConnectX-2. Il cavo è elettricamente a posto, semplicemente a Intel non piace come è codificato.

La soluzione che ha funzionato è stata montare invece un DAC SFP+ generico senza marchio. Link su immediatamente, nessuna opzione modulo, nessuna danza di riavvii. Sul supporto: con qualsiasi cavo non codificato Intel sei comunque fuori dalla matrice Intel, quindi se questo box deve mai essere supportabile, compra un DAC codificato Intel invece di uno HP.

4 Indiawaverunner21IN Show original (English) AI translation

Prima di dare la scheda per morta, fai un test. Tira fuori del tutto il DAC dalla cage, poi rmmod ixgbe, modprobe ixgbe e riguarda ip link. Se l'interfaccia compare con la cage vuota, la scheda e il driver sono entrambi a posto ed è il cavo su cui il controllo si sta strozzando.

Seconda cosa che vale la pena sapere: quel DAC HP si collega da qualche altra parte? Una NIC non Intel normalmente lo accetta senza fiatare. Ed è sicuramente il cavo codificato HP, o ne hai uno generico in giro con cui confrontarlo?

3 United Statesphotonrunner70US Show original (English) AI translation

Considerati fortunato a essere su un X520, dove almeno hai una leva nel driver, per quanto ballerina. Su X710 e XL710 il controllo del modulo si è spostato nel firmware, quindi allow_unsupported_sfp non fa assolutamente nulla per i40e. Metti un modulo non Intel in un X710-DA2 e ottieni:

Rx/Tx is disabled on this device because an unsupported SFP module type was detected

e lì finisce la conversazione. Da lì le opzioni sono ottiche codificate Intel, la strada comunitaria xl710-unlocker (spingere una nuova immagine NVM con l'updater di Intel, poi andare a frugare in campi a undici bit da qualche parte intorno a 0x6800-0x7000 nell'EEPROM con tool di terze parti, interamente a proprio rischio), oppure scegliere fin da subito una variante OEM: un HPE 562SFP+ è un X710 sotto, e dopo aggiornamenti di firmware e i40e ha accettato moduli in rame di terze parti 10G e 1G senza nessun trucco.

4 Spainqsfpwolf31ES Show original (English) AI translation

Sul discorso OEM, va nella direzione opposta per le schede X710-DA2 a marchio Dell e Lenovo: rifiutano SFP+ e DAC non approvati, e gli strumenti stessi di Intel non elencano nemmeno la scheda. Quello su cui si sono assestati in tanti è flashare sopra l'NVM Intel stock. Prima serve il driver QV dal pacchetto BootUtil completo di Intel, altrimenti le utility non parlano affatto con la scheda; l'option ROM viene sostituita prima di ogni altra cosa, e solo dopo si fa l'inventario della scheda e la si flasha:

./bootutil64e -NIC=1 -up=combo
./nvmupdate64e -i -l
ethtool -i enp1s0f0
./nvmupdate64e -rd

Tra l'inventario e il flash, riduci nvmupdate.cfg alla singola voce X710 che corrisponde alla dimensione della flash SPI della scheda, 4 MB o 8 MB. Scegli la dimensione sbagliata e ti ritrovi un mattone che serve un'immagine NVM salvata e un flasher hardware per recuperarlo, quindi leggi prima l'ETrackID e sii sicuro. Firmware nella fascia 9.30-9.40 è stato segnalato funzionante dopo, e come effetto collaterale la gente ha guadagnato SR-IOV sulle schede Lenovo. Io lo proverei comunque solo su una scheda che potrei permettermi di perdere.

2 Italylambdapilot72IT Show original (English) AI translation

Attenzione a puntare le strade del crossflash e del patching EEPROM su questo thread, perché nessuna delle due aiuta la situazione descritta. Modificare il flag OEM in un EEPROM X520 richiede prima di tutto un'interfaccia funzionante attraverso cui raggiungere la scheda, e qui non c'è nessuna interfaccia finché il cavo non esce dalla cage. Quella è una soluzione per una porta che esiste e rifiuta un modulo, non per un driver che abortisce al caricamento.

L'altra cosa che non sopravvaluterei è il test in un'altra NIC. Un modulo che si collega in un host diverso dimostra il modulo, non l'host in cui lo vuoi davvero usare. Ho moduli in rame Ubiquiti UACC-CM-RJ45-MG che girano tranquillamente in un CCR2004 e in un Intel X520-DA2 sotto Debian, e nelle cage SFP+ di un CRS309 e di un CRS328 non si collegano mai, con autonegoziazione attiva o con la velocità fissata a mano. La dipendenza dall'host è reale, quindi verifica sulla macchina esatta prima di comprarne una scorta di qualsiasi cosa.

3 IndiasfpopsIN Show original (English) AI translation
Log in to comment. Log in