2019. szeptember 22., vasárnap

Gyorskeresés

Mellanox hálókártya Ubuntu problémák

Írta: | Kulcsszavak: UNCLAIMED . Linux . Ubuntu . hálózat . Mellanox

[ ÚJ BEJEGYZÉS ]

Ez igazából félig-meddig afféle emlékeztető, hogy hátha később szükségem lesz rá, de egyben talán ha valaki találkozik hasonló problémával, akkor ezen tapasztalatok esetleg segíthetnek neki.


CX-312C vs. CX-311A

Szóval az történt, hogy az előzetes terveim szerint bővíteni szerettem volna a házi kis hálózatomat, hogy a szerver/NAS-t elérjem két gépről is 10Gbites hálón. A háziszerverben az egy SPF+ csatlakozós Mellanox Connectx-3 (CX311A) kártya helyett szállítással együtt 14e Ft-ért sikerült beszerezni egy két csatis ConnectX-3 Pro (CX312C) kártyát, tehát sinen voltam, mint József Attila. Csak alacsony hátlap volt hozzá, de ennyit elviselek, gondoltam volt. Megjön a kártya, ami azért jóval nagyobb, mint a CX311A, gyorsan ki is cseréltem az előzővel... és a bootolás után némi döbbenetemre a gép nem látta a kártyát:

cifu@CifuNAS:~$ sudo lshw -class network
*-network UNCLAIMED
description: Ethernet interface
product: MT27520 Family [ConnectX-3 Pro]
vendor: Mellanox Technologies
physical id: 0
bus info: pci@0000:06:00.0
version: 00
serial: ec:0d:9a:22:b5:d1
width: 64 bits
clock: 33MHz
capabilities: pm cap_list ethernet
configuration:
resources: irq:16 memory:f7900000-f79fffff

Először firmware problémára gyanakodtam, mivel mint kiderült, DellEMC "ízesítésű" kártyát sikerült vennem (PSID: EMC00000002). A firmware lecserélésével elszórakoztam egy ideig (nem volt bonyolult végül is, minden ott volt a Mellanox honlapján, csak igyekeztem körültekintően eljárni), ám a legnagyobb bánatomra a már Mellanox firmware-el bíró kártya is UNCLAIMED flaggel volt ellátva az lshw lekérdezéskor.

Itt sikerült jó hosszú ideig teljesen félrevezetnem magam, ugyanis erre a flagre koncentráltam, ami leegyszerűsítve azt jelenti, hogy az adott hardware-hez nem lett betöltve driver. A legkülönfélébb Mellanox drivereket raktam fel, majd gyalultam le, minden eredmény nélkül. Közben találtam olyan fórumbejegyzéseket, amelyek az Ubuntu 16.04-es kijövetelekor a hasonló flaggel működésképtelen Wifi hálózati kártyákkal foglalkoztak, és már kínomban nekiálltam az ott javasolt megoldásokkal foglalkozni. A sokadik ilyen próbálkozásnál láttam arra vonatkozó kérdést, hogy a dmesg mégis mit listáz ki a hardware kapcsán. Bakker, tényleg, én miért nem néztem még meg. Nosza:

...
[ 0.250742] pci 0000:06:00.0: BAR 1: no space for [mem size 0x10000000 64bit pref]
[ 0.250743] pci 0000:06:00.0: BAR 1: failed to assign [mem size 0x10000000 64bit pref]
[ 0.250744] pci 0000:06:00.0: BAR 8: no space for [mem size 0x100000000 64bit pref]
[ 0.250745] pci 0000:06:00.0: BAR 8: failed to assign [mem size 0x100000000 64bit pref]
[ 0.250746] pci 0000:06:00.0: BAR 3: assigned [mem 0x94000000-0x95ffffff 64bit pref]
[ 0.250751] pci 0000:06:00.0: BAR 5: no space for [mem size 0x20000000 64bit pref]
[ 0.250752] pci 0000:06:00.0: BAR 5: failed to assign [mem size 0x20000000 64bit pref]
[ 0.250753] pci 0000:06:00.0: BAR 3: assigned [mem 0x93000000-0x93ffffff]
[ 0.250755] pci 0000:06:00.0: BAR 7: no space for [mem size 0x00400000]
[ 0.250756] pci 0000:06:00.0: BAR 7: failed to assign [mem size 0x00400000]
[ 0.250757] pci 0000:06:00.0: BAR 1: no space for [mem size 0x10000000 64bit pref]
[ 0.250758] pci 0000:06:00.0: BAR 1: failed to assign [mem size 0x10000000 64bit pref]
[ 0.250764] pci 0000:06:00.0: BAR 0: assigned [mem 0xf7900000-0xf79fffff]
[ 0.250766] pci 0000:06:00.0: BAR 7: no space for [mem size 0x00400000]
[ 0.250767] pci 0000:06:00.0: BAR 7: failed to assign [mem size 0x00400000]
....
[ 0.371135] kernel: mlx4_core 0000:06:00.0: Missing UAR, aborting
....

Na bakker, szóval itt van a kutya elásva. Elkezdtem erre rákeresni, és a következő javaslat, mely a pci=realloc=off Grub2 paraméter megadásáról szóltak. A probléma állítólag a 16.04-es Ubuntu óta él, nem tud a kernel elég memóriát elkülöníteni a kártyák számára, és emiatt a hardware nem lesz inicializálva. Ehhez képest találtam 2012-es bejegyzést, ahol már a 3.4-es kernelnél is jelentkezett a probléma. A megoldás? Az /etc/default/grub-ot kell szerkeszteni, és beilleszteni a GRUB_CMDLINE_LINUX_DEFAULT=" pci=realloc=off"
sort. Ezután pedig sudo update-grub, és mehet a restart.

Az eredmény: öröm és boldogság. Meg egy működő hálózati kártya...

Szerk.: Egyébként utólag már találtam egy másik javaslatot is, amely a firmware módosításáról szólt - ám nekem nem sikerült ez a megoldás (konkrétan nincs semmiféle opció .ini fájlok megszerzésére, csak .bin formátumú firmware-t találok a Mellanox oldalán).

Hozzászólások

(#1) Cucuska2


Cucuska2
(őstag)

Jajj, jajj, jajj.
A nagy öregek mindig azt mondják, hogy a xorg.conf módosítgatásával romlik az életszínvonalon, de az előző 4 Linux telepítésemkor mindig a grubban kellett turkálnom. És ennek nem örülök.

Rock and stone, to the bone! Leave no dwarf behind!

(#2) Cifu válasza Cucuska2 (#1) üzenetére


Cifu
(nagyúr)
LOGOUT blog

Nekem még egy találatom volt, amely a kártya firmware átírását javasolta. Akkor inkább maradok a Grub turkálásnál... :)

[ Szerkesztve ]

Légvédelmisek mottója: Lődd le mind! Majd a földön szétválogatjuk.

További hozzászólások megtekintése...
Copyright © 2000-2019 PROHARDVER Informatikai Kft.