Table of Contents

To upgrade the firmware follow this

1. Download the driver

*Download driver i40e from here *Build the kernel module

[bash]>tar -xvzf i40e-1.3.47
[bash]>cd i40e-1.3.47/src
[bash]>make
[bash]>sudo insmod  i40e.ko

2. Bind the NIC to Linux

In this stage we bind the NIC to Linux (take it from DPDK)

[bash]>sudo ./dpdk_nic_bind.py --status # show the ports

Network devices using DPDK-compatible driver
============================================
0000:02:00.0 'Device 1583' drv=igb_uio unused=      #1
0000:02:00.1 'Device 1583' drv=igb_uio unused=      #2
0000:87:00.0 'Device 1583' drv=igb_uio unused=
0000:87:00.1 'Device 1583' drv=igb_uio unused=

[bash]>sudo dpdk_nic_bind.py -u 02:00.0  02:00.1          #3

[bash]>sudo dpdk_nic_bind.py -b i40e 02:00.0 02:00.1      #4

[bash]>ethtool -i p1p2                                    #5

driver: i40e
version: 1.3.47
firmware-version: 4.24 0x800013fc 0.0.0             #6
bus-info: 0000:02:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes


[bash]>ethtool -S p1p2
[bash]>lspci -s 02:00.0 -vvv                              #7

1 XL710 ports that need to unbind from DPDK
2 XL710 ports that need to unbind from DPDK
3 Unbind from DPDK using this command
4 Bind to linux to i40e driver
5 Show firmware version throw linux driver
6 Firmare version
7 More info

3. Upgrade

Download NVMUpdatePackage.zip from Intel site here It includes the utility nvmupdate64e

Run this:

[bash]>sudo ./nvmupdate64e

You might need a power cycle and to run this command a few times to get the latest firmware

4. External references

see QSFP+ support for QSFP+ support and Firmware requirement for XL710 from Intel