刷新固件的具体步骤
Jim 发表于:13年05月17日 14:55 [编译] DOIT.com.cn
Mellanox在其Windows 2012安装程序里提供的固件版本为2.10.720,但那个installer不会更新第三方的贴牌网卡。戴尔和惠普的最新固件版本是2.9.1000,不支持RDMA。我这还有几个Sun卡,正在用的版本是2.7.8130。固件不更新,我们就没法使用RDMA,但厂商(到现在为止)还没有更新它们的安装程序。
解决办法就是自制固件
幸运的是,还是有解决办法的:自己制作固件并刷新。实际操作比听上去容易多了。第一次的话也能要花30分钟。之后,这一过程顶多两分钟。我们将从已经安装的 Infiniband 开始,使用自带的微软驱动,以及上面配置的IP地址信息。
制作和刷新固件版本2.10.720的步骤:
1. 安装Mellanox WinMFT
2. 获取该卡设备ID
3. 获取该卡Board ID
4. 下载 .mlx文件
5. 下载 .ini文件
6. 使用mlxburn制作并刷新固件
刷新固件的具体步骤:
1)安装Mellanox WinMFT软件包。它提供给我们所需的制作和刷新固件的工具。本文撰写时,最新版本为2.7.2,安装程序名为WinMFT_x64_2_7_2.msi。
2) 现在我们需要获取此卡的一些信息。在命令行提示窗口,运行命令mst status,来获取卡的PCI ID。我的卡,如下图,ID是mt26428_pci_cr0,你的可能跟这个差不多,除非你有好几个卡。顺便提一句,数字26428是戴尔夹层卡的设备ID(一种产品标识符)。你可能注意到了,这个设备ID和一些Sun,惠普,Mellanox ConnectX-2双端口QDR卡的设备ID一样,这表明我们的戴尔卡确实是一款标准的Mellanox产品,尽管使用了戴尔专有的固件。
3)现在知道了卡的PCI ID,我们还要查明其他几个属性。在同一个命令行提示窗口里,运行命令flint -d
4)下载原始的固件文件到你的Infiniband服务器的一个文件夹里。原始的固件文件是一个扩展名为.mlx的大的文本文件。我使用的版本是2.10.720,固件文件名为fw-ConnectX2-rel.mlx,是我从用于Windows 2012的Mellanox 4.2驱动安装程序中提取的。你可以从这里下载我的固件文件https://www.openida.com/wp-content/uploads/fw-ConnectX2-rel.zip。如果不想下载我的版本,你也可以从Mellanox安装程序中提取自己的固件文件。启动安装程序,让它运行,查看文件夹c:\users\
5) 下载 .ini 文件,把它放到 .mlx 固件文件的同一目录。我的Dell PowerEdge C6100夹层卡的版本在这里https://www.openida.com/wp-content/uploads/DEL09A0000009.zip。该 .ini 文件必须与Board ID匹配,因此你需要将它命名为“DEL09A0000009.ini”。如果你下载了我的版本,请跳过第六步。如果你不想使用我的固件文件,你可以通过编辑和重命名非贴标Mellanox卡的.ini文件自己制作。在Mellanox安装程序仍在运行时,到c:\users\
6) 你现在就可以制作新的固件镜像并刷到自己的卡上了。这两步用一个命令就能完成,而且必须是在你的服务器装有 Infiniband 卡的情况下完成。打开Windows命令行提示窗口,目录指向你的下载文件位置。输入命令mlxburn.exe -dev
在运行此命令时,mlxburn会查找你的卡的Board ID。然后到文件夹下寻找有该Board ID的.ini文件。随后mlxburn使用.mlx固件文件和.ini文件来制作固件镜像,并将其烧录到卡中。完成后,重启服务器,让新的固件生效。