I was banging my head the other day trying to figure out how to update the firmware of my QLogic CNAs on my ESXi 5 hosts. The documentation is not strait forward and I spent a few hours looking for the right software, verifying and testing the process, etc … I figured this out via trial and error so I thought I’d share the steps I took to update everything.
For general clarification there are basically three parts to updating your QLogic CNAs, FC, etc … cards in an ESXi 5.0 host:
- QLogic vCenter plug-in
- Drivers
- Firmware
The QLogic vCenter plug-in is a fairly strait forward install and will make the ‘QConvergeConsole’ tab available when you select a particular host. It provides a lot of information about the cards plugged into the ESXi host such as Active Firmware Version, Flash Firmware Version, and Multiboot Version.
Drivers are already included in ESXi and get updated through normal patches and updates to the ESXi host. There are rare cases where something gets screwed up with the drivers and you encounter some strange problems. For example, if you have already installed the QLogic vCenter plug-in and try to view the CNA information with the QConvergeConsole tab but nothing displays you probably have a driver issue. But no worries, I’ve got you covered … see the very end of this post.
Firmware has to be downloaded separately. It can be a little frustrating trying to find the right QLogic package to download because there is nothing that is clearly labeled “Firmware for your card type QLE8152”. Not to mention that the file type of the firmware is “.bin” and the actual “.bin” you need is mixed with several other files that a person might unknowingly mistake for the firmware file. Oh yeah, and you can only find the “.bin” file mentioned in a read-me file buried with the treasure from the Raiders of the Lost Ark.
That being said the following information will guide you through:
- Downloading the appropriate software
- Installing the QLogic vCenter plug-in
- Updating the firmware of your CNA cards
- Dealing with driver issues
– Download the Software —
Step 1: Visit the QLogic Driver Downloads page and select the card type, number, and operating system and press ‘go’. In this example I will be updating the QLE8152 Converged Network Adapter.
Step 2: Download the ‘vCenter Plugin and CIM Provider (x86/x64)’
Step 3: Download the ‘Multi-boot image for 8100 Series’. This has the “.bin” file needed to update the firmware.
Step 4: At this point you have all the software, drivers, and firmware that you need so copy what you downloaded to your vCenter server.
– Install the ‘vCenter Plugin and CIM Provider (x86/x64) –
Note: If you already have the plug-in installed you can quickly check to see if you have the latest version by comparing the ‘com.qlogic.QLogicAdapterVIPlugIn’ version under ‘Plug-ins’ in vCenter to the file you downloaded as the version will be the last part of the downloaded file. (I took the screen shots after I had already update so they are the same >< )
Step 1: Install the ‘vCenter Plugin and CIM Provider (x86/x64)’
Step 2: Select the install location … for me the default location was fine.
Step 3: Provide the vCenter IP and preferably a service account with admin privileges to the vCenter/server.
Step 4: Restart the ‘Tomcat server’ service … aka ‘VMware VirtualCenter Management Webservices’ service.
You can now bask in the glory that is the ‘QConvergeConsole’ tab for each of your ESXi hosts! Ok, maybe it’s not that awesome, but at least you can now update your firmware.
– Update your card Firmware –
Step 1: Put the host into Maintenance Mode
Step 2: Make a note of the ‘Active Firmware Version’, ‘Flash Firmware Version’, and the ‘Multiboot Version’ as these numbers should be a higher value once you have updated the firmware
Step 3: Update the card using the ‘Update Adapter Flash Image’ command. Note that if you have multiple cards on the same host you will need to do this for each card before you reboot the host to complete the process.
Note: You will only be able to upload a ‘.bin’ filetype. The appropriate file can be found in the ‘Multi-boot image’ file that you downloaded earlier. There should only be one ‘.bin’ file.
Step 3: Once the update has completed reboot the ESXi host
— Driver Issues –
A good indication of a driver issue on your host is if you click on the ‘QConvergeConsole’ tab and you see something similar to the following:
It takes a little extra work, but you can fix this by updating the drivers via the command line on the ESXi host. The good news is that, if you followed the steps above already, you already have the file you need – the “provider-adapter.vib” file.
If you did not already download the software then you will need to download the ‘vCenter Plugin and CIM Provider (x86/x64)’ as detailed in this post as the ‘provider-adapter.vib’ is bundled in with that download.
Step 1: Locate the correct .vib for your version of ESXi. In my case I am using ESXi 5.0 so I used the .vib file located in the ‘qlogic_adapter_provider_vmware_esx50x-1.0.9’ folder.
Step 2: Upload the ‘provider-adapter.vib’ to the local datastore of the host that you are updating.
Step 3: Place the host in Maintenance Mode.
Step 4: This is a personal preference of mine, but I like to drill down into the directory that I will be executing from and verify the ‘.vib’ file is there. So in this case I will be in the “/vmfs/volumes/host136-scratch/” directory.
~ # df ` Get a list of datastores … it’s easier to copy and paste the path in putty rather than typing it in over and over.
~ # cd /vmfs/volumes/host136-scratch/ ` Change directory
~ # ls ` Verify the ‘provider-adapter.vib’ file is actually there
Step 4: Execute the following command. Note that the output from the command tells you the version of the new VIB as well as the old (removed) VIB.
~ # esxcli software vib install –no-sig-check –maintenance-mode –v /vmfs/volumes/host136-scratch/provider-adapter.vib
Step 5: Reboot the ESXi host
In summary this was a giant pain in my ass and I’m happy that I could figure it out, document it, and provide a (hopefully) easier set of instructions for completing this task.