CodingBox Q&A Ask question

Supermicro AOC-STGN-i1S (X520) no Proxmox 7.1: nenhuma interface no ip link com um DAC HP encaixado

Asked Active Viewed 103 AI translation from English
4

Rodo uma caixa Proxmox pequena em casa e queria um caminho 10G de verdade até o nó de storage, então encaixei um Supermicro AOC-STGN-i1S usado. É o design Intel 82599 comum, placa marcada E157872, e achei que essa seria a parte chata do build. Não foi.

  • Supermicro AOC-STGN-i1S, Intel X520-DA1, marcação de placa E157872
  • Proxmox 7.1, kernel 5.15.30-1-pve
  • DAC SFP+ passivo de marca HP para a segunda caixa
  • a placa enumera direitinho no barramento PCI

O driver nunca termina de carregar. O log do kernel diz que abortou porque detectou um tipo de módulo SFP+/QSFP que não suporta, e depois disso simplesmente não tem porta para 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

O que já fiz:

  • criei /etc/modprobe.d/ixgbe.conf com options ixgbe allow_unsupported_sfp=1, depois update-initramfs -u e um reboot: sem mudança
  • passei a mesma opção como parâmetro de kernel em vez disso: sem mudança
  • rmmod ixgbe e modprobe ixgbe na mão: continua sem nada novo em ip link

A placa está morta, ou tem um jeito de passar dessa checagem num kernel 5.15 que estou deixando passar?

Comments 5

Accepted answer

O que você descreve é exatamente a cara de esbarrar na whitelist da EEPROM no ixgbe. O driver lê o ID do módulo, decide que não está na lista aceita pela Intel e aborta antes até de registrar um netdev, e é por isso que o lspci vê a placa e o ip link não mostra nada. Nada disso é falha de hardware, e é também por isso que a porta volta no momento em que o módulo sai da gaiola.

A saída documentada é a que você já usou:

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

update-initramfs -u
rmmod ixgbe
modprobe ixgbe
ip link

No 5.15 essa opção simplesmente não é confiável. Tive o mesmo não-resultado nesse kernel, então não adianta repetir ou caçar um erro de digitação no arquivo conf.

O que resolveu do meu lado: com a gaiola vazia a interface subia no modprobe ixgbe, colocar o cabo HP de volta fazia ela sumir de novo, e o mesmo cabo HP linkou sem drama numa Mellanox ConnectX-2. O cabo está eletricamente bem, a Intel só não gosta de como ele é codificado.

A correção que funcionou foi encaixar um DAC SFP+ genérico sem marca no lugar. Link up na hora, sem opções de módulo, sem dança de reboot. Sobre suporte: com qualquer cabo não codificado pela Intel você já está fora da matriz da Intel de qualquer forma, então se essa caixa algum dia tiver que ser suportável, compre um DAC codificado Intel em vez de um da HP.

4 Indiawaverunner21IN Show original (English) AI translation

Antes de dar a placa como perdida, rode um teste. Tire o DAC da gaiola completamente, depois rmmod ixgbe, modprobe ixgbe e olhe o ip link de novo. Se a interface aparecer com a gaiola vazia, a placa e o driver estão bem os dois e o cabo é o que está engasgando a checagem.

Segunda coisa que vale saber: esse DAC HP linka em algum outro lugar? Uma NIC não-Intel normalmente aceita sem reclamar uma palavra sequer. E é com certeza o cabo codificado HP, ou você tem um genérico à mão para comparar?

3 United Statesphotonrunner70US Show original (English) AI translation

Considere-se com sorte de estar num X520, onde pelo menos você tem uma chave de driver, por mais capenga que seja. No X710 e no XL710 a checagem de módulo se mudou para o firmware, então o allow_unsupported_sfp não faz absolutamente nada para o i40e. Coloca um módulo não-Intel num X710-DA2 e você recebe:

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

e aí a conversa acaba. A partir daí as opções são óptica codificada Intel, o caminho comunitário do xl710-unlocker (gravar uma imagem NVM nova com o próprio updater da Intel, depois ir cutucar campos de onze bits em algum lugar perto de 0x6800-0x7000 na EEPROM com ferramentas de terceiros, totalmente por sua conta e risco), ou já escolher uma variante OEM de cara: uma HPE 562SFP+ é um X710 por baixo, e depois de atualizar firmware e i40e ela aceitou módulos de cobre de terceiros 10G e 1G sem nenhum hack.

4 Spainqsfpwolf31ES Show original (English) AI translation

No ângulo OEM, funciona ao contrário para placas X710-DA2 de marca Dell e Lenovo: elas rejeitam SFP+ e DAC não aprovados, e as próprias ferramentas da Intel nem listam a placa. Onde as pessoas chegaram foi gravando NVM Intel padrão nelas. Primeiro você precisa do driver QV do pacote BootUtil completo da Intel, senão as ferramentas simplesmente não conversam com a placa; a option ROM é substituída antes de qualquer outra coisa, e só depois você inventaria a placa e grava:

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

Entre o inventário e a gravação, reduza o nvmupdate.cfg até sobrar só a entrada X710 que bate com o tamanho da flash SPI da placa, 4 MB ou 8 MB. Escolha o tamanho errado e você tem um tijolo que precisa de uma imagem NVM salva e um flasher de hardware para recuperar, então leia o ETrackID primeiro e tenha certeza. Firmwares na faixa 9.30-9.40 foram relatados como funcionando depois disso, e as pessoas ganharam SR-IOV nas placas Lenovo como efeito colateral. Eu ainda assim só tentaria isso numa placa que eu pudesse perder sem problema.

2 Italylambdapilot72IT Show original (English) AI translation

Cuidado ao mirar as rotas de crossflash e patch de EEPROM nesse tópico, porque nenhuma das duas ajuda na situação descrita. Editar a flag de OEM numa EEPROM X520 primeiro precisa de uma interface funcionando para alcançar a placa, e aqui não tem interface nenhuma até o cabo sair da gaiola. Isso é uma correção para uma porta que existe e rejeita um módulo, não para um driver que aborta no carregamento.

A outra coisa que eu não superinterpretaria é o teste em outra NIC. Um módulo linkando num host diferente prova o módulo, não o host onde você realmente quer usá-lo. Tenho módulos de cobre Ubiquiti UACC-CM-RJ45-MG que rodam numa boa num CCR2004 e num Intel X520-DA2 sob Debian, e nas gaiolas SFP+ de um CRS309 e de um CRS328 eles nunca linkam, nem com autonegociação ligada nem com a velocidade fixada na mão. Dependência de host é real, então verifique na máquina exata antes de comprar uma pilha de qualquer coisa.

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