Upgrade the NIC firmware on a ByteBlower 3x00


Introduction

This article is intended for the owners of a ByteBlower 3100 or 3200 model. These systems use an off-the-shelf Intel NIC with traffic generation being handled in software. It has come to our attention that the default firmware on this NIC is not without issues. This guide explains how to upgrade.

The NIC, in particular, has issues handling when the other side of the fiber connection does not shut down in a controlled way. For example, when the switch restarts due to a configuration change, or due to intermittent loss of power. In response to such events, NIC will continuously cycle bringing the link up and losing connection again. This can be seen as:

  • a slow blinking of the LEDS with a cycle time of about 4s.
  • A square wave of the throughput with the same cycle period.
  • Tests that fail to properly start, only to start quickly a couple of short moments later.
Login to the server

You need to have access to the command line of the server. This can either by accessing the server through a screen and keyboard or using SSH. 

The default credentials for the server are:

  • Username: root
  • Password: excentis
Download and extract the update

Temporarily put the OS back into control of the NIC:

/etc/init.d/dpdk stop

Download and unpack the new firmware in a temporary directory:

cd /tmp
wget --no-check-certificate http://setup.byteblower.com/ \
assets/700Series_NVMUpdatePackage_v8_40_Linux.tar.gz
tar xzvf 700Series_NVMUpdatePackage_v8_40_Linux.tar.gz


Perform the update

Execute the update by running:

cd 700Series/Linux_x64/
./nvmupdate64e

This last line brings up a screen, quite similar to the one below. Only the x710-2 requires an update. Your ByteBlower server has two such NICs inside both require an update.


After the update you will get a screen like below. The updater isn't perfect unfortunately, it will complain about communication with the base driver. This message can be ignored.

Reboot

On the next boot, the traffic generation services will be (re)started and normal traffic generation mode is resumed.

$ reboot