SFP BiDi da operadora linka num switch Cisco mas não dá carrier nas portas X710 de uma caixa pfSense
Instalação doméstica. A entrega de fibra do meu provedor é um módulo BiDi de 1G e eu queria colocar ele direto no firewall em vez de manter um switch na frente da caixa só para converter mídia.
- Protectli Vault 6 rodando pfSense, portas X710, driver ixl
- o módulo BiDi de 1G fornecido pelo provedor, um EZConn ETB43315-7S34-FR
- o mesmo módulo linka sem drama nenhum em switches Cisco
- um Cisco 10G LR FTLX1474D3BCL-CS no mesmo slot também linka bem
Com o BiDi no ixl1 a porta nunca sai do no carrier, e o log não esconde o motivo:
ixl1: no carrier
i40e link status timeout, I40E_ERR_TIMEOUT
Link failed because an unqualified module was detected
Também tem um erro pegando PHY capabilities na mesma leva de mensagens.
Já tentado:
ifconfig ixl1 media 1000baseLX- recusado, a porta não aceita esse tipo de mídiasysctl dev.ixl.1.advertise_speed- setei, nenhum efeitohw.ixl.unsupported_sfp=1no loader.conf mais um reboot - nada, a linha de módulo não qualificado continua aparecendo
Então a placa vê um módulo, decide que não gosta dele, e a conversa acaba aí. Tem algum jeito de rodar uma óptica de 1G nessas portas, ou a resposta honesta é manter um switch na frente do firewall?
Comments 6
Você tem dois problemas separados empilhados um em cima do outro e eles têm que ser resolvidos em ordem.
Primeiro, o firmware. A 6.1 é velha o bastante para a placa não apresentar os módulos direito de jeito nenhum, e é por isso que suas leituras de potência estão em branco. Ir para a 9.40 é o que faz elas aparecerem com RX e TX power de verdade. Faça isso antes de qualquer coisa, senão você está depurando às cegas e todo teste posterior não vale nada.
Segundo, e essa é a parte que realmente mantém a porta caída: no X710 a qualificação de módulo mora no firmware da placa, não no driver, então nenhum dos ajustes que você tentou consegue alcançar isso. É por isso que
hw.ixl.unsupported_sfp=1não faz nada aqui, por isso quesysctl dev.ixl.1.advertise_speedé ignorado silenciosamente, e por isso queifconfig ixl1 media 1000baseLXé recusado - a porta não vai selecionar mídia de 1G para um módulo que ela já rejeitou comLink failed because an unqualified module was detected.O que funcionou para mim foi recodificar a óptica com dados de vendor da Intel. Usei módulos FS SFP-GE-BX, gravei dados de vendor da Intel neles com o FS Box, e depois disso eles subiram em autoselect sem forçar mídia e sem sysctl nenhum. Repara que isso muda o módulo, não a placa, e o EZConn do provedor não é seu para reprogramar - compre seu próprio par BX com os comprimentos de onda certos e recodifique esses.
Se você preferir não mexer em EEPROM, então use ópticas que a placa já aceita. Seu Cisco 10G LR é um exemplo, e um FS RJ45 1G SFP+ é outro se o provedor puder te entregar cobre em algum ponto do caminho.
Antes de mais nada: qual firmware de NIC está nesse X710? Essas placas saíram de fábrica com builds velhas o bastante para mudar como um módulo é apresentado logo de cara, e isso pesa mais do que qualquer um dos sysctls que você andou cutucando.
Segunda pergunta no mesmo fôlego: com o BiDi no ixl1, o status da porta mostra algum RX e TX power para ele, ou o módulo aparece só como presente sem leitura nenhuma? Essas duas respostas juntas dizem se a placa está recusando um módulo que consegue ler, ou falhando antes mesmo de chegar lá.
O firmware é 6.1, o que veio de fábrica na caixa - nunca mexi nisso.
E não, não tem leitura nenhuma. Com o BiDi do provedor no ixl1 o módulo aparece como presente mas RX e TX power ficam em branco. O Cisco 10G LR no mesmo slot reporta potência sim, que eu imagino ser exatamente a diferença que você estava apontando.
Vale saber antes de encomendar um programador para esse trabalho: o FS Box só programa módulos FS. Gente que colocou nele algo de outro vendor teve a conta bloqueada por uma semana, então não é um recodificador de uso geral, é uma ferramenta para óptica de um vendor só.
Se você precisa de algo que aceite módulos arbitrários, o Flexoptix e os outros programadores fazem o mesmo trabalho e custam consideravelmente mais, enquanto o wizard da Ubiquiti fica na ponta barata da faixa. Para um único par de módulos BX o caminho menos doloroso costuma ser comprar a óptica do mesmo vendor da caixa que você já tem.
Sintoma parecido, causa completamente diferente, então não pula as checagens chatas.
Eu tinha um Supermicro AOC-STGN-i2S no pfSense com um Ubiquiti UF-MM-1G de 1G no ix1, permanentemente em no carrier.
ifconfig -v ix1listava só autoselect e 10Gbase-SR como mídia, eifconfig ix1 media 1000baseTXvoltava com um erro device-not-configured, que parece exatamente um driver recusando rodar 1G numa porta de 10G. Passei a placa para uma imagem live do Ubuntu: sem link lá também, nem com DAC nem com o módulo. Aí coloquei um segundo módulo Unifi idêntico e ele linkou na hora, tanto no Ubuntu quanto no pfSense. O primeiro estava simplesmente morto.Uma cópia sobressalente do módulo e um segundo host custam vinte minutos e eliminam metade das teorias. No seu caso a mensagem de módulo não qualificado aponta o culpado com bastante clareza, então você provavelmente está bem, mas é um seguro barato antes de gastar dinheiro com um programador.
Resultado, na ordem que aconteceu.
Firmware primeiro, de 6.1 para 9.40. Os módulos imediatamente começaram a reportar RX e TX power, mas o BiDi do provedor continuou recusando link e a linha de módulo não qualificado continuou no log - então a atualização de firmware compra visibilidade e nada mais.
Depois um par de FS SFP-GE-BX recodificado com dados de vendor da Intel. Os dois lados sobem em autoselect, sem forçar mídia, sem
hw.ixl.unsupported_sfp, nada sobrando no loader.conf. Desfiz os sysctls que eu tinha setado enquanto me debatia e o link continuou de pé do mesmo jeito.O módulo do provedor foi para a gaveta como reserva, já que não é meu para reprogramar de qualquer forma, e o switch na frente do firewall já era.