CodingBox Q&A Ask question

Supermicro AOC-STGN-i1S (X520) en Proxmox 7.1: sin interfaz en ip link con un DAC de HP puesto

Asked Active Viewed 103 AI translation from English
4

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, luego update-initramfs -u y un reinicio: sin cambios
  • pasé la misma opción como parámetro de kernel en su lugar: sin cambios
  • rmmod ixgbe y modprobe ixgbe a mano: sigue sin haber nada nuevo en ip 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

Accepted answer

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 lspci ve la tarjeta y ip link no 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:

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

update-initramfs -u
rmmod ixgbe
modprobe ixgbe
ip link

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.

4 Indiawaverunner21IN Show original (English) AI translation

Antes de dar la tarjeta por muerta, haz una prueba. Saca el DAC de la jaula por completo, luego rmmod ixgbe, modprobe ixgbe y vuelve a mirar ip 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?

3 United Statesphotonrunner70US Show original (English) AI translation

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_sfp no hace absolutamente nada para i40e. Pon un módulo que no sea de Intel en un X710-DA2 y obtienes:

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

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.

4 Spainqsfpwolf31ES Show original (English) AI translation

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:

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

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.

2 Italylambdapilot72IT Show original (English) AI translation

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.

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