image image image image image image



On This Page

Created on Jun 30, 2019

Updated on Sep 10, 2021

Introduction

This  post describes the procedure of how to install and run NVIDIA® Firmware tools (MFT) v4.17.0 on VMware ESXi 6.7/7.0 versions.

References

Overview

NVIDIA ConnectX®-5/6 NATIVE ESXi is a software stack which operates across all NVIDIA network adapter solutions supporting up to 100Gb/s Ethernet (ETH) and PCI Express 3.0 and 4.0 uplinks to servers.

Hardware and Software Requirements

1. A server platform with an adapter card based on one of the following NVIDIA Technologies’ HCA devices:

2. Installer Privileges: The installation requires administrator privileges on the target machine.

3. Device ID: For the latest list of device IDs, please visit NVIDIA website.

NVIDIA Firmware Tools (MFT)

The NVIDIA Firmware Tools (MFT) package is a set of firmware management tools used to:

  • Generate a standard or customized NVIDIA firmware image
  • Querying for firmware information
  • Burn a firmware image

Setup

The setup includes ESXi 6.7/7.0 server installed with ConnectX-5/6 adapter card.

Installation

1. Go to the MFT web page: http://www.NVIDIA.com/page/management_tools.

MFT Download

2. Enable SSH Access to ESXi server.

3. Log into ESXi vSphere Command-Line Interface with root permissions.

4. Download the MFT for VMware vib package to the "/tmp" directory.

5. Verify that the files are placed in the /tmp directory.

ESXi cli
cd /tmp
ls
ESXi cli Output
mft-4.17.0.106-10EM-700.0.0.15843807.x86_64.vib   nmst-4.17.0.106-1OEM.700.1.0.15843807.x86_64.vib

5. Get the adapter list.

ESXi cli
esxcli network nic list
ESXi cli Output
Name     PCI Device    Driver      Admin Status  Link Status   Speed  Duplex  MAC Address         MTU  Description
-------  ------------  ----------  ------------  -----------  ------  ------  -----------------  ----  -----------
vmnic0   0000:39:00.0  nmlx5_core  Up            Up           100000  Full    0c:42:a1:24:04:ea  1600  Mellanox Technologies ConnectX-6 Dx EN NIC; 100GbE; dual-port QSFP56; PCIe4.0 x16; (MCX623106AC-CDA)
vmnic1   0000:39:00.1  nmlx5_core  Up            Down              0  Half    0c:42:a1:24:04:eb  1500  Mellanox Technologies ConnectX-6 Dx EN NIC; 100GbE; dual-port QSFP56; PCIe4.0 x16; (MCX623106AC-CDA)
vmnic10  0000:cc:00.0  nmlx5_core  Up            Up           100000  Full    ec:0d:9a:8a:27:62  9000  Mellanox Technologies ConnectX-5 Ex VPI adapter card EDR IB (100Gb/s) and 100GbE dual-port QSFP28 (MCX556A-EDAT)
vmnic11  0000:cc:00.1  nmlx5_core  Up            Up           100000  Full    ec:0d:9a:8a:27:63  1600  Mellanox Technologies ConnectX-5 Ex VPI adapter card EDR IB (100Gb/s) and 100GbE dual-port QSFP28 (MCX556A-EDAT)
vmnic12  0000:61:00.0  nmlx5_core  Up            Up            25000  Full    0c:42:a1:94:50:10  1500  Mellanox Technologies ConnectX-6 Lx EN NIC; 25GbE; dual-port SFP28; PCIe4.0 x8; (MCX631102AE-ADA)
vmnic13  0000:61:00.1  nmlx5_core  Up            Up            25000  Full    0c:42:a1:94:50:11  1500  Mellanox Technologies ConnectX-6 Lx EN NIC; 25GbE; dual-port SFP28; PCIe4.0 x8; (MCX631102AE-ADA)
vmnic4   0000:72:00.0  ixgben      Up            Up             1000  Full    18:c0:4d:00:c9:21  1500  Intel(R) Ethernet Controller 10G X550
vmnic5   0000:72:00.1  ixgben      Up            Down              0  Half    18:c0:4d:00:c9:22  1500  Intel(R) Ethernet Controller 10G X550
vmnic8   0000:cb:00.0  nmlx5_core  Up            Up           100000  Full    0c:42:a1:24:05:66  1500  Mellanox Technologies ConnectX-6 Dx EN NIC; 100GbE; dual-port QSFP56; PCIe4.0 x16; (MCX623106AC-CDA)
vmnic9   0000:cb:00.1  nmlx5_core  Up            Down              0  Half    0c:42:a1:24:05:67  1500  Mellanox Technologies ConnectX-6 Dx EN NIC; 100GbE; dual-port QSFP56; PCIe4.0 x16; (MCX623106AC-CDA)
ESXi cli
esxcli network nic get -n vmnic0
ESXi cli Output
 Advertised Auto Negotiation: true
   Advertised Link Modes: Auto, 1000BaseX/Full, 10000BaseX/Full, 40000XLPPI/Full, 25000BaseCR1/Full, 50000BaseKR2/Full, 100000BaseCR4/Full
   Auto Negotiation: true
   Cable Type:
   Current Message Level: -1
   Driver Info:
         Bus Info: 0000:39:00:0
         Driver: nmlx5_core
         Firmware Version: 22.29.1016
         Version: 4.19.71.1
   Link Detected: true
   Link Status: Up
   Name: vmnic0
   PHYAddress: 0
   Pause Autonegotiate: false
   Pause RX: false
   Pause TX: false
   Supported Ports: DA
   Supports Auto Negotiation: true
   Supports Pause: false
   Supports Wakeon: false
   Transceiver: internal
   Virtual Address: 00:50:56:5e:05:8a
   Wakeon: None

6. Install the vib package.

ESXi cli
esxcli software vib install -v /tmp/nmst-4.17.0.106-1OEM.700.1.0.15843807.x86_64.vib -f
ESXi cli Output
Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: MEL_bootbank_nmst_4.17.0.106-1OEM.700.1.0.15843807
   VIBs Removed: MEL_bootbank_nmst_4.16.3.12-1OEM.700.1.0.15843807
   VIBs Skipped:
ESXi cli
esxcli software vib install -v /tmp/mft-4.17.0.106-10EM-700.0.0.15843807.x86_64.vib -f
ESXi cli Output
Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: MEL_bootbank_mft_4.17.0.106-0
   VIBs Removed: MEL_bootbank_mft_4.16.3.12-0
   VIBs Skipped:


7. The MFT tools are not located in the default path. In order to run any MFT tool either:

  • Enter the full path. For example: /opt/mellanox/bin/flint

OR

Please note, the path is temporary and will hold only until reboot.


8.  Enter Maintenance Mode  the ESXi host.

9. Reboot the server.

ESXi cli
reboot

10.  Exit Maintenance Mode  the ESXi host.

11. Start the mst driver. Run.

ESXi cli
cd /opt/mellanox/bin
./mst start
ESXi cli Output
Module mst is already loaded

12. To print the current status of NVIDIA devices.

ESXi cli
/opt/mellanox/bin/mst status
ESXi cli Output
MST devices:
------------
mt4125_pciconf6
mt4123_pciconf1
mt4127_pciconf2
mt4123_pciconf3
mt4125_pciconf4
mt4121_pciconf5

13. Show the devices status with detailed information.

ESXi cli
/opt/mellanox/bin/mst status -vv
ESXi cli Output
PCI devices:
------------
DEVICE_TYPE             MST                           PCI       RDMA            NET                       NUMA
ConnectX6DX(rev:0)      mt4125_pciconf6               39:00.0

ConnectX6DX(rev:0)      mt4125_pciconf0.1             39:00.1

ConnectX6(rev:0)        mt4123_pciconf1               3f:00.0

ConnectX6(rev:0)        mt4123_pciconf1.1             3f:00.1

ConnectX6LX(rev:0)      mt4127_pciconf2               61:00.0

ConnectX6LX(rev:0)      mt4127_pciconf2.1             61:00.1

ConnectX6(rev:0)        mt4123_pciconf3               c5:00.0

ConnectX6(rev:0)        mt4123_pciconf3.1             c5:00.1

ConnectX6DX(rev:0)      mt4125_pciconf4               cb:00.0

ConnectX6DX(rev:0)      mt4125_pciconf4.1             cb:00.1

ConnectX5(rev:0)        mt4121_pciconf5               cc:00.0

ConnectX5(rev:0)        mt4121_pciconf5.1             cc:00.1

14. Query the device.

ESXi cli
./mlxfwmanager --query
ESXi cli Output
Querying Mellanox devices firmware ...

Device #1:
----------

  Device Type:      ConnectX6DX
  Part Number:      MCX623106AC-CDA_Ax
  Description:      ConnectX-6 Dx EN adapter card; 100GbE; Dual-port QSFP56; PCIe 4.0 x16; Crypto and Secure Boot
  PSID:             MT_0000000436
  PCI Device Name:  mt4125_pciconf6
  Base GUID:        0c42a103002404ea
  Base MAC:         0c42a12404ea
  Versions:         Current        Available
     FW             22.30.1004     N/A
     PXE            3.6.0301       N/A
     UEFI           14.23.0017     N/A

  Status:           No matching image found

...

Appendix A

mst Synopsis

mst [switches]

Commands and Switches Description:

ESXi cli
mst start       						# Create special files that represent Mellanox devices in directory/dev. Load appropriate modules. After successfully completing this command, the mst driver will be ready to work.
mst stop       							# Stop Mellanox mst driver service and unload the kernel modules.
mst restart    							# "mst stop" followed by "mst start"
mst server start [-p|--port port]       # Start mst server to allow incoming connection. Default port is 23108.
mst server stop 						# Stop the mst server.
mst status 								# Print current status of Mellanox devices. Options: -v run with a high verbosity level (print more info on each device)
mst version 							# Print the version info


Done !

Notice

This document is provided for information purposes only and shall not be regarded as a warranty of a certain functionality, condition, or quality of a product. Neither NVIDIA Corporation nor any of its direct or indirect subsidiaries and affiliates (collectively: “NVIDIA”) make any representations or warranties, expressed or implied, as to the accuracy or completeness of the information contained in this document and assumes no responsibility for any errors contained herein. NVIDIA shall have no liability for the consequences or use of such information or for any infringement of patents or other rights of third parties that may result from its use. This document is not a commitment to develop, release, or deliver any Material (defined below), code, or functionality.
NVIDIA reserves the right to make corrections, modifications, enhancements, improvements, and any other changes to this document, at any time without notice.
Customer should obtain the latest relevant information before placing orders and should verify that such information is current and complete.
NVIDIA products are sold subject to the NVIDIA standard terms and conditions of sale supplied at the time of order acknowledgement, unless otherwise agreed in an individual sales agreement signed by authorized representatives of NVIDIA and customer (“Terms of Sale”). NVIDIA hereby expressly objects to applying any customer general terms and conditions with regards to the purchase of the NVIDIA product referenced in this document. No contractual obligations are formed either directly or indirectly by this document.
NVIDIA products are not designed, authorized, or warranted to be suitable for use in medical, military, aircraft, space, or life support equipment, nor in applications where failure or malfunction of the NVIDIA product can reasonably be expected to result in personal injury, death, or property or environmental damage. NVIDIA accepts no liability for inclusion and/or use of NVIDIA products in such equipment or applications and therefore such inclusion and/or use is at customer’s own risk.
NVIDIA makes no representation or warranty that products based on this document will be suitable for any specified use. Testing of all parameters of each product is not necessarily performed by NVIDIA. It is customer’s sole responsibility to evaluate and determine the applicability of any information contained in this document, ensure the product is suitable and fit for the application planned by customer, and perform the necessary testing for the application in order to avoid a default of the application or the product. Weaknesses in customer’s product designs may affect the quality and reliability of the NVIDIA product and may result in additional or different conditions and/or requirements beyond those contained in this document. NVIDIA accepts no liability related to any default, damage, costs, or problem which may be based on or attributable to: (i) the use of the NVIDIA product in any manner that is contrary to this document or (ii) customer product designs.
No license, either expressed or implied, is granted under any NVIDIA patent right, copyright, or other NVIDIA intellectual property right under this document. Information published by NVIDIA regarding third-party products or services does not constitute a license from NVIDIA to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property rights of the third party, or a license from NVIDIA under the patents or other intellectual property rights of NVIDIA.
Reproduction of information in this document is permissible only if approved in advance by NVIDIA in writing, reproduced without alteration and in full compliance with all applicable export laws and regulations, and accompanied by all associated conditions, limitations, and notices.
THIS DOCUMENT AND ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE BEING PROVIDED “AS IS.” NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL NVIDIA BE LIABLE FOR ANY DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Notwithstanding any damages that customer might incur for any reason whatsoever, NVIDIA’s aggregate and cumulative liability towards customer for the products described herein shall be limited in accordance with the Terms of Sale for the product.

Trademarks
NVIDIA, the NVIDIA logo, and Mellanox are trademarks and/or registered trademarks of NVIDIA Corporation and/or Mellanox Technologies Ltd. in the U.S. and in other countries. Other company and product names may be trademarks of the respective companies with which they are associated.

Copyright
© 2022 NVIDIA Corporation & affiliates. All Rights Reserved.