mstfwreset for Socket-Direct NICs
To reset the firmware on a socket-direct NIC, run the tool on all PCI devices related to the same NIC
with function 0 simultaneously.
See the following example on a Linux OSs:
$ lspci -d 15b3:
08:00.0
Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]
08:00.1
Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]
0e:00.0
Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]
0e:00.1
Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]
* All PCI devices above are related to the same NIC
* Run mstfwreset on all the PCI devices with function
$ mstfwreset -d
08:00.0
$ mstfwreset -d
0e:00.0
mstfwreset for SmartNICs
To reset the firmware on a SmartNIC, run the tool simultaneously on the host and on the NIC's
integrated Arm processor.
Firmware reset will trigger the adapter card's reset which will reboot the Arm processor.
Examples of mstfwreset Usage
To query device reset level after firmware update use the following command line:
# mstfwreset -d
41:00.0
Supported reset levels for loading firmware on device, 41:00.0
Example:
Reset-levels:
0: Driver, PCI link, network link will remain up ("live-Patch")
3: Driver restart and PCI reset
4: Warm Reboot
5: Cold Reboot
Reset-types (relevant only
0: Full chip reset
1: Phy-less reset
("port-alive"
Reset-sync (relevant only
0: Tool is the owner
1: Driver is the owner
To reset device in order to load new firmware, use the following command line:
# mstfwreset -d
41:00.0
Example
3: Driver restart and PCI reset
Continue with reset?[y/N] y
-I- Stopping Driver
-I- Sending Reset Command To Fw
-I- Resetting PCI
-I- Starting Driver
-I- Restarting MST
-I- FW was loaded successfully.
reset -y &
reset -y &
query
for
reset-levels 3,4):
- network link will remain up)
for
reset-level 3):
reset
-Done
-Done
-Done
-Done
-Done
0
(08:00.0, 0e:00.0)
-Not Supported
-Supported
-Supported
-Supported
-Supported
-Not Supported
-Supported
-Supported
(default)
(default)
(default)
62