Kompatybilność transceiverów na NIC: whitelisty sterowników
Na przełączniku polityka modułów to linijka w sieciowym systemie operacyjnym; na serwerze to decyzja podejmowana przez sterownik i firmware karty NIC, i różni się w zależności od producenta, systemu operacyjnego i wersji sterownika. To karty Intela odrzucają moduły spoza listy; większość pozostałych akceptuje wszystko, co da się sparsować. Ta strona opisuje zachowanie w podziale na producentów i systemy, udokumentowane obejścia, reguły FEC/autonegocjacji decydujące o tym, czy DAC i optyka się połączą, oraz to, co musi spełniać zakodowana tożsamość po stronie serwera.
Zachowanie w podziale na producentów
| Producent / sterownik | Sprawdzenie | Przy niepowodzeniu | Obejście | Uwagi |
|---|---|---|---|---|
| Intel ixgbe (X520, X540, X550 SFP+) | lista OUI producenta / PN modułów SFP+ zakwalifikowanych przez Intela | failed to load because an unsupported SFP+ or QSFP module type was detected, port nieaktywny | parametr modułu allow_unsupported_sfp=1 (Linux); przeładowanie sterownika | DAC zwykle akceptowany; SFP 1G ograniczone |
| Intel i40e (X710, XXV710, XL710) | kwalifikacja modułu na poziomie firmware | unsupported module w dmesg, łącze nieaktywne albo „module not qualified” w ethtool | allow_unsupported_sfp=1 w nowszym i40e; starsze wersje bez obejścia | moduły 25G XXV710 sprawdzane rygorystycznie |
| Intel ice (E810) | kwalifikacja NVM/firmware | Possible mis-configuration of the Ethernet port detected / moduł niezakwalifikowany | zależy od NVM i wersji sterownika; część kompilacji honoruje ustawienie unsupported-SFP, inne odrzucają — sprawdzić informacje o wydaniu Intela | najbardziej pobłażliwy z linii Intela w nowszym NVM |
| Intel w Windows (sterowniki PROSet) | te same listy | urządzenie pokazuje „Network cable unplugged”, ostrzeżenie w dzienniku zdarzeń | brak udokumentowanego obejścia | używać modułów z listy Intela albo zakodowanych jako Intel |
| Intel w VMware ESXi (ixgben, i40en, icen) | te same listy | łącze nieaktywne, „unsupported module” w vmkernel.log | parametry modułu przez esxcli system module parameters set, tam gdzie sterownik udostępnia allow_unsupported_sfp; nie we wszystkich wersjach | w produkcji preferować moduły zakwalifikowane |
| Nvidia / Mellanox mlx5 (ConnectX) | parsuje EEPROM; Ethernet: brak listy | łącze aktywne; mlxlink pokazuje informacje o module | niepotrzebne | tryb InfiniBand: fabric manager weryfikuje tożsamość kabla/modułu i może ją oflagować albo obniżyć tryb pracy (Kable IB) |
| Broadcom bnxt_en (NetXtreme-E) | parsuje; brak listy w większości SKU | aktywne | — | firmware OEM (Dell, HPE) może dodawać własne sprawdzenia |
| Marvell / QLogic qede | parsuje | aktywne | — | — |
| AMD Solarflare sfc | parsuje | aktywne | — | — |
| Chelsio cxgb4 | parsuje | aktywne | — | — |
| Pensando ionic | parsuje | aktywne | — | — |
| Karty NIC OEM producentów serwerów (Dell, HPE, Lenovo, Cisco UCS VIC) | mogą dodawać własne listy, zwłaszcza Cisco VIC | „unsupported transceiver” w CIMC/UCSM | oficjalnie brak | UCS VIC akceptuje moduły zakodowane jako Cisco |
Zachowanie zmienia się wraz z wersjami sterownika i firmware (NVM); weryfikować na dokładnej kombinacji (Macierze kompatybilności i firmware).
Stosowanie obejścia Intela (Linux)
# temporary (until reload)
modprobe -r ixgbe && modprobe ixgbe allow_unsupported_sfp=1
# persistent
echo "options ixgbe allow_unsupported_sfp=1" > /etc/modprobe.d/ixgbe.conf
echo "options i40e allow_unsupported_sfp=1" > /etc/modprobe.d/i40e.conf
dracut -f # or update-initramfs -u
# verify
cat /sys/module/ixgbe/parameters/allow_unsupported_sfp
dmesg | grep -iE 'sfp|module|unsupported'
ethtool -m eth0
Dla kart wieloportowych w niektórych sterownikach parametr przyjmuje listę rozdzieloną przecinkami (jedna wartość na port). To ustawienie nie jest wspierane przez Intela do produkcji; usuwa sprawdzenie, ale nie wymagania elektryczne.
FEC i autonegocjacja w kartach NIC
| Typ łącza | AN | FEC | Uwagi |
|---|---|---|---|
| 25G DAC | wł. (Clause 73) po obu stronach | negocjowany (RS lub BASE-R zależnie od klasy kabla) | większość przypadków „brak łącza na DAC” to wyłączone AN po jednej stronie |
| Optyka 25G SR / LR | wył.; wymuszone 25000 | RS-FEC dla SR (wymagany), LR: RS lub brak — musi zgadzać się z przełącznikiem | ethtool --set-fec eth0 encoding rs |
| 100G DAC | wł. | RS-FEC | — |
| 100G SR4 / CWDM4 / DR | wył. | RS-FEC wymagany | — |
| 100G LR4 | wył. | brak (RS na niektórych platformach) | dopasować do przełącznika (FEC i AN) |
| 200G / 400G | wył. dla optyki | zawsze RS(544) KP4 | — |
| 10G | wył. | brak | — |
Polecenia dla poszczególnych systemów: Narzędzia i diagnostyka NIC; strona przełącznika: Przepisy konfiguracji portów.
Co musi spełniać zakodowany moduł dla karty NIC
| Cel | Minimum |
|---|---|
| Intel ixgbe/i40e bez obejścia | nazwa producenta i PN z listy zakwalifikowanej przez Intela (oznaczone marką Intel E10GSFPSR/E10GSFPLR/E25GSFP28SR albo części OEM, które odsprzedaje), spójne kody zgodności i sumy kontrolne |
| Intel z obejściem, wszyscy pobłażliwi producenci | prawidłowe sumy kontrolne i kody zgodności — bez potrzeby kodowania OEM |
| Cisco UCS VIC | tożsamość w stylu Cisco, jak dla przełączników Cisco (Jak każdy NOS weryfikuje moduł) |
| HCA InfiniBand | poprawna tożsamość kabla/modułu zgodna z IBTA i listą producenta fabric |
Wskazówki kodowania: Blokada producenta i kodowanie, Numeracja części.
Typowe objawy po stronie karty NIC
| Objaw | Prawdopodobna przyczyna | Sprawdzenie |
|---|---|---|
| Port nieobecny albo „unsupported module” w dmesg | biała lista sterownika | dmesg, ethtool -m, obejście albo zakodowany moduł |
| Łącze nieaktywne, moduł rozpoznany, dobre poziomy | niezgodność FEC/AN, błędnie wymuszona szybkość | ethtool eth0, ethtool --show-fec eth0 (Prędkość i szybkość) |
| Łącze aktywne przy złej szybkości | autonegocjacja wybrała 10G na module dwuszybkościowym | wymusić szybkość |
| Łącze aktywne, niska przepustowość | szerokość/szybkość PCIe | lspci -vv (Porty i PCIe) |
| Moduł gorący, alarmy temperatury | karta w strumieniu powietrza wywiewanego | DDM przez ethtool -m; przenieść kartę albo poprawić przepływ powietrza |
| Działa w Linuksie, nie działa w Windows/ESXi | inna polityka sterownika | użyć modułu zakwalifikowanego dla danego systemu |
| Łącze InfiniBand o zmniejszonej szerokości/szybkości | kabel spoza listy albo zbyt długi | ibstat, mlxlink |
W CodingBox
Odrzucenia po stronie serwera diagnozuje się z tych samych bajtów co po stronie przełącznika. Nazwę producenta, PN, OUI, kody zgodności i sumy kontrolne odczytasz w Check transceiver; dla flot złożonych wyłącznie z kart Intela Code database może przechowywać tożsamości Intela akceptowane przez sterowniki.