Cisco UCS Virtual Interface Card Drivers for Linux Installation Guide
Downloading and Installing Cisco UCS VIC Drivers
Downloads: This chapterpdf (PDF - 513.0KB) The complete bookPDF (PDF - 825.0KB) | Feedback

Downloading and Installing Cisco UCS VIC Drivers

Downloading and Installing Cisco UCS VIC Drivers

This chapter contains the following sections:

Downloading Cisco UCS VIC Drivers

Obtaining the ISO Image Bundle

This procedure describes how to download the UCS Drivers ISO bundle, which contains most Cisco UCS Virtual Interface Card drivers. In some cases, a driver may be contained in a different bundle, which will be noted in the installation procedure for that driver.

Procedure
    Step 1   In a web browser, navigate to http://www.cisco.com.
    Step 2   Under Support, click All Downloads.
    Step 3   In the product selector, click Products, then click Unified Computing and Servers.
    Step 4   If prompted, enter your Cisco.com username and password to log in.

    You must be signed in to download Unified Computing System (UCS) drivers.

    Step 5   Choose your server.

    Cisco UCS drivers are available for both Cisco UCS B-Series Blade Server Software and Cisco UCS C-Series Rack-Mount UCS-Managed Server Software.

    Step 6   Click Unified Computing System (UCS) Drivers.
    Step 7   Click the Release Notes link to view the latest version of the Release Notes.
    Step 8   For each driver ISO that you want to download, do the following:
    1. Click the link for the release that you want to download.

      The latest release version is selected by default.

    2. Choose your download method and follow the prompts to complete your driver download.
      Download

      Downloads the software immediately.

      Add to Cart

      Adds the software driver ISO to your cart to be downloaded at a later time.


    What to Do Next

    Read the Release Notes before installing the Cisco UCS Virtual Interface Card drivers.

    Installing Cisco UCS VIC Drivers

    Installation Methods

    Cisco UCS Virtual Interface Card drivers for Linux can be installed in the following ways.

    • OS driver disks
    • To SAN Storage using the fNIC driver and OS driver disk. (fNIC only)
    • RPM
    • Source tarball

    Administrative privileges are required to install and update Cisco UCS Virtual Interface Card drivers.

    Installing Linux Drivers to the Local Drive Using a Driver Disk

    The following steps can also be followed for SLES or XenServer.

    Before You Begin

    Create a DVD from the driver disk ISO image.

    Procedure
      Step 1   Insert the RHEL installation DVD and at the installation menu, enter linux dd.

      A prompt displays requesting the driver disk.

      Step 2   Remove the RHEL installation DVD and insert the DVD generated from the dd.iso image.

      The RHEL installer reads the new drivers and overrides the default drivers.

      After the RHEL installer finishes reading the drivers from the dd.iso, the RHEL installer displays a prompt requesting that you reinsert the RHEL installation DVD.

      Step 3   Remove the DVD generated from the dd.iso image and insert the RHEL installation DVD.
      Step 4   Complete the RHEL installation.
      Step 5   Verify that the default RHEL driver has been replaced by the driver in the dd.iso image.

      For the eNIC driver, cat /sys/module/enic/version

      For the fNIC driver, cat /sys/module/enic/version


      Installing Linux to SAN Storage Using the fNIC Driver and OS Driver Disk

      Procedure
        Step 1   Create a vHBA on the Cisco UCS M81KR Virtual Interface Card.
        Step 2   In Cisco UCS Manager, mark the vHBA bootable and add the WWPN of the SAN storage.

        For more information on how to do this step, see the Cisco UCS Manager CLI Configuration Guide or Cisco UCS Manager GUI Configuration Guide.

        Step 3   Boot the server using the RHEL installation DVD through vMedia.
        Step 4   At the installation menu, enter linux dd.

        The installer displays the available installation disks, including the local disk and the SAN disk discovered by the Cisco UCS M81KR Virtual Interface Card.

        Step 5   For the installation target, choose the SAN storage device.

        The RHEL installer reads the new drivers and overrides the default drivers to install RHEL on the SAN disk.

        Step 6   Complete the RHEL installation and reboot the host, choosing SAN storage as the first boot option.

        Installing Linux Drivers using RPM

        If the management connection is over the eNIC, we recommend that you use the serial or KVM console to complete the driver installation. Completing an rmmod of the current driver results results in a loss of eNIC network connectivity.

        Before You Begin

        Remove existing drivers by entering one of the following commands:

        • rmmod {enic | fnic}
        • modprobe {enic | -r fnic}

        Note


        If you are booting from SAN storage, you cannot remove the existing driver using the rmmod fNIC command because this driver is required to use the SAN LUNs. Instead, enter the rpm --erase old-kmod-fnic-rpm-name command to erase the old RPM. Then, enter the rpm -ivh --nodeps new-kmod-fnic-rpm-name command to update the driver and reboot the node. The rpm -ivh --nodeps new-kmod-fnic-rpm-name command replaces the older driver with the new driver in the system memory.

        If an fNIC RPM is not installed, and the fNIC driver that is available with the OS kernel is used, then you need not remove any existing drivers.

        To determine the package that the fNIC belongs to, perform the following steps:
        1. Find the installed fNIC modules
          $ find /lib/modules -name *fnic*
          /lib/modules/2.6.18-194.el5/kernel/drivers/scsi/fnic/fnic.ko
          
        2. Determine which package the fNIC modules belong to.
          cd /lib/modules/2.6.18-194.el5/kernel/drivers/scsi/fnic/fnic.ko
          rpm -qf ./fnic.ko
          
          If this command displays the fNIC package name, then you must uninstall the fNIC RPM. You do not need to remove the fNIC RPM if it belongs to the Linux kernel package.

        If drivers have previously been installed using the driver disk installation process, the driver disk's enic/fnic.ko file is in the /lib/modules/'uname -r'/updates/ directory. The default search order of depmod (as specified in the /etc/depmod.d/depmod.conf.dist file) places a higher priority on the updates/ directory. Because new RPM installations place the enic/fnic.ko file under /lib/modules/'uname -r'/extra/, you can rename, delete or move the driver in the /lib/modules/'uname -r'/updates/ directory. Alternatively, you can also modify the /etc/depmod.d/depmod.conf.dist to change the search order by placing extra/ before updates/. To ensure that the depmod picks up the RPM installation's driver and not the existing driver installed using the driver disk method.

        Procedure
          Step 1   Install the binary RPM by entering the corresponding command for your driver:
          Driver Command
          eNIC driver on RHEL

          rpm -ivh kmod-enic-version-0.x86_86.rpm

          eNIC driver on RHEL with XEN support

          rpm -ivh kmod-enic-version-0.x86_86.rpm

          eNIC driver on SuSE

          rpm -ivh cisco-enic-kmp-default-version-0.x86_64.rpm

          eNIC driver on SuSE with XEN support

          rpm -ivh cisco-enic-kmp-default-version-0.x86_64.rpm

          fNIC driver on RHEL

          rpm -ivh --nodeps kmod-fnic-

          The driver is installed but not loaded.

          Step 2   Load the driver in one of the following ways:
          • Reboot the host
          • Load the driver manually while the host is running by entering the modprobe{enic | fnic} command.
          Note   

          If an error message displays and says that the module is in use, remove any modules that are using the driver and then remove the driver. Issuing the lsmod | grep {enic | fnic} command can help you figure out which modules are in use.

          If there are many references to the eNIC or fNIC module and it is not possible to remove all of the dependencies, reboot the system.

          Step 3   Verify the driver installation by entering the sbin/lsmod | grep {enic | fnic} command.

          Installing Linux Drivers Using the Source Tarball

          To install the Linux driver for eNIC or fNIC for the first time, complete the entire procedure. To upgrade an existing driver, remove the currently running eNIC or fNIC module and then complete steps 3-10.

          Before You Begin

          Remove existing drivers by entering one of the following commands:

          • /sbin/rmmod {enic | fnic}
          • modprobe {enic | -r fnic}

          Note


          If you are booting from SAN storage, you cannot remove the existing driver using the rmmod fNIC command because this driver is required to use the SAN LUNs. Instead, enter the rpm --erase old-kmod-fnic-rpm-name command to erase the old RPM. Then, enter the rpm -ivh --nodeps new-kmod-fnic-rpm-name command to update the driver and reboot the node. Entering the rpm -ivh --nodeps new-kmod-fnic-rpm-name command replaces the older driver with the new driver in the system memory.


          If drivers have previously been installed using the driver disk installation process, the driver disk's enic/fnic.ko file is in the /lib/modules/'uname -r'/updates/ directory. The default search order of depmod (as specified in the /etc/depmod.d/depmod.conf.dist file) places a higher priority on the updates/ directory. Because new RPM installations place the enic/fnic.ko file under /lib/modules/'uname -r'/extra/, you can rename, delete or move the driver in the /lib/modules/'uname -r'/updates/ directory. Alternatively, you can also modify the /etc/depmod.d/depmod.conf.dist to change the search order by placing extra/ before updates/. To ensure that the depmod picks up the RPM installation's driver and not the existing driver installed using the driver disk method.

          Procedure
            Step 1   Copy the source tarball to the specified folder.

            cp {enic- | fnic}version-num.tar.gz folder-name

            Step 2   Change directories to the specified folder.

            cd folder-name

            Step 3   Extract the source tarball.

            tar xvfz {enic- | fnic}version-num.tar.gz

            Step 4   Change directories to the eNIC or fNIC version folder.

            cd {enic- | fnic}version-num

            Step 5   Make the driver by entering one of the following commands:
            Driver Command
            eNIC

            make CONFIG_ENIC=m

            fNIC

            make CONFIG_FNIC=m

            Making the driver builds the new .ko file and removes the existing driver. The new driver is copied to /lib/modules/'uname -r'/kernel/drivers/scsi/fnic/.

            Step 6   Install the driver by entering one of the following commands:
            Driver Command
            eNIC

            make CONFIG_ENIC=m install

            fNIC

            make CONFIG_FNIC=m install

            If an enic or fnic.ko file already exists in that directory, it is renamed as enic or fnic.ko.orig during the make installation. The make file backs up the currently installed enic or fnic.ko module and replaces it with the newly build module. For the fNIC, if libfc.ko, fcoe.ko, and libfcoe.ko exist on the system, they are left unmodified.

            Step 7   (Optional)If you installed and are booting from SAN storage, rebuild the initrd file with the updated fNIC drivers.

            Example:
            # cp /boot/initrd-'uname -r'.img /boot/initrd-'uname -r'.img.orig
            # mkinitrd /boot/initrd-'uname -r'.img 'uname -r'
            
            Step 8   Load the driver in one of the following ways:
            • Reboot the host
            • Load the driver manually while the host is running by entering the modprobe{enic | fnic} command.
            • Load the installed module manually by entering the /sbin/insmod /lib/modules/uname-r/extra/{enic | fnic}/{enic | fnic}.ko command.
            Note   

            If an error message displays and says that the module is in use, remove any modules that are using the driver and then remove the driver. Entering the lsmod | grep {enic | fnic} command can help you figure out which modules are in use.

            If there are many references to the eNIC or fNIC module and it is not possible to remove all of the dependencies, reboot the system.

            Step 9   Verify the new driver is loaded.

            /sbin/lsmod | grep {enic| fnic}

            Step 10   (Optional)Enter the fcc command with any of the following arguments to run the FCC tool.
            Argument Description
            No arguments specified

            Lists all FC hosts, remote ports, and LUNs.

            fcc --help
            Lists all of the FC commands.
            Note   

            Only the list, luns, stats, info, and reset commands work at this time. The other options are supported in the software FCoE stack only.

            fcc list hosthost-num

            Lists only the hosts, ports, and LUNs associated with a single host.

            fcc reset hosthost-num

            Resets the specified host.

            The FCC tool that is packaged with the driver and can be used to list all of the associated Fibre Channel HBAs, remote ports, and LUNs. Entering the make install command copies the FCC to the /root/bin/ directory and creates a link to this file in the /bin/ directory.


            The following example extracts version 11 of the tarball to a folder called tmp and installs the driver. The driver is loaded using the reboot method.

            $ cp enic-11.tar.gz /tmp
            $ cd /tmp
            $ tar xvfz enic-11.tar.gz
            $ cd enic-11
            $ make CONFIG_ENIC=m
            # make CONFIG_ENIC=m install
            What to Do Next

            After the reboot, you can run the following commands to ensure that the correct driver is loaded:

            $ ([root@linux-host]# dmesg | grep -i fnic
            $ fnic: Cisco FCoE HBA Driver, ver 1.5.0.1
            $ scsi0 : fnic
            $ scsi1 : fnic