Supermicro AOC-STGN-i1S (X520) en Proxmox 7.1: sin interfaz en ip link con un DAC de HP puesto
Tengo una caja Proxmox pequeña en casa y quería una ruta 10G decente hacia el nodo de almacenamiento, así que instalé un Supermicro AOC-STGN-i1S usado. Es el diseño Intel 82599 corriente, placa marcada E157872, y asumí que esta sería la parte aburrida del montaje. No lo es.
- Supermicro AOC-STGN-i1S, Intel X520-DA1, marca de placa E157872
- Proxmox 7.1, kernel 5.15.30-1-pve
- DAC SFP+ pasivo de marca HP hacia la segunda caja
- la tarjeta se enumera bien en el bus PCI
El driver nunca termina de cargar. El log del kernel dice que abortó porque detectó un tipo de módulo SFP+/QSFP que no soporta, y después de eso simplemente no hay puerto que configurar:
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
Lo que ya he hecho:
- creé /etc/modprobe.d/ixgbe.conf con
options ixgbe allow_unsupported_sfp=1, luegoupdate-initramfs -uy un reinicio: sin cambios - pasé la misma opción como parámetro de kernel en su lugar: sin cambios
rmmod ixgbeymodprobe ixgbea mano: sigue sin haber nada nuevo enip link
¿Está muerta la tarjeta, o hay una forma de sortear esta comprobación en un kernel 5.15 que se me está escapando?
Comments 5
Lo que describes es exactamente lo que parece un rechazo por lista blanca del EEPROM en ixgbe. El driver lee el ID del módulo, decide que no está en la lista aceptada de Intel y aborta antes de registrar siquiera un netdev, por lo que
lspcive la tarjeta yip linkno muestra absolutamente nada. Nada de eso es un fallo de hardware, y también por eso el puerto vuelve en el momento en que el módulo sale de la jaula.La vía de escape documentada es la que ya usaste:
En 5.15 esa opción simplemente no es fiable. A mí me dio el mismo no-resultado en este kernel, así que no tiene sentido repetirlo ni buscar una errata en el archivo conf.
Lo que resolvió el caso por mi lado: con la jaula vacía la interfaz subía al hacer
modprobe ixgbe, volver a poner el cable HP la hacía desaparecer otra vez, y ese mismo cable HP enlazó sin drama en un Mellanox ConnectX-2. El cable está eléctricamente bien, a Intel simplemente no le gusta cómo está codificado.El arreglo que funcionó fue poner en su lugar un DAC SFP+ genérico sin marca. Enlace inmediato, sin opciones de módulo, sin baile de reinicios. Sobre soporte: con cualquier cable no codificado por Intel ya estás fuera de la matriz de Intel de todos modos, así que si esta caja alguna vez tiene que ser soportable, compra un DAC codificado por Intel en vez de uno de HP.
Antes de dar la tarjeta por muerta, haz una prueba. Saca el DAC de la jaula por completo, luego
rmmod ixgbe,modprobe ixgbey vuelve a mirarip link. Si la interfaz aparece con la jaula vacía, la tarjeta y el driver están ambos bien y el cable es lo que está atragantando la comprobación.Otra cosa que vale la pena saber: ¿ese DAC de HP enlaza en algún otro sitio? Una NIC que no sea de Intel normalmente lo aceptará sin quejarse. ¿Y es definitivamente el cable codificado de HP, o tienes uno genérico por ahí para comparar?
Considérate afortunado de estar en un X520, donde al menos tienes una opción del driver, por poco fiable que sea. En el X710 y el XL710 la comprobación del módulo se trasladó al firmware, así que
allow_unsupported_sfpno hace absolutamente nada para i40e. Pon un módulo que no sea de Intel en un X710-DA2 y obtienes:y ahí termina la conversación. Desde ahí las opciones son ópticas codificadas por Intel, la ruta comunitaria xl710-unlocker (subir una imagen de NVM nueva con la propia herramienta de actualización de Intel, y luego ir hurgando en campos de once bits en algún punto alrededor de 0x6800-0x7000 del EEPROM con herramientas de terceros, enteramente bajo tu propio riesgo), o elegir de entrada una variante OEM: una HPE 562SFP+ es un X710 por dentro, y tras actualizar firmware e i40e aceptó módulos de cobre de terceros de 10G y 1G sin trucos de ningún tipo.
En el ángulo OEM, el caso va al revés para las tarjetas X710-DA2 de marca Dell y Lenovo: rechazan SFP+ y DAC no aprobados, y las propias herramientas de Intel ni siquiera listan la placa. En lo que la gente se ha decantado es en flashear NVM de Intel de fábrica en ellas. Primero necesitas el driver QV del paquete BootUtil completo de Intel, de lo contrario las utilidades ni siquiera hablarán con la placa; la ROM de opción se reemplaza antes que nada más, y solo entonces inventarías la tarjeta y la flasheas:
Entre el inventario y el flasheo, recorta nvmupdate.cfg hasta dejar la única entrada X710 que coincida con el tamaño de la flash SPI de la tarjeta, 4 MB u 8 MB. Elige el tamaño equivocado y tienes un ladrillo que necesita una imagen de NVM guardada y un flasheador de hardware para recuperarse, así que lee primero el ETrackID y asegúrate. Firmware en el rango 9.30-9.40 se reportó funcionando después, y la gente obtuvo SR-IOV en las placas Lenovo como efecto secundario. Yo aun así solo lo probaría en una tarjeta que pudiera permitirme perder.
Cuidado con apuntar las rutas de crossflash y parcheo de EEPROM a este hilo, porque ninguna ayuda en la situación descrita. Editar la bandera OEM en un EEPROM de X520 necesita, para empezar, una interfaz funcional a través de la cual llegar a la tarjeta, y aquí no hay ninguna interfaz en absoluto hasta que el cable sale de la jaula. Eso es un arreglo para un puerto que existe y rechaza un módulo, no para un driver que aborta al cargar.
La otra cosa que no sobrevaloraría es la prueba en otra NIC. Un módulo que enlaza en otro host prueba el módulo, no el host en el que realmente lo quieres. Tengo módulos de cobre Ubiquiti UACC-CM-RJ45-MG que funcionan felizmente en un CCR2004 y en un Intel X520-DA2 bajo Debian, y en las jaulas SFP+ de un CRS309 y un CRS328 nunca enlazan en absoluto, con autonegociación activada o con la velocidad fijada a mano. La dependencia del host es real, así que verifica en la máquina exacta antes de comprar un lote de cualquier cosa.