本文最后更新于:January 22, 2025 pm
                
              
            
            
              华为的SP333和SP380网卡应该就是MCX4121A-XCAT和MCX4121A-ACAT的OEM版本,本文主要介绍如何将10G的网卡SP333刷入25G网卡固件从而变为25G网卡。
 
准备工作 固件我们直接去官网下载
 https:// network.nvidia.com/support/ firmware/connectx4lxen/  https:// network.nvidia.com/products/ adapter-software/firmware-tools/  https:// network.nvidia.com/products/ adapter-software/ethernet/ windows/winof-2/ 
 
华子的网卡固件在官网没办法下载,但是在超聚合官网可以下载
https:// support.xfusion.com/support/ 
 
关于SP333和SP380这两个型号的华子官网介绍
# SP333 是2 *10 GE  SFP+,向下兼容1 GE 速率(使用10 GE  SFP+光模块)。 https:# SP380 是2 *25 GE  SFP28 ,向下兼容10 GE 速率(使用10 G SFP+光模块)。 https:
 
根据之前对MCX4网卡的了解,这两个应该就是MCX4121A-XCAT和MCX4121A-ACAT的OEM版本
https://network.nvidia.com /files /doc-2020 /pb-connectx-4 -lx-en -card.pdf
 
这里需要提前说一下结论,这里刷固件的时候分别刷入了mellanox官方的MCX4121A-ACAT固件和华为的SP380固件:
刷入mellanox官方固件的时候,网卡只有一个网口能正常识别到模块,另一个网口在系统中能看到网卡,但是无法识别线缆(手头的AOC和DAC都不行,换另一个网口则都正常),并且正常识别的网卡在win11中没办法正常通过DHCP获取IP(其他系统暂时没测试)
刷入华为的SP380固件的时候,网卡信息能正常识别,两个网口各项功能看起来正常。建议还是刷入华为的固件比较稳妥。
 
windows 刷机 刷机命令参考如下
flint --no_fw_ctrl -allow_psid_change -d {设备号} -i {文件路径(注:这里最好为根目录下,如不为根目录注意目录名中不要含有中文)} burn
 
这里我用powershell执行的命令参考如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 PS  C:\Users\Mr7th\Desktop\NIC-SP380-CX4Lx-FW-14 .31.1014 > flint --no_fw_ctrl  -allow_psid_change  -d  mt4117_pciconf0 -i  .\fw-ConnectX4Lx-rel-14_31_1014_H_SP380-FlexBoot-3 .6.403 _4117_14_24_13_RELEASE_X64_AARCH64_20210706_VPD.bin burn Done.     Current FW  version on flash:  14.32 .1900      New FW  version:               14.31 .1014      Note: The new FW  version is older than the current FW  version on flash.  Do  you want to continue  ? (y/n) [n ] : y     You are about to replace current PSID on flash - "MT_2420110034"  with a different PSID - "HUA0000000023" .     Note: It is highly recommended not to change the PSID.  Do  you want to continue  ? (y/n) [n ] : y Burning FW  image without signatures - OK Restoring signature                     - OK-I-  To load new FW  run mlxfwreset or reboot machine.
 
刷固件需要等待挺长一段时间的,要有耐心,刷完之后我们使用mlxfwmanager命令检查当前固件信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 PS  C:\Users\Mr7th\Desktop\NIC-SP380-CX4Lx-FW-14 .31.1014 > mlxfwmanager Querying Mellanox devices firmware ... Device ----------    Device Type :      ConnectX4LX   Part Number:      MCX4121A-ACA_Ax    Description:      ConnectX-4  Lx EN network interface card; 25 GbE dual-port  SFP28; PCIe3.0  x8; ROHS R6   PSID:             MT_2420110034   PCI Device Name:  mt4117_pciconf0   Base MAC:         N/A   Versions:         Current        Available      FW              14.31 .1014      N/A      FW  (Running)   14.32 .1900      N/A      PXE            3.6 .0502        N/A      UEFI           14.25 .0017      N/A   Status:           No matching image found
 
看起来没问题,我们直接重启电脑,再看看网卡的信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 PS  C:\Users\Mr7th>  mlxfwmanager Querying  Mellanox  devices  firmware  ... Device  ----------    Device Type:       ConnectX4LX    Part Number:       Huawei_SP380_ConnectX4Lx_2P_25GbE_Ax    Description:       Huawei  SP380  2 -port  25G  Ethernet  Adapter  PCIE  Gen3  x8    PSID:              HUA0000000023    PCI Device Name:   mt4117_pciconf0    Base MAC:          N/A    Versions:          Current         Available       FW              14.31 .1014      N/A       PXE             3.6 .0403        N/A       UEFI            14.24 .0013      N/A    Status:            No  matching  image  found       PS  C:\Users\Mr7th>  flint  -d  mt4117_pciconf0  q Image type:             FS3 FW Version:             14.31 .1014 FW Release Date:        30.6 .2021 Product Version:        14.31 .1014 Rom Info:               type=UEFI  version=14.24.13  cpu=AMD64,AARCH64                         type=PXE  version=3.6.403  cpu=AMD64 Description:            UID                 GuidsNumber Base GUID:              N/A                      8 Base MAC:               N/A                      8 Image VSD:              N/A Device VSD:             N/A PSID:                   HUA0000000023 Security Attributes:    N/A 
 
按下win+R键,输入ncpa.cpl进去管理界面查看网卡信息
 
 
可以看到这两个网卡都正常协商到了10G速率(只有10G交换机),并且都通过DHCP的方式正常获取到了IP、DNS等信息
也可以通过下面这两个命令来查看网卡的速率信息
PS  C:\Users\Mr7th> wmic nic where  netEnabled=true get name,speed Name                                        Speed Realtek Gaming 2.5 GbE Family Controller  Mellanox ConnectX-4  Lx Ethernet Adapter  Mellanox ConnectX-4  Lx Ethernet Adapter PS  C:\Users\Mr7th> Get-NetAdapter  | select  interfaceDescription,name,status,linkSpeed interfaceDescription                        name                  Status       LinkSpeed--------------------                         ----                   ------        ---------  Mellanox ConnectX-4  Lx Ethernet Adapter  Mellanox ConnectX-4  Lx Ethernet Adapter  Intel(R ) Wi-Fi  6 E AX211 160 MHz              AX211                 Disconnected 0  bps Bluetooth Device (Personal Area Network)  Realtek Gaming 2.5 GbE Family Controller 
 
进到unraid里面之后我们能看到速率有25G的选项,说明正常
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 root@tiny-unraid:~ Settings for  eth0:         Supported ports: [ Backplane ]         Supported link  modes:   1000baseKX/Full                                 10000baseKR/Full                                 25000baseCR/Full                                 25000baseKR/Full                                 25000baseSR/Full         Supported pause frame use: Symmetric         Supports auto-negotiation: Yes         Supported FEC modes: None        RS      BASER         Advertised link  modes:  1000baseKX/Full                                 10000baseKR/Full                                 25000baseCR/Full                                 25000baseKR/Full                                 25000baseSR/Full         Advertised pause frame use: Symmetric         Advertised auto-negotiation: Yes         Advertised FEC modes: None         Speed: 10000Mb/s         Duplex: Full         Auto-negotiation: on         Port: Direct Attach Copper         PHYAD: 0         Transceiver: internal         Supports Wake-on: d         Wake-on: d         Link detected: yes  root@tiny-unraid:~ Settings for  eth1:         Supported ports: [ Backplane ]         Supported link  modes:   1000baseKX/Full                                 10000baseKR/Full                                 25000baseCR/Full                                 25000baseKR/Full                                 25000baseSR/Full         Supported pause frame use: Symmetric         Supports auto-negotiation: Yes         Supported FEC modes: None        RS      BASER         Advertised link  modes:  1000baseKX/Full                                 10000baseKR/Full                                 25000baseCR/Full                                 25000baseKR/Full                                 25000baseSR/Full         Advertised pause frame use: Symmetric         Advertised auto-negotiation: Yes         Advertised FEC modes: None         Speed: 10000Mb/s         Duplex: Full         Auto-negotiation: on         Port: Direct Attach Copper         PHYAD: 0         Transceiver: internal         Supports Wake-on: d         Wake-on: d         Link detected: yes 
 
unraid 刷机 unraid原生并不自带mft刷机工具,因此我们要到APPS里面找到Mellanox-Firmware-Tools 并下载安装,这个是MFT的一个开源实现版本,大部分功能逻辑和官方版本是几乎一致的。
开始之前,先使用ethtool工具可以查看网卡信息
root@tiny-unraid:~#  ethtool  -i  eth1 driver:  mlx5_core version:  6.6 .68 -Unraid firmware-version:  14.17 .1010  (HUA0010110034) expansion-rom-version: bus-info:  0000 :01:00.1 supports-statistics:  yes supports-test:  yes supports-eeprom-access:  no supports-register-dump:  no supports-priv-flags:  yes 
 
通过系统自带的lspci查看网卡信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 root@tiny-unraid:~# lspci -nnv 01:00.0 Ethernet controller : Mellanox Technologies MT27710 Family           Subsystem: Mellanox Technologies Device          Flags: bus master, fast devsel, latency 0, IRQ 16, IOMMU group 14         Memory at 60e2000000 (64-bit, prefetchable)          Expansion ROM at 80e00000           Capabilities:  Express Endpoint, IntMsgNum 0         Capabilities:  Vital Product Data         Capabilities:  MSI-X: Enable+ Count=64 Masked-         Capabilities:  Vendor Specific Information: Len=18 <?>         Capabilities:  Power Management version 3         Capabilities:  Alternative Routing-ID Interpretation (ARI)         Capabilities:  Advanced Error Reporting         Capabilities:  Single Root I/O Virtualization (SR-IOV)         Capabilities:  Secondary PCI Express         Capabilities:  Access Control Services         Kernel driver in use: vfio-pci         Kernel modules: mlx5_core 01:00.1 Ethernet controller : Mellanox Technologies MT27710 Family           Subsystem: Mellanox Technologies Device          Flags: bus master, fast devsel, latency 0, IRQ 17, IOMMU group 15         Memory at 60e0000000 (64-bit, prefetchable)          Expansion ROM at 80d00000           Capabilities:  Express Endpoint, IntMsgNum 0         Capabilities:  Vital Product Data         Capabilities:  MSI-X: Enable+ Count=64 Masked-         Capabilities:  Vendor Specific Information: Len=18 <?>         Capabilities:  Power Management version 3         Capabilities:  Alternative Routing-ID Interpretation (ARI)         Capabilities:  Advanced Error Reporting         Capabilities:  Single Root I/O Virtualization (SR-IOV)         Capabilities:  Access Control Services         Kernel driver in use: mlx5_core         Kernel modules: mlx5_core
 
查看网卡信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 root @ tiny - unraid :~ #  mstconfig  - d  01 : 00.0  query Device  #1 : ---------- Device  type :         ConnectX4LX Name :                N / A Description :         N / A Device :              01 : 00.0 Configurations :                                      Next  Boot          ROCE_NEXT _PROTOCOL                           254          NUM_PF _MSIX _VALID                            True ( 1 )          NUM_OF _VFS                                   8          NUM_OF _PF                                    2          SRIOV_EN                                     True ( 1 )          PF_LOG _BAR _SIZE                              5          VF_LOG _BAR _SIZE                              0          NUM_PF _MSIX                                  63          NUM_VF _MSIX                                  11          INT_LOG _MAX _PAYLOAD _SIZE                     AUTOMATIC ( 0 )          CQE_COMPRESSION                              BALANCED ( 0 )          PCI_ATOMIC _MODE                              PCI_ATOMIC _DISABLED _EXT _ATOMIC _ENABLED ( 0 )          LRO_LOG _TIMEOUT0                             6          LRO_LOG _TIMEOUT1                             7          LRO_LOG _TIMEOUT2                             8          LRO_LOG _TIMEOUT3                             12          LOG_DCR _HASH _TABLE _SIZE                      14          MAX_PACKET _LIFETIME                          61          DCR_LIFO _SIZE                                16384          NUM_OF _PLANES _P1                             0          NUM_OF _PLANES _P2                             0          IB_PROTO _WIDTH _EN _MASK _P1                    0          IB_PROTO _WIDTH _EN _MASK _P2                    0          ROCE_CC _PRIO _MASK _P1                         0          ROCE_CC _CNP _MODERATION _P1                    DEVICE_DEFAULT ( 0 )          ROCE_CC _PRIO _MASK _P2                         0          ROCE_CC _CNP _MODERATION _P2                    DEVICE_DEFAULT ( 0 )          CLAMP_TGT _RATE _AFTER _TIME _INC _P1             True ( 1 )          CLAMP_TGT _RATE _P1                            False ( 0 )          RPG_TIME _RESET _P1                            600          RPG_BYTE _RESET _P1                            32767          RPG_THRESHOLD _P1                             5          RPG_MAX _RATE _P1                              0          RPG_AI _RATE _P1                               5          RPG_HAI _RATE _P1                              50          RPG_GD _P1                                    11          RPG_MIN _DEC _FAC _P1                           50          RPG_MIN _RATE _P1                              1          RATE_TO _SET _ON _FIRST _CNP _P1                  100          DCE_TCP _G _P1                                 4          DCE_TCP _RTT _P1                               1          RATE_REDUCE _MONITOR _PERIOD _P1                4          INITIAL_ALPHA _VALUE _P1                       0          MIN_TIME _BETWEEN _CNPS _P1                     0          CNP_ 802 P_PRIO _P1                             0          CNP_DSCP _P1                                  7          CLAMP_TGT _RATE _AFTER _TIME _INC _P2             True ( 1 )          CLAMP_TGT _RATE _P2                            False ( 0 )          RPG_TIME _RESET _P2                            600          RPG_BYTE _RESET _P2                            32767          RPG_THRESHOLD _P2                             5          RPG_MAX _RATE _P2                              0          RPG_AI _RATE _P2                               5          RPG_HAI _RATE _P2                              50          RPG_GD _P2                                    11          RPG_MIN _DEC _FAC _P2                           50          RPG_MIN _RATE _P2                              1          RATE_TO _SET _ON _FIRST _CNP _P2                  100          DCE_TCP _G _P2                                 4          DCE_TCP _RTT _P2                               1          RATE_REDUCE _MONITOR _PERIOD _P2                4          INITIAL_ALPHA _VALUE _P2                       0          MIN_TIME _BETWEEN _CNPS _P2                     0          CNP_ 802 P_PRIO _P2                             0          CNP_DSCP _P2                                  7          LLDP_NB _DCBX _P1                              False ( 0 )          LLDP_NB _RX _MODE _P1                           OFF ( 0 )          LLDP_NB _TX _MODE _P1                           OFF ( 0 )          LLDP_NB _DCBX _P2                              False ( 0 )          LLDP_NB _RX _MODE _P2                           OFF ( 0 )          LLDP_NB _TX _MODE _P2                           OFF ( 0 )          ROCE_RTT _RESP _DSCP _P1                        0          ROCE_RTT _RESP _DSCP _MODE _P1                   DEVICE_DEFAULT ( 0 )          ROCE_RTT _RESP _DSCP _P2                        0          ROCE_RTT _RESP _DSCP _MODE _P2                   DEVICE_DEFAULT ( 0 )          DCBX_IEEE _P1                                 True ( 1 )          DCBX_CEE _P1                                  True ( 1 )          DCBX_WILLING _P1                              True ( 1 )          DCBX_IEEE _P2                                 True ( 1 )          DCBX_CEE _P2                                  True ( 1 )          DCBX_WILLING _P2                              True ( 1 )          KEEP_ETH _LINK _UP _P1                          False ( 0 )          KEEP_IB _LINK _UP _P1                           False ( 0 )          KEEP_LINK _UP _ON _BOOT _P1                      False ( 0 )          KEEP_LINK _UP _ON _STANDBY _P1                   False ( 0 )          KEEP_ETH _LINK _UP _P2                          False ( 0 )          KEEP_IB _LINK _UP _P2                           False ( 0 )          KEEP_LINK _UP _ON _BOOT _P2                      False ( 0 )          KEEP_LINK _UP _ON _STANDBY _P2                   False ( 0 )          NUM_OF _VL _P1                                 _ 4 _VLs ( 3 )          NUM_OF _TC _P1                                 _ 8 _TCs ( 0 )          NUM_OF _PFC _P1                                8          NUM_OF _VL _P2                                 _ 4 _VLs ( 3 )          NUM_OF _TC _P2                                 _ 8 _TCs ( 0 )          NUM_OF _PFC _P2                                8          DUP_MAC _ACTION _P1                            LAST_CFG ( 0 )          DUP_MAC _ACTION _P2                            LAST_CFG ( 0 )          PORT_OWNER                                   True ( 1 )          ALLOW_RD _COUNTERS                            True ( 1 )          RENEG_ON _CHANGE                              True ( 1 )          TRACER_ENABLE                                False ( 0 )          IP_VER                                       IPv4 ( 0 )          BOOT_UNDI _NETWORK _WAIT                       0          BOOT_VLAN                                    1          LEGACY_BOOT _PROTOCOL                         PXE ( 1 )          BOOT_VLAN _EN                                 False ( 0 )          BOOT_PKEY                                    0 
 
查看固件版本信息
root @tiny-unraid:~# mstflint -d 01 :00 .0  qImage  type:            FS3FW  Version:            14 .17 .1010 FW  Release Date:       22 .9 .2016 Rom  Info:              type=PXE version=3 .4 .903 Description :           UID                GuidsNumberBase  GUID:             e868190300c8f3b8        8 Orig  Base GUID:        N/A                     8 Base  MAC:              e86819c8ebcc            8 Orig  Base MAC:         N/A                     8 Image  VSD:             N/ADevice  VSD:            N/APSID :                  HUA0010110034Security  Attributes:   N/A
 
检查image信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 root@tiny-unraid:~ FS3 failsafe image      /0x00000038-0x0000173b (0x001704)/ (BOOT2) - OK      /0x00002000-0x0000201f (0x000020)/ (ITOC_HEADER) - OK      /0x00004000-0x000040ff (0x000100)/ (RESET_INFO) - OK      /0x00005000-0x00005fff (0x001000)/ (FW_MAIN_CFG) - OK      /0x00006000-0x000064bf (0x0004c0)/ (FW_BOOT_CFG) - OK      /0x00007000-0x00007aff (0x000b00)/ (HW_MAIN_CFG) - OK      /0x00008000-0x0000813f (0x000140)/ (HW_BOOT_CFG) - OK      /0x00009000-0x0000c4ff (0x003500)/ (PHY_UC_CONSTS) - OK      /0x0000d000-0x0000d13f (0x000140)/ (IMAGE_SIGNATURE_256) - OK      /0x0000e000-0x0000e13f (0x000140)/ (PUBLIC_KEYS_2048) - OK      /0x0000f000-0x00030a13 (0x021a14)/ (ROM_CODE) - OK      /0x00031000-0x0003133f (0x000340)/ (PCIE_PHY_UC_CODE) - OK      /0x00032000-0x00039d7f (0x007d80)/ (PHY_UC_CODE) - OK      /0x0003a000-0x00063b33 (0x029b34)/ (PCI_CODE) - OK      /0x00064000-0x00074f03 (0x010f04)/ (IRON_PREP_CODE) - OK      /0x00075000-0x0029c6ff (0x227700)/ (MAIN_CODE) - OK      /0x0029d000-0x002aca23 (0x00fa24)/ (PCIE_LINK_CODE) - OK      /0x002ad000-0x002b0487 (0x003488)/ (POST_IRON_BOOT_CODE) - OK      /0x002b1000-0x002b3ba7 (0x002ba8)/ (UPGRADE_CODE) - OK      /0x002b4000-0x002b43ff (0x000400)/ (IMAGE_INFO) - OK      /0x002b4400-0x002d364f (0x01f250)/ (FW_ADB) - OK      /0x002d3650-0x002d3e27 (0x0007d8)/ (DBG_FW_INI) - OK      /0x002d3e28-0x002d3e2f (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-0x00ff813f (0x000000)/ (VPD_R0) - OK -I- FW image verification succeeded. Image is bootable.
 
解压下载好的安装包
root@tiny-unraid:~ Archive:  NIC-SP380-CX4Lx-FW-14.31.1014.zip   inflating: version.xml   inflating: install.sh   inflating: fw-ConnectX4Lx-rel-14_31_1014_H_SP380-FlexBoot-3.6.403_4117_14_24_13_RELEASE_X64_AARCH64_20210706_VPD.bin    creating: tools/   inflating: tools/mdevices_info   inflating: tools/mstop   inflating: tools/flint   inflating: tools/flint_ext   inflating: tools/minit   inflating: tools/mst   inflating: tools/mcra    creating: drivers/
 
同样的操作可以检查固件信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 root@tiny-unraid:~ FS3 failsafe image      /0x00000038-0x00001d97 (0x001d60)/ (BOOT2) - OK      /0x00002000-0x0000201f (0x000020)/ (ITOC_HEADER) - OK      /0x00004000-0x00013dd3 (0x00fdd4)/ (IRON_PREP_CODE) - OK      /0x00014000-0x000140ff (0x000100)/ (RESET_INFO) - OK      /0x00015000-0x00015bff (0x000c00)/ (FW_MAIN_CFG) - OK      /0x00016000-0x0001647f (0x000480)/ (FW_BOOT_CFG) - OK      /0x00017000-0x000185ff (0x001600)/ (HW_MAIN_CFG) - OK      /0x00019000-0x0001913f (0x000140)/ (HW_BOOT_CFG) - OK      /0x0001a000-0x0001cc7f (0x002c80)/ (PHY_UC_CONSTS) - OK      /0x0001d000-0x0001d13f (0x000140)/ (IMAGE_SIGNATURE_256) - OK      /0x0001e000-0x0001e8ff (0x000900)/ (PUBLIC_KEYS_2048) - OK      /0x0001f000-0x0001f08f (0x000090)/ (FORBIDDEN_VERSIONS) - OK      /0x00020000-0x0002023f (0x000240)/ (IMAGE_SIGNATURE_512) - OK      /0x00021000-0x000220ff (0x001100)/ (PUBLIC_KEYS_4096) - OK      /0x00023000-0x00072fff (0x050000)/ (PROGRAMMABLE_HW_FW) - OK      /0x00073000-0x00123827 (0x0b0828)/ (ROM_CODE) - OK      /0x00124000-0x00133fff (0x010000)/ (CRDUMP_MASK_DATA) - OK      /0x00134000-0x001349ff (0x000a00)/ (PCIE_PHY_UC_CODE) - OK      /0x00135000-0x0013e91f (0x009920)/ (PHY_UC_CODE) - OK      /0x0013f000-0x0016a4e7 (0x02b4e8)/ (PCI_CODE) - OK      /0x0016b000-0x004ab11f (0x340120)/ (MAIN_CODE) - OK      /0x004ac000-0x004b9c5f (0x00dc60)/ (PCIE_LINK_CODE) - OK      /0x004ba000-0x004bae3f (0x000e40)/ (POST_IRON_BOOT_CODE) - OK      /0x004bb000-0x004bcbfb (0x001bfc)/ (UPGRADE_CODE) - OK      /0x004bd000-0x004bd3ff (0x000400)/ (IMAGE_INFO) - OK      /0x004bd400-0x004bdf53 (0x000b54)/ (DBG_FW_INI) - OK      /0x004bdf54-0x004bdf5b (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-0x00ff81bf (0x000080)/ (VPD_R0) - OK -I- FW image verification succeeded. Image is bootable.
 
更新固件完成后
root@tiny-unraid:~ Done.     Current FW version on flash:  14.17.1010     New FW version:               14.31.1014     You are about to replace current PSID on flash - "HUA0010110034"  with a different PSID - "HUA0000000023" .     Note: It is highly recommended not to change the PSID.  Do you want to continue  ? (y/n) [n] : y Burning FW image without signatures - OK Restoring signature                     - OK -I- To load new FW run mstfwreset or reboot machine.
 
我们再次检查固件信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 root@tiny-unraid:~ Image type :            FS3 FW Version:            14.31.1014 FW Version(Running):   14.17.1010 FW Release Date:       30.6.2021 Rom Info:              type =UEFI version=14.24.13 cpu=AMD64,AARCH64                        type =PXE version=3.6.403 cpu=AMD64 Description:           UID                GuidsNumber Base GUID:             e868190300c8f3b8        8 Orig Base GUID:        N/A                     8 Base MAC:              e86819c8ebcc            8 Orig Base MAC:         N/A                     8 Image VSD:             N/A Device VSD:            N/A PSID:                  HUA0000000023 Orig PSID:             HUA0010110034 Security Attributes:   N/A
 
注意这个时候固件可以看到running版本和非running版本,我们通过ethtool查看当前的固件版本会发现新刷入的固件版本并未生效,需要重启
root@tiny-unraid:~ driver: mlx5_core version: 6.6.68-Unraid firmware-version: 14.17.1010 (HUA0010110034) expansion-rom-version: bus-info: 0000:01:00.1 supports-statistics: yes  supports-test: yes  supports-eeprom-access: no supports-register-dump: no supports-priv-flags: yes 
 
重启机器之后查看网卡信息可以发现固件版本和网卡速率都是正常
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 root@tiny-unraid:~ Settings for  eth1:         Supported ports: [ Backplane ]         Supported link  modes:   1000baseKX/Full                                 10000baseKR/Full                                 25000baseCR/Full                                 25000baseKR/Full                                 25000baseSR/Full         Supported pause frame use: Symmetric         Supports auto-negotiation: Yes         Supported FEC modes: None        RS      BASER         Advertised link  modes:  1000baseKX/Full                                 10000baseKR/Full                                 25000baseCR/Full                                 25000baseKR/Full                                 25000baseSR/Full         Advertised pause frame use: Symmetric         Advertised auto-negotiation: Yes         Advertised FEC modes: None         Speed: 10000Mb/s         Duplex: Full         Auto-negotiation: on         Port: Direct Attach Copper         PHYAD: 0         Transceiver: internal         Supports Wake-on: d         Wake-on: d         Link detected: yes  root@tiny-unraid:~ driver: mlx5_core version: 6.6.68-Unraid firmware-version: 14.31.1014 (HUA0000000023) expansion-rom-version: bus-info: 0000:01:00.1 supports-statistics: yes  supports-test: yes  supports-eeprom-access: no supports-register-dump: no supports-priv-flags: yes 
 
这里建议不要刷入mellanox官方的固件(虽然看起来网卡的速度正常,但是却无法正确识别到光模块和线缆),使用华为的官方固件即可,刷入的方法是一样的。