El SFP BiDi del proveedor de internet enlaza en un switch Cisco pero no da portadora en los puertos X710 de una máquina pfSense
Instalación doméstica. La entrega de fibra de mi proveedor es un módulo BiDi de 1G y me gustaría tenerlo en el propio firewall en lugar de mantener un switch delante del equipo solo para convertir el medio.
- Protectli Vault 6 con pfSense, puertos X710, driver ixl
- el módulo BiDi de 1G suministrado por el proveedor, un EZConn ETB43315-7S34-FR
- el mismo módulo enlaza sin problema alguno en switches Cisco
- un Cisco 10G LR FTLX1474D3BCL-CS en la misma jaula también enlaza bien
Con el BiDi en ixl1 el puerto nunca sale de no carrier, y el registro no es tímido con el motivo:
ixl1: no carrier
i40e link status timeout, I40E_ERR_TIMEOUT
Link failed because an unqualified module was detected
También hay un error al obtener las capacidades del PHY en la misma tanda de mensajes.
Probado hasta ahora:
ifconfig ixl1 media 1000baseLX- rechazado, el puerto no acepta ese tipo de mediosysctl dev.ixl.1.advertise_speed- lo configuré, sin efecto algunohw.ixl.unsupported_sfp=1en loader.conf más un reinicio - nada, la línea de módulo no cualificado sigue apareciendo
Así que la tarjeta ve un módulo, decide que no le gusta, y ahí termina la conversación. ¿Hay alguna forma de hacer funcionar una óptica de 1G en estos puertos, o la respuesta honesta es mantener un switch delante del firewall?
Comments 6
Tienes dos problemas separados apilados uno sobre otro y hay que resolverlos en orden.
Primero, el firmware. 6.1 es lo bastante antiguo como para que la tarjeta ni siquiera presente los módulos correctamente, por eso tus lecturas de potencia están en blanco. Pasar a 9.40 es lo que hace que aparezcan con potencia RX y TX reales. Haz eso antes que nada, si no estás depurando a ciegas y cualquier prueba posterior no vale nada.
Segundo, y esta es la parte que realmente mantiene el puerto caído: en el X710 la cualificación de módulos vive en el firmware de la tarjeta, no en el driver, así que ninguno de los ajustes que probaste puede alcanzarla. Por eso
hw.ixl.unsupported_sfp=1no hace nada aquí, por esosysctl dev.ixl.1.advertise_speedse ignora silenciosamente, y por esoifconfig ixl1 media 1000baseLXse rechaza -el puerto no seleccionará medio 1G para un módulo que ya rechazó conLink failed because an unqualified module was detected.Lo que a mí me funcionó fue recodificar la óptica con datos de vendor de Intel. Usé módulos FS SFP-GE-BX, les escribí datos de vendor de Intel con el FS Box, y después de eso subieron en autoselección sin forzar el medio y sin sysctls de ningún tipo. Ten en cuenta que esto cambia el módulo, no la tarjeta, y el EZConn del proveedor no es tuyo para reprogramar -compra tu propio par BX con las longitudes de onda correctas y recodifica esos.
Si prefieres no tocar EEPROMs, entonces usa óptica que la tarjeta ya acepta. Tu Cisco 10G LR es un ejemplo, y un FS RJ45 SFP+ de 1G es otro si el proveedor puede entregarte cobre en algún punto del trayecto.
Antes que nada: ¿qué firmware de NIC tiene ese X710? Estas tarjetas se enviaron con versiones lo bastante antiguas como para cambiar cómo se presenta un módulo desde el principio, y eso importa más que cualquiera de los sysctls con los que has estado trasteando.
Segunda pregunta en el mismo aliento: con el BiDi puesto en ixl1, ¿el estado del puerto muestra alguna potencia RX y TX para él, o el módulo simplemente aparece como presente sin lecturas? Esas dos respuestas juntas dicen si la tarjeta está rechazando un módulo que puede leer, o fallando antes de siquiera llegar a eso.
El firmware es 6.1, lo que trajera el equipo de fábrica -nunca lo he tocado.
Y no, no hay lecturas. Con el BiDi del proveedor en ixl1 el módulo aparece como presente pero la potencia RX y TX están en blanco. El Cisco 10G LR en la misma jaula sí reporta potencia, lo cual asumo que es exactamente la diferencia que estabas señalando.
Vale la pena saber antes de pedir un programador para este trabajo: el FS Box solo programa módulos FS. La gente que le ha metido algo de otro vendor ha tenido su cuenta bloqueada durante una semana, así que no es un recodificador de propósito general, es una herramienta para la óptica de un solo vendor.
Si necesitas algo que acepte módulos arbitrarios, Flexoptix y los demás programadores hacen el mismo trabajo y cuestan considerablemente más, mientras que el asistente de Ubiquiti está en el extremo barato del rango. Para un solo par de módulos BX, la ruta menos dolorosa suele ser comprar la óptica del mismo vendor que el equipo que ya tienes.
Síntoma similar, causa completamente distinta, así que no te saltes las comprobaciones aburridas.
Tuve un Supermicro AOC-STGN-i2S bajo pfSense con un Ubiquiti UF-MM-1G de 1G en ix1, permanentemente en no carrier.
ifconfig -v ix1solo listaba autoselect y 10Gbase-SR como medios, yifconfig ix1 media 1000baseTXdevolvía un error de dispositivo no configurado, que se parece exactamente a un driver que se niega a correr 1G en un puerto de 10G. Moví la tarjeta a una imagen live de Ubuntu: tampoco había enlace ahí, ni con un DAC ni con el módulo. Luego puse un segundo módulo Unifi idéntico y enlazó al instante, tanto en Ubuntu como en pfSense. El primero simplemente estaba muerto.Una copia de repuesto del módulo y un segundo host te cuestan veinte minutos y eliminan la mitad de las teorías. En tu caso el mensaje de módulo no cualificado señala bastante claramente al culpable, así que probablemente estés bien, pero es un seguro barato antes de gastar dinero en un programador.
Resultado, en el orden en que ocurrió.
Primero el firmware, de 6.1 a 9.40. Los módulos empezaron a reportar potencia RX y TX de inmediato, pero el BiDi del proveedor seguía negándose a enlazar y la línea de módulo no cualificado seguía en el registro -así que la actualización de firmware compra visibilidad y nada más.
Luego un par de FS SFP-GE-BX recodificados con datos de vendor de Intel. Ambos extremos arriba en autoselección, sin forzar el medio, sin
hw.ixl.unsupported_sfp, nada quedó en loader.conf. Revertí los sysctls que había puesto mientras andaba a tientas y el enlace se mantuvo arriba de todos modos.El módulo del proveedor pasó al cajón como repuesto, ya que de todos modos no es mío para reprogramar, y el switch delante del firewall ha desaparecido.