Contents

Introduction

Prerequisites

Requirements

Components Used

Background Information

Driver Definition

Devices that Require a Driver

Drivers Versus Firmware

Driver Dependence on Firmware

When Drivers Must be Installed and Updated

Driver Versions Required

Download the Driver Bundle

Identify Server Hardware

UCS B Series

UCS C Series

Identify the UCS Firmware Release

UCS B Series

UCS C Series

OS Specifics

VMware ESXi

Install the Driver

ESXi 5.x/6.x

ESXi 4.x

Finish the Installation

Useful VMware CLI Commands

Microsoft Windows Server

Check Current Driver Version

Check Current Driver Version CLI

Missing Drivers

Install the Driver

Install the Driver from CLI

Useful Windows CLI Commands

Red Hat and SUSE Linux

SUSE Background Information

Verify Current Driver Versions and OS Release

Install the Driver

Appendix

Driver Name Reference Table

Related Information

Introduction

This document describes how to install device drivers on the Cisco Unified Computing System (UCS) for common operating systems.

Prerequisites

Requirements

Cisco recommends that you have knowledge of these topics:

- Cisco UCS Manager

- Cisco Integrated Management Controller (CIMC)

- Virtual Machine-ware (VMware), Windows Server, or Linux Operating Systems (OS)

Components Used

The information in this document is based on these hardware platforms:

- UCS B Series

- UCS C Series

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.

Background Information

Driver Definition

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.

Devices that Require a Driver

Here is a list of hardware devices that require device drivers:

- Ethernet Network Interface Card (ENIC)

- Fibre Channel Network Interface Card (FNIC)

- Redundant Array of Indepent Disks (RAID) Controller

- Motherboard Chipset

- Video Card

- Trusted Platform Module (TPM)

Drivers Versus Firmware

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.

Driver Dependence on Firmware

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.

When Drivers Must be Installed and Updated

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:

- UCS firmware upgrades

- Major OS upgrades/patches

Driver Versions Required

The UCS Hardware and Software Interoperability Matrix outlines the driver versions that are required for a particular OS, device, and firmware combination.

Warning: The driver versions listed on the matrix have been tested and verified by the Cisco Engineering Quality Assurance team, and it is crucial to install the correct driver; otherwise, unexpected behavior which could lead to network outages.

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.

Download the Driver Bundle

Complete these steps in order to download the driver bundle:

1. In a web browser, navigate to Cisco Website

2. Under Support, click Download Software.

3. Click Unified Computing and Servers.

4. Choose your server. Cisco UCS drivers are available for both Cisco UCS B-Series Blade servers and Cisco UCS C-Series Rack-Mount.

5. Click Unified Computing System (UCS) Drivers.

6. Select the bundle you want to download, and click Download Now.

Tip: When you choose which driver bundle to download, it is important to select the driver bundle version that is most similar to the server firmware release. For example, if you run a UCS-B Release 3.2(2b), then VMware driver bundle ucs-bxxx-drivers-vmware.3.2.2.iso is required.

Tip: Most VMware ESXi drivers are downloaded directly from VM Ware, with a search for the driver version. This is often quicker than if you were to download the entire driver bundle.

Identify Server Hardware

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.

UCS B Series

This example shows how to find the server inventory in UCS Manager. Server 1/1 has two adapter models installed: the VIC 1240.

UCS C Series

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

Identify the UCS Firmware Release

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.

UCS B Series

In this example, the UCS B Series runs UCS Release 4.1(3h)

UCS C Series

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

OS Specifics

This section describes how to check driver versions and how to install drivers on common OSs.

VMware ESXi

Use these commands in order to check the current driver versions and VMware build:

Tip: These commands are executed from the ESXi CLI. Secure Shell (SSH) must be enabled before an SSH session is initiated.

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.

Install the Driver

Complete these steps in order to install the driver:

1. Extract the contents of the driver zip file, and identify the *.vib file.

2. Use the Datastore Browser in order to upload the *.vib file to an ESXi host datastore.

3. Enter the host into Maintenance mode.

4. Install the driver.

ESXi 5.x/6.x

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

Note: If the drivers require a signature verification, run this command with the --no-sig-check switch. Ensure that you use the full path to the file.

ESXi 4.x

Use this command in order to install the driver on ESXi Release 4.x:

esxupdate --bundle=offline-bundle.zip update

Finish the Installation

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.

Useful VMware CLI Commands

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

Microsoft Windows Server

This section describes how to install a driver on a Microsoft Windows server.

Check Current Driver Version

In order to check the device drivers in Microsoft Windows, use the Device Manager located in the Control Panel.

Check Current Driver Version CLI

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

Missing Drivers

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.

Install the Driver

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.

Install the Driver from CLI

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.

Useful Windows CLI Commands

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.

Red Hat and SUSE Linux

This section describes how to install and validate a driver on Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES).

SUSE Background Information

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.

Verify Current Driver Versions and OS Release

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.

Note: Be aware that the command modinfo [ driver name ] shows the module information about the driver that is loaded upon next reboot. This is not necessarily the same driver version currently loaded in the running kernel. Review cat/sys/module/DRIVER_NAME/version to validate the driver version loaded in the currently running kernel, and/or use the command modinfo [ /path/to/driver.ko ] to validate the module info for a specific driver kernel object file.

Tip:  Refer to the Driver Name Reference Table located in the Appendix for examples of other common driver names.

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

Install the Driver

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

Tip:  When you install drivers in Linux, ensure that you review the README files associated with the driver if available. You can look at the contents of the RPM to see where its associated README file was installed ( rpm -qp kmod-enic). Some RPM driver packages have dependencies on other modules, and require installation of additional RPM packages. The README files contain full instructions on how to install the driver file.

Appendix

Driver Name Reference Table

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

Related Information

- VMware KB: How to Download and Install async Drivers in ESXi 5.x/6.x (2005205)

- VMware KB: Determining Network/Storage Firmware and Driver Version in ESXi/ESX 4.x and 5.x (1027206)

- VMware KB: Installing async Drivers on ESXi 5.x (2005205)

- VMware KB: Installing async Drivers on ESXi 4.x (1032936)

- Technical Support & Documentation - Cisco Systems