This document describes how to install device drivers on the Cisco Unified Computing System (UCS) for common operating systems.
Cisco recommends that you have knowledge of these topics:
The information in this document is based on these hardware platforms:
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
A device driver is software that is the interface between the OS and the hardware. The device driver translates general OS commands into specialized commands for a particular device, which allows the OS to communicate with hardware devices.
Here is a list of hardware devices that require device drivers:
Device drivers are different from firmware. Device driver software is installed on the OS, whereas firmware is lower-level code that is installed on hardware devices. Firmware is stored in non-volatile memory, such as ROM, Erasable Programmable ROM (EPROM), or flash memory.
Device drivers have a strong dependence on the device firmware. Device drivers must be compatible with the firmware level of a hardware device, so that they properly communicate with each other; driver and firmware functionality must match for correct operation to take place.
Device drivers come pre-installed with operating systems (such as Cisco OEM VMware ESXi images), or they can be manually installed post-OS setup.
Device drivers generally need to be updated after these procedures:
The UCS Hardware and Software Interoperability Matrix outlines the driver versions that are required for a particular OS, device, and firmware combination.
This example shows that an FNIC driver version of 1.6.0.36 is required for a B200 M4 with a Virtual Interface Card (VIC) 1240 that runs ESXi 6.0 U3, on UCS Release 3.2.2.

Complete these steps in order to download the driver bundle:
Before you select the correct driver, you must identify what hardware devices are installed on the server. This section describes how to find the devices located on the UCS Manager and in the CIMC.
This example shows how to find the server inventory in UCS Manager. Server 1/1 has two adapter models installed: the VIC 1240.

This example shows how to find the server hardware devices in the CIMC. The server has a Cisco12G ModularSAS HBA RAID controller installed.

Before the correct driver version is selected, the UCS release must be identified. This section describes how to identify the current UCS release installed on the servers.
In this example, the UCS B Series runs UCS Release 4.1(3h)

In this example, the UCS C Series runs UCS Release 4.1(2f).

This section describes how to check driver versions and how to install drivers on common OSs.
Use these commands in order to check the current driver versions and VMware build:
| Command | Description | ||||
| vmware -vl | Displays the VMware build and patch level. | ||||
| esxcli software profile get | Displays flavor of install ISO. | ||||
| esxcfg-scsidevs -a | Lists the hosts HBAs and the associated driver name. | ||||
| esxcfg-nics -l | Lists the host vmnics and network interface card (NIC) models. | ||||
| ethtool -i vmnicX | Displays the Ethernet driver used by the specified vmnic. | ||||
| esxcli network nic get -n vmnicX | Displays the Ethernet driver used by the specified vmnic on ESXi 6.5. | ||||
| vmkload_mod -s fnic | Displays the host bus adapter (HBA) driver version for the Cisco VIC. | ||||
| vmkload_mod -s enic | Displays the Ethernet driver version for the Cisco VIC. | ||||
| vmkload_mod -s nenic | Displays the Ethernet driver version for the Cisco VIC for ESXi 6.5 and later releases. | ||||
| vmkload_mod -s megaraid_sas | Displays the LSI MegaRAID driver version. | ||||
| vmkload_mod -s lsi_mr3 | Displays the LSI lsi_mr3 driver version(Native driver on ESXi 6.7). | ||||
| vmkload_mod -s driver_name | Displays the driver version for a specified driver. | ||||
These examples show that vmnic2 uses a Cisco VIC and a driver version of 1.4.2.15a.


These examples show that the Qlogic Host Bus Adapter (HBA) uses driver qla2xxx Version 901.1k.1-14vmw.


Complete these steps in order to install the driver:

Use this command in order to install the driver on ESXi Release 5.x/6.x:
esxcli software vib install –v /path/async-driver.vib

Use this command in order to install the driver on ESXi Release 4.x:
esxupdate --bundle=offline-bundle.zip update
After you install the driver with one of the previously mentioned commands, exit Maintenance mode and reboot the host. For more information on how to install drivers, reference the Related Information section at the end of this document.
Here are some other useful VMware commands that you can use when you install a driver:
Check Maintenance Mode Status
vim-cmd hostsvc/hostsummary | grep -i maintenace
Check for Powered-On VMs
vim-cmd vmsvc/getallvms
Power-Off VMs
vim-cmd vmsvc/power.off <vm id>
Enter Maintenance Mode
vim-cmd hostsvc/maintenace_mode_enter
Exit Maintenance Mode
vim-cmd hostsvc/maintenace_mode_exit
This section describes how to install a driver on a Microsoft Windows server.
In order to check the device drivers in Microsoft Windows, use the Device Manager located in the Control Panel.

For Windows, Server Core the Plug-and-Play (PnP) Utility (PNPUtil.exe) is used to check driver versions.

Hardware devices with missing drivers are displayed in the Device Manager with a yellow question mark. These devices must be updated with the correct driver in order to prevent unexpected behavior.

In order to install or update a driver in Microsoft Windows, right-click the device, and choose Install/Update Driver in order to start the Installation Wizard.

The PNPUtil tool can also be used to install drivers from the CLI. The driver ISO bundle can be mounted via the UCS KVM Console Virtual Media.

| Command | Description |
| pnputil.exe -e | List all installed 3rd party drivers. |
| pnputil.exe -a <INF name> | Install driver. |
| pnputil.exe -d <INF name> | Delete driver. |
| pnputil.exe -f -d <INF name> | Force delete driver. |
This section describes how to install and validate a driver on Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES).
Starting with SLES 12 SP1, the Cisco eNIC and usNIC drivers are bundled together into a single RPM (versus being packaged in separate RPMs, as they are for other Linux distributions). Bundling both drivers into a single RPM is required because of how kernel module dependencies are managed in SLES 12 SP1 and later. If you are not using Cisco usNIC functionality (For example, if you have not provisioned any usNIC devices in UCSM / CIMC), the usNIC driver is effectively be ignored.
The eNIC and usNIC drivers have their own distinct version numbers. If you install the cisco-enic-usnic RPM on SLES 12 SP 1 or later, once those drivers are loaded into the running kernel (For example, via rebooting), use cat /sys/module/enic/version and cat /sys/module/usnic_verbs/version to view their respective version numbers. The cisco-enic-usnic RPM has its own distinct version number as well. Because it represents the packaging of the eNIC and usNIC drivers, the RPM version number look similar, but does not reflect the specific version of either driver.
For additional information on the exact driver versions query and review the RPM description section. The query looks similar to the example below:
# rpm -qip cisco-enic-usnic-kmp-default-<RPM_VERSION>.x86_64.rpm
Name : cisco-enic-usnic-kmp-default Relocations: (not relocatable)
...
Summary : Cisco VIC Ethernet NIC drivers
Description :
This RPM contains both the Cisco VIC Linux Ethernet driver (enic.ko, version <ENIC_VERSION>) and
the Cisco Userspace NIC (usNIC) Linux Ethernet driver (usnic_verbs.ko, version <USNIC_VERSION>).
Some Linux distros require both kernel modules to be in the same RPM in order to properly test for
symbol compatibility (because usnic_verbs.ko depends on enic.ko) when installing into post-GA
upgrade kernels.
Here is a list of commands used in order to check the current driver version and OS release:
| Command | Description |
| modinfo driver_name | Displays driver version for the specified driver that is loaded (by default) at next reboot. |
| modinfo /path/to/driver_name.ko | Displays driver version for the specified driver kernel object file. |
| cat /sys/module/enic/version | Displays the Ethernet driver version currently loaded in the running Linux kernel for the Cisco VIC adapter. |
| cat /sys/module/fnic/version | Displays the FC NIC driver version currently loaded in the running Linux kernel for the Cisco VIC adapter. |
| cat /sys/module/megaraid_sas/version | Displays the LSI MegaRAID driver version currently loaded in the running Linux kernel. |
| lsmod -l | Lists currently-loaded drivers in the kernel. |
| cat /etc/redhat-release | Shows the RHEL release (for RHEL 6.x and earlier). |
| cat /etc/SuSE-release | Shows the SUSE release (for SLES 11 SP3 and earlier). |
| cat /etc/os-release | Shows the RHEL release (for RHEL 7.x and later, and SLES 11 SP4 and later). |
| uname -a | Shows kernel related information. |
This example shows that an ENIC driver version of 3.2.210.18-738.12 bundled in the cisco-enic-usnic RPM package 3.2.272.23 is installed on SLES 15 GA.
# cat /etc/os-release
NAME="SLES"
VERSION="15"
VERSION_ID="15"
PRETTY_NAME="SUSE Linux Enterprise Server 15"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15"
# rpm -qa | grep enic
cisco-enic-usnic-kmp-default-3.2.272.23_k4.12.14_23-738.12.x86_64
# modinfo enic | grep ^version
version: 3.2.210.18-738.12
# cat /sys/module/enic/version
3.2.210.18-738.12
Drivers in RHEL and SLES are installed using the Redhat Package Manager (RPM). Use this command in order to install the driver:
# rpm -ihv RPM_filename.x86_64.rpm

This table shows the driver names or prefixes for common drivers.
| Command | Description |
| enic | Cisco VIC Ethernet NIC |
| fnic | Cisco VIC FC NIC |
| qle or qla | Qlogic adapter |
| lpfc | Emulex HBA (light pulse) |
| be2net | Emulex Ethernet NIC |
| igb or ixgbe | Intel NICs |
| bnx | Broadcom adapter |
| megaraid | LSI MegaRAID |
| megasr | Embedded SW RAID |
| nenic | Cisco VIC Ethernet NIC for ESXi 6.5 |
| Revision | Publish Date | Comments |
|---|---|---|
6.0 |
03-Sep-2026
|
Recertification - Updated SEO |
5.0 |
03-Sep-2025
|
Updated SEO. Recertification |
4.0 |
15-Aug-2024
|
Updated Alt Text, Machine Translation, Legal Disclaimer, and Formatting. |
3.0 |
25-Aug-2023
|
Updated title
Updated formatting to remove style requirement CCW
Updated links to open in new tabs
Entered alt text |
2.0 |
20-Jul-2022
|
Initial Release |
1.0 |
27-Jun-2013
|
Initial Release |