Mellanox ETH
Upgrade firmwaru karty
Zjisteni part numberu a verze firmwaru u Mellanox karet. Potrebujeme mit nainstalovany balicek mstflint
# ethtool -i ens4f0np0 driver: mlx5_core version: 5.5-1.0.3 firmware-version: 14.27.1016 (MT_2420110004) expansion-rom-version: bus-info: 0000:10:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: no supports-register-dump: no supports-priv-flags: yes # lspci | grep Mella 10:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx] 10:00.1 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx] 81:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx] 81:00.1 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx] # lspci -vv -s 10:00.0 | grep "Part number" -A 3 [PN] Part number: MCX4121A-XCAT [EC] Engineering changes: AJ [SN] Serial number: MT2031J10949 [V0] Vendor specific: PCIeGen3 x8 # mstflint -d 10:00.0 q Image type: FS3 FW Version: 14.27.1016 FW Release Date: 27.2.2020 Product Version: 14.27.1016 Rom Info: type=UEFI version=14.20.19 cpu=AMD64,AARCH64 type=PXE version=3.5.901 cpu=AMD64 Description: UID GuidsNumber Base GUID: 0c42a10300eabd04 4 Base MAC: 0c42a1eabd04 4 Image VSD: N/A Device VSD: N/A PSID: MT_2420110004 Security Attributes: N/A
Upgrade FW
Podle part number a PSID vybereme konkretni verzi FW na webu NVIDIA. V našem případě je to Part number: MCX4121A-XCAT a PSID: MT_2420110004. Vybereme tedy nasledujici firmware:
Po stazeni je dobre overit md5 prikazem md5sum a porovnat, jestli sedí s checksumem uvedeným na webu.
06adda309f41dae265387470cae6c880 fw-ConnectX4Lx-rel-14_32_1900-MCX4121A-XCA_Ax-UEFI-14.25.17-FlexBoot-3.6.502.bin.zip
A nyní můžeme po rozbalení přejít k upgradu FW:
# mstflint -d 10:00.0 -i fw-ConnectX4Lx-rel-14_32_1900-MCX4121A-XCA_Ax-UEFI-14.25.17-FlexBoot-3.6.502.bin burn Current FW version on flash: 14.27.1016 New FW version: 14.32.1900 FSMST_INITIALIZE - OK Writing Boot image component - OK -I- To load new FW run mstfwreset or reboot machine. # mstflint -d 10:00.0 v FS3 failsafe image /0x00800038-0x00801e8b (0x001e54)/ (BOOT2) - OK /0x00802000-0x0080201f (0x000020)/ (ITOC_HEADER) - OK /0x00804000-0x0081472b (0x01072c)/ (IRON_PREP_CODE) - OK /0x00815000-0x008150ff (0x000100)/ (FS3_RESET_INFO) - OK /0x00816000-0x00816bff (0x000c00)/ (FW_MAIN_CFG) - OK /0x00817000-0x008174bf (0x0004c0)/ (FW_BOOT_CFG) - OK /0x00818000-0x008195ff (0x001600)/ (HW_MAIN_CFG) - OK /0x0081a000-0x0081a13f (0x000140)/ (HW_BOOT_CFG) - OK /0x0081b000-0x0081dc7f (0x002c80)/ (PHY_UC_CONSTS) - OK /0x0081e000-0x0081e13f (0x000140)/ (IMAGE_SIGNATURE_256) - OK /0x0081f000-0x0081f8ff (0x000900)/ (PUBLIC_KEYS_2048) - OK /0x00820000-0x0082008f (0x000090)/ (FORBIDDEN_VERSIONS) - OK /0x00821000-0x0082123f (0x000240)/ (IMAGE_SIGNATURE_512) - OK /0x00822000-0x008230ff (0x001100)/ (PUBLIC_KEYS_4096) - OK /0x00824000-0x00873fff (0x050000)/ (FS4_PART_TYPE_PROGRAMMABLE_HW_FW) - OK /0x00874000-0x00925e27 (0x0b1e28)/ (ROM_CODE) - OK /0x00926000-0x00935fff (0x010000)/ (CRDUMP_MASK_DATA) - OK /0x00936000-0x009369ff (0x000a00)/ (PHY_UC_CMD) - OK /0x00937000-0x0094091f (0x009920)/ (PHY_UC_CODE) - OK /0x00941000-0x0096c457 (0x02b458)/ (PCI_CODE) - OK /0x0096d000-0x00cbb8bf (0x34e8c0)/ (MAIN_CODE) - OK /0x00cbc000-0x00cc9cbf (0x00dcc0)/ (PCIE_LINK_CODE) - OK /0x00cca000-0x00ccae3f (0x000e40)/ (POST_IRON_BOOT_CODE) - OK /0x00ccb000-0x00ccce0f (0x001e10)/ (UPGRADE_CODE) - OK /0x00ccd000-0x00ccd3ff (0x000400)/ (IMAGE_INFO) - OK /0x00ccd400-0x00ccdb6f (0x000770)/ (DBG_FW_INI) - OK /0x00ccdb70-0x00ccdb77 (0x000008)/ (DBG_FW_PARAMS) - OK /0x00fa0000-0x00faffff (0x010000)/ (NV_DATA) - CRC IGNORED /0x00fb0000-0x00fbffff (0x010000)/ (NV_DATA) - CRC IGNORED /0x00fc0000-0x00fcffff (0x010000)/ (FW_NV_LOG) - CRC IGNORED /0x00fee000-0x00fee1ff (0x000200)/ (DEV_INFO) - OK /0x00ff8000-0x00ff813f (0x000140)/ (MFG_INFO) - OK /0x00ff8140-0x00ff81b7 (0x000078)/ (VPD_R0) - OK -I- FW image verification succeeded. Image is bootable. # mstflint -d 10:00.0 q full Image type: FS3 FW Version: 14.32.1900 FW Version(Running): 14.27.1016 FW Release Date: 25.8.2024 Part Number: MCX4121A-XCA_Ax Description: ConnectX-4 Lx EN network interface card; 10GbE dual-port SFP28; PCIe3.0 x8; ROHS R6 Product Version: 14.27.1016 Rom Info: type=UEFI version=14.20.19 cpu=AMD64,AARCH64 type=PXE version=3.5.901 cpu=AMD64 Description: UID GuidsNumber Base GUID: 0c42a10300eabd04 4 Base MAC: 0c42a1eabd04 4 Image VSD: N/A Device VSD: N/A PSID: MT_2420110004 Security Attributes: N/A Default Update Method: fw_ctrl
Nakonec provedeme reboot stroje.
Image type: FS3 FW Version: 14.32.1900 FW Release Date: 25.8.2024 Product Version: 14.32.1900 Rom Info: type=UEFI version=14.25.17 cpu=AMD64,AARCH64 type=PXE version=3.6.502 cpu=AMD64 Description: UID GuidsNumber Base GUID: 0c42a10300eabd04 4 Base MAC: 0c42a1eabd04 4 Image VSD: N/A Device VSD: N/A PSID: MT_2420110004 Security Attributes: N/A
Cerpano odtud:
Upgrade ovladacu v jadre
- Ovladace je mozne stahnout z teto stránky
- Doporučuje se stáhnout vždy zdrojový balíček pro příslušnou nejbližší verzi OS
- Před instalací modulu jádra potřebujeme aktuální zdrojové kody spuštěného jádra systému. V debianu toho docílíme instalací balíčku linux-headers-amd64
- Po rozbaleni archivu do adresáře /usr/src spustíme příkaz
/install.pl --force-dkms
- Tímto způsobem zajistíme kompilaci kodulu pomocí dkms avygenerování pčíslušných instalčních balíčků, které se sami i nainstalují.
- Po úspěšném dokončení restartujeme system.
Následně můžeme ověřit příkazem ethool instalaci nového modulu jádra
# ethtool -i eth2 driver: mlx5_core version: 5.8-6.0.4 firmware-version: 14.32.1900 (MT_2420110004) expansion-rom-version: bus-info: 0000:03:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: no supports-register-dump: no supports-priv-flags: yes
Instalace řes DKMS zajistí, že se modul překompije pro aktuální verzi kernelu v případě že v budoucnu dojde k upgradu jádra systému.
Po instalaci nových ovladačů bjude potřeba asi doinstalovat znovu balíček mstflint, protože instalační skript preventivně před instalací nové verze modulu odinstaluje všchny stávající balíčky týkající se mellanox karet.