You will need to have the ‘mstflint’ package installed. You can install it with ‘yum install mstflint’ via the CentOS/RHEL base repo.

To start find the PCI device ID of the Mellanox card. 

The PCI ID is the number to the left. The format is XX:XX.X and an example output is: 03:00.0  

lspci | grep Mell
CODE

Get the PSID of the card

mstflint -d 03:00.0 q 
CODE

Intel chassis cards may need the -override_cache_replacement option added if you get an error. This applies to every mstflint command.

mstflint -d 01:00.0 -override_cache_replacement q
CODE

** If the card is a Mellanox brand IB card: Take note of the PSID field and reference that to the firmware download page at http://www.mellanox.com/page/firmware_download (use PSID to find the appropriate firmware) 

** If the card is an ASUS brand, model PEM-FDR, you will need to go to the ASUS website for the current firmware.

** If the chassis is an Intel chassis with an Intel addon IB card, these are Mellanox reference design and firmware can be found at http://www.mellanox.com/page/firmware_table_Intel?mtag=oem_firmware_download.  (use PSID to find the appropriate firmware)

Download and extract the firmware and use the following command to burn the new firmware 

mstflint -d 03:00.0 -i <image name>.bin burn 
CODE

If you are doing this in order to try and recover a malfunctioning card, especially if it shows 'recovery' in the output of lspci, use mstflint with the flags below. These flags are suggested directly from Mellanox support:

mstflint -d <mst device> -i <FW image> -nofs -ocr b
CODE

 

Fully power cycle the machine.