L'SFP BiDi dell'ISP fa link su uno switch Cisco ma dà no carrier sulle porte X710 di una macchina pfSense
Impianto domestico. La consegna della fibra dal mio provider è un modulo BiDi 1G e vorrei averlo direttamente nel firewall invece di tenere uno switch davanti alla macchina solo per convertire il media.
- Protectli Vault 6 con pfSense, porte X710, driver ixl
- il modulo BiDi 1G fornito dal provider, un EZConn ETB43315-7S34-FR
- lo stesso modulo fa link senza alcun problema negli switch Cisco
- anche un Cisco 10G LR FTLX1474D3BCL-CS nello stesso slot fa link senza problemi
Con il BiDi in ixl1 la porta non esce mai da no carrier, e il log non è timido sul motivo:
ixl1: no carrier
i40e link status timeout, I40E_ERR_TIMEOUT
Link failed because an unqualified module was detected
C'è anche un errore nel recupero delle PHY capabilities nella stessa raffica di messaggi.
Provato finora:
ifconfig ixl1 media 1000baseLX- rifiutato, la porta non accetta quel media typesysctl dev.ixl.1.advertise_speed- impostato, nessun effettohw.ixl.unsupported_sfp=1in loader.conf più un reboot - niente, la riga sul modulo non qualificato compare ancora
Quindi la scheda vede un modulo, decide che non le piace, e lì finisce la conversazione. C'è un modo per far girare un'ottica 1G su queste porte, oppure la risposta onesta è tenere uno switch davanti al firewall?
Comments 6
Hai due problemi separati impilati uno sull'altro e vanno risolti in ordine.
Primo, il firmware. La 6.1 è abbastanza vecchia che la scheda non presenta i moduli correttamente, ed è per questo che le tue letture di potenza sono vuote. Passare alla 9.40 è quello che le fa comparire con valori reali di RX e TX power. Fallo prima di qualsiasi altra cosa, altrimenti stai facendo debug alla cieca e ogni test successivo non vale niente.
Secondo, e questa è la parte che tiene davvero la porta giù: sull'X710 la qualifica del modulo vive nel firmware della NIC, non nel driver, quindi nessuna delle manopole che hai provato può raggiungerla. Ecco perché
hw.ixl.unsupported_sfp=1qui non fa nulla, perchésysctl dev.ixl.1.advertise_speedviene ignorato silenziosamente, e perchéifconfig ixl1 media 1000baseLXviene rifiutato - la porta non selezionerà il media 1G per un modulo che ha già respinto conLink failed because an unqualified module was detected.Quello che ha funzionato per me è stato ricodificare l'ottica con dati vendor Intel. Ho usato moduli FS SFP-GE-BX, ci ho scritto dentro i dati vendor Intel con l'FS Box, e dopo sono saliti in autoselect senza forzare il media e senza alcun sysctl. Nota che questo cambia il modulo, non la scheda, e l'EZConn del provider non è tuo da riprogrammare - comprati una tua coppia di BX con le lunghezze d'onda giuste e ricodifica quelle.
Se preferisci non toccare le EEPROM, allora usa ottiche che la scheda già accetta. Il tuo Cisco 10G LR è un esempio, e un FS RJ45 1G SFP+ è un altro, se il provider può darti rame in un punto qualsiasi del percorso.
Prima di ogni altra cosa: che firmware NIC ha quella X710? Queste schede sono uscite di fabbrica con build abbastanza vecchie da cambiare il modo stesso in cui un modulo viene presentato, e conta più di qualsiasi sysctl che hai armeggiato finora.
Seconda domanda nello stesso fiato: con il BiDi dentro ixl1, lo stato della porta mostra un qualche valore di RX e TX power per esso, o il modulo è semplicemente elencato come presente senza letture? Queste due risposte insieme ti dicono se la scheda sta rifiutando un modulo che riesce a leggere, oppure se fallisce prima ancora di arrivare a quel punto.
Il firmware è 6.1, quello con cui è uscita la macchina - non l'ho mai toccato.
E no, non ci sono letture. Con il BiDi del provider in ixl1 il modulo è elencato come presente ma RX e TX power sono vuoti. Il Cisco 10G LR nello stesso slot invece riporta la potenza, il che immagino sia esattamente la differenza a cui stavi puntando.
Vale la pena saperlo prima di ordinare un programmatore per questo lavoro: l'FS Box programma solo moduli FS. Chi gli ha dato in pasto qualcosa di un altro vendor si è visto bloccare l'account per una settimana, quindi non è un ricodificatore generico, è uno strumento per l'ottica di un solo vendor.
Se ti serve qualcosa che accetti moduli arbitrari, Flexoptix e gli altri programmatori fanno lo stesso lavoro e costano decisamente di più, mentre il wizard Ubiquiti sta all'estremo economico della gamma. Per una singola coppia di moduli BX la strada meno dolorosa di solito è comprare l'ottica dallo stesso vendor della macchina che hai già.
Sintomo simile, causa completamente diversa, quindi non saltare i controlli noiosi.
Avevo un Supermicro AOC-STGN-i2S sotto pfSense con un Ubiquiti UF-MM-1G 1G in ix1, permanentemente in no carrier.
ifconfig -v ix1elencava come media solo autoselect e 10Gbase-SR, eifconfig ix1 media 1000baseTXtornava con un errore device-not-configured, che sembra esattamente un driver che rifiuta di far girare 1G su una porta 10G. Ho spostato la scheda su un'immagine live Ubuntu: niente link nemmeno lì, né con un DAC né con il modulo. Poi ho messo un secondo modulo Unifi identico ed ha fatto link all'istante, sia sotto Ubuntu che sotto pfSense. Il primo era semplicemente morto.Una copia di scorta del modulo e un secondo host ti costano venti minuti ed eliminano metà delle teorie. Nel tuo caso il messaggio sul modulo non qualificato indica il colpevole abbastanza chiaramente, quindi probabilmente è tutto a posto, ma è un'assicurazione economica prima di spendere soldi in un programmatore.
Risultato, nell'ordine in cui è successo.
Prima il firmware, da 6.1 a 9.40. I moduli hanno subito iniziato a riportare RX e TX power, ma il BiDi del provider continuava a rifiutare il link e la riga sul modulo non qualificato era ancora nel log - quindi l'aggiornamento firmware ti compra visibilità e nient'altro.
Poi una coppia di FS SFP-GE-BX ricodificati con dati vendor Intel. Entrambi su in autoselect, nessun forcing del media, nessun
hw.ixl.unsupported_sfp, niente rimasto in loader.conf. Ho riportato indietro i sysctl che avevo impostato mentre annaspavo e il link è rimasto su comunque.Il modulo del provider è finito nel cassetto come scorta, visto che comunque non è mio da riprogrammare, e lo switch davanti al firewall non c'è più.