Program Mode

Handling FPGA Images

Platform
Napatech SmartNIC
Content Type
User Guide
Capture Software Version
Link™ Capture Software 12.10

Description

The --program command (see Syntax for the imgctrl Tool) is used for upgrading or downgrading an FPGA image in one NT SmartNIC or a group of NT SmartNICs. The SmartNIC(s) must be in the NEUTRAL state (see NEUTRAL state) before the command is executed.
Note: To save time when the -g or --group argument is used, no verification is performed unless the optional overall -v or --verbose argument is also used.

Two mandatory arguments to the --program command are --ntimg and --ini followed by a path and filename of an .ntimg container package (or, for PCIe Gen1 SmartNICs, an .img binary file) and a text string, respectively. The text string is used to tag or identify the upload. The user is free to enter any string; it is used solely for information purposes.

FPGA images are always uploaded to the secondary bank of a SmartNIC, unless the advanced --force-bank argument or the --ntimg2 argument is used.

CAUTION:
The --force-bank argument is considered advanced and should not be used lightly. Do not use it unless instructed to do so by Napatech support personnel.
Note: Incorrect usage of the --force-bank argument will allow you to compromise both banks and thereby invalidate the SmartNIC.

After programming you must use the --switch command to try the new bank.

Note: Two different images can be uploaded in one command by also using the --ntimg2 argument.
Note: Do not interrupt the tool, for instance using Ctrl+c, while it is programming, since this will cause the bank to become invalid. In such an event, simply restart the programming sequence.
Note: imgctrl version 2.1.0 and later actively prevent you from breaking out of the application. For these versions a termination of the tool can be forced, for Linux, by using kill -9 <pid>, and for Windows, by closing the console window.

Command example with no verification

This is an example of a --program command with no verification.                                                                                                          

/opt/napatech3/bin/imgctrl -a 0 -p -g --ini jmh --ntimg 200-9541-47-07-00.ntimg

Output example with no verification

This is an example of an output from the --program command in Command example with no verification.

...
Adapter group upgrade list:
  ADAPTER 0: PCI:0000:42:00.0 DEVICE:NT50B01-01-NEBS    RUNNING FPGA:200-9541-35-20-0000
  Group Erasing................... 100% done
  Group Writing................... 100% done
Adapter group upgrade done
Note: You can inspect the upload result through the Bank Contents
      section using the --query mode. To try the new image, remember
      to switch bank using the --switch mode. See --help for more information.
Upgrade process complete

Command example with verification

This is an example of a --program command with verification.                                                                                                          

/opt/napatech3/bin/imgctrl -a 0 -p -g -v --ini jmh --ntimg 200-9541-47-07-00.ntimg

Output example with verification

This is an example of an output from the --program command in Command example with verification.

...
Adapter group upgrade list:
  ADAPTER 0: PCI:0000:42:00.0 DEVICE:NT50B01-01-NEBS    RUNNING FPGA:200-9541-35-20-0000
  Group Erasing................... 100% done
  Group Writing................... 100% done
  ADAPTER 0: Verifying............ 100% done
Adapter group upgrade done
Note: You can inspect the upload result through the Bank Contents
      section using the --query mode. To try the new image, remember
      to switch bank using the --switch mode. See --help for more information.
Upgrade process complete