升级固件

网卡固件(Firmware)是嵌入式在网络接口卡(NIC)中的一段软件,它可以实现网卡硬件组件的初始化和参数识别、控制网卡的硬件功能、处理数据包的发送和接收、实现各种网络协议、提供驱动程序接口等。通过升级网卡固件,可以获得网卡新功能、解决兼容性问题、性能改进提升、解决旧版本存在的问题等。因此为了保证网络连接的稳定性、性能和安全性,请及时升级网卡固件。

如果SP600系列网卡的所有物理端口或PF均由虚拟机或Host DPDK接管,此时SP600系列网卡不支持固件升级。可将SP600系列网卡任一物理端口或PF解除虚拟机或Host DPDK接管后再进行固件升级,固件升级完成后再按照实际业务场景使用虚拟机或Host DPDK接管对应网卡物理端口或PF。

SP600系列网卡固件升级的方法有多种:

对于SmartKit和Smart Provisioning方式的升级指导,请参见对应服务器的升级指导书来操作。对于命令行方式升级的指导,请参考本章节。

前提条件

影响

升级过程中请勿下电,且除了升级指导内的操作,不要对其他配置进行修改。

操作步骤

  1. 登录服务器OS。
  2. 挂载升级文件。

    iBMC远程虚拟控制台包含Java远程虚拟控制台和HTML5集成远程控制台,其中HTML5集成远程控制台不支持“本地文件夹”功能,本章节以Java远程虚拟控制台为例进行说明,更多信息可参考《iBMC用户指南》。

    1. 在虚拟控制台的工具栏中单击,打开虚拟光驱下属菜单,如图1所示。
      图1 虚拟光驱
    2. 选择“本地文件夹”并单击“浏览”,打开文件选择窗口。
    3. 选择固件包解压后得到的文件夹。

      如果执行版本升级操作,则此处挂载目标版本的升级包;如果执行版本回退操作,则此处挂载升级前版本的升级包。

    4. 单击“连接”。

      当工具栏的“弹出”为可操作状态时,即表示已经成功挂载,如图2所示。

      图2 挂载成功

  3. 拷贝升级文件到服务器,并为其赋予读写权限。

    1. 执行mount /dev/sr0 /mnt命令,将本地文件夹挂载到“/mnt”路径下。

      可在输入mount /dev/sr后,按Tab键,自动联想出sr后面的值。

    2. 执行mkdir /root/fw命令,在root目录下新建“fw”文件夹。
    3. 执行cp -vr /mnt/*/root/fw/命令将所挂载的文件拷贝到“fw”目录下。
    4. 执行cd /root/fw/命令进入“fw”目录。
    5. 执行chmod +x install.sh为脚本添加可执行权限。

  4. 使用命令行升级网卡Firmware,方法如下。

    • 使用hinicadm3命令行工具升级:具体命令请参考updatefw
    • 使用固件一键升级工具升级:

      当使用一键升级工具升级SP600系列网卡固件时,若服务器下存在多个同型号的SP600系列网卡,将自动升级所有同型号网卡固件至目标版本。

      执行./install.sh upgrade命令,升级固件。

      命令执行时无回显打印,等待命令执行完成后,可执行cat work.log命令打开所在文件夹的“work.log”日志文件查看升级日志信息。

      以KylinOS为例,执行升级命令,并查看升级日志信息。
       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
      [root@localhost NIC-SP680-1822-FW_15.7.6.1_ARM]./install.sh upgrade
      [root@localhost NIC-SP680-1822-FW_15.7.6.1_ARM]# cat work.log
      Kylin Linux Advanced Server release V10 (Sword)
      DISTRIB_ID=Kylin
      DISTRIB_RELEASE=V10
      DISTRIB_CODENAME=juniper
      DISTRIB_DESCRIPTION="Kylin V10"
      DISTRIB_KYLIN_RELEASE=V10
      DISTRIB_VERSION_TYPE=enterprise
      DISTRIB_VERSION_MODE=normal
      NAME="Kylin Linux Advanced Server"
      VERSION="V10 (Sword)"
      ID="kylin"
      VERSION_ID="V10"
      PRETTY_NAME="Kylin Linux Advanced Server V10 (Sword)"
      ANSI_COLOR="0;31"
      
      Kylin Linux Advanced Server release V10 (Sword)
      Please do not remove driver or network device.
      Loading...
      Firmware update start: 2023-02-28 17:29:11
      [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] [100%][\]
      Firmware update finish: 2023-02-28 17:30:52
      Firmware update time used: 101s
      Loading firmware image succeed.
      Set update active cfg succeed!
      Please reboot OS to take firmware effect.
      

  5. 执行reboot命令,重启服务器使当前固件生效。
  6. 在固件升级完成后,您可以通过hinicadm3工具的hinicadm3 version -i device_name命令查询生效固件的版本信息,确认是否已升级成功。

    其中device_nameSP600系列网卡在操作系统中的设备名称,例如hinic0。