How to add the missing ESXi 5.0 drivers to the ESXi 5.5 installation ISO

In my previous post I warned that VMware has removed some drivers for officially unsupported NICs (Realtek and Marvell) from ESXi 5.5 (compared to ESXi 5.1 and 5.0 that still included them).
These drivers still work with ESXi 5.5, and if you upgrade an ESXi 5.1 host to 5.5 then you can just keep and continue using them. But what if you want to install a new machine from scratch with ESXi 5.5 that needs one of these drivers?

Well, the awesome ImageBuilder snap-in for PowerCLI can help ...

The following PowerCLI script will create an ESXi 5.5 installation ISO that includes the missing drivers:
# Add VMware Online depot
Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

# Clone the ESXi 5.5 GA profile into a custom profile
$CloneIP = Get-EsxImageProfile ESXi-5.5.0-1331820-standard
$MyProfile = New-EsxImageProfile -CloneProfile $CloneIP -Vendor $CloneIP.Vendor -Name (($CloneIP.Name) + "-customized") -Description $CloneIP.Description

# Add latest versions of missing driver packages to the custom profile
Add-EsxSoftwarePackage -SoftwarePackage net-r8168 -ImageProfile $MyProfile
Add-EsxSoftwarePackage -SoftwarePackage net-r8169 -ImageProfile $MyProfile
Add-EsxSoftwarePackage -SoftwarePackage net-sky2 -ImageProfile $MyProfile

# Export the custom profile into ISO file
Export-EsxImageProfile -ImageProfile $MyProfile -ExportToISO -FilePath c:\temp\ESXi-5.5.0-1331820-standard-customized.iso
It is pretty self-explaining ... If you want to learn more about ImageBuilder then please read my three-part deep dive series about it.

In the comments of my last post the question came up whether these drivers are still supported with ESXi 5.5. The answer is No. In fact these drivers have never been supported, not even with ESXi 5.0 or 5.1, because the NICs that use them are not listed on the VMware HCL. If you want your hardware to be fully supported by VMware then stick with what is listed on the HCL! However, for home labs and test setups it is perfectly okay to use these drivers ...


This post first appeared on the VMware Front Experience Blog and was written by Andreas Peetz. Follow him on Twitter to keep up to date with what he posts.



59 comments:

  1. The on board sata pass-through capabilities which worked on ALL versions of ESXi 5.0-5.1 is no longer working with ESXi 5.5 for Supermicro motherboard: X8SI6-F with Intel 3420 Chipset (Ibex Peak).

    I'm able to pass-through the PCI device (Intel Corporation Ibex Peak 6 port SATA AHCI Controller), but the hdd(s) aren't listed as available to any OS.

    Is there a PowerCLI script for this issue, if not, how do I go about getting it resolved?

    ReplyDelete
    Replies
    1. PowerCLI is a scripting language, but not a magic bullet for repairing broken features. A better place to look for help with this issue are the VMware Communities. See e.g. here: https://communities.vmware.com/message/2282165

      Delete
  2. Andreas, the network card issue I had was resolved by this, but I need the Marvell SATA drivers that were in ESXi 5.0/5.1. Were can I find a listing of drivers available to the "Add-EsxSoftwarePackage -SoftwarePackage " command? If I can find the Marvell driver(s) I am certain I can adjust the script above to fit my needs.

    Thanks for the help!

    ReplyDelete
    Replies
    1. No SATA drivers have been removed in ESXi 5.5 (compared to 5.0), but maybe some device ID mappings have been removed from the driver packages so that they are no longer automatically loaded for certain devices.
      I will look into this.

      Delete
    2. What is the PCI id of your Marvell SATA controller? Please post the output of

      lspci -n | grep "Class 0601"

      Delete
    3. Andreas, following this thread carefully, thank you!

      My motherboard's ASMedia ASM1061 SATAIII ports not seen by ESXi 5.5, Intel SATAIII ports working fine:

      # lspci -n | grep "Class 0601"
      0000:00:1f.0 Class 0601: 8086:1c44

      Any other useful information I can provide you?

      Delete
    4. Sorry, I had a typo there. Please post the full output of "lspci -v". Thanks!

      Delete
    5. My ASROCK Extreme 4 Z77 board has some ports not being seen so my SSD's are not showing up.

      I think it's the
      0000:02:00.0 SATA controller Mass storage controller: ASmedia 1062 Serial ATA Controll
      Class 0106: 1b21:0612

      But no clue how to resolve

      Delete
    6. I too have this same problem with the ASmedia sata controllers. Did anyone ever find a resolution? There seems to be no shortage of people with this issue but I have yet to find resolution. I'd love to get 5.5 going

      Delete
    7. Sorry, here are my outputs with -n and -v

      ~ # lspci -n | grep "Class 0601"
      00:00:1f.0 Class 0601: 8086:1c54

      ~ # lspci -v | grep "Class 0601"
      Class 0601: 8086:1c54


      Delete
    8. I change my 2 OCZ SSD's to use the Intel ports (check the diagram of the mainboard) and both are recognized, therefor bypassing the ASMedia 1062 issue.

      However, would be great to get this issue solved so that I can connect an external drive bay via the back ports

      Delete
  3. I do remember in ESXi 4.* I had to modify the PCI tables to get some SATA devices to work.

    ~ # lspci -n | grep "Class 0601"
    0000:00:1f.0 Class 0601: 8086:3a16

    Would this table change be scriptable with ImageBuilder?
    Thanks for the help!

    ReplyDelete
  4. Andreas, just to say that I was able to create the customised .iso file and successfully install ESXi 5.5. Sincerely, thank you.

    ReplyDelete
  5. Hey, on esxi 5.0 and 5.1 my Intel ICH 10 worked fine but on 5.5 from a fresh install it doesn't work anymore, any way this method could be used to make it work again? It still detects it etc it just isn't passing the drives through anymore although i have it set up in the advanced settings.

    ReplyDelete
  6. Hi, i tried to build a custom 5.5 iso including drivers for Realtek 8111E (as far as i know theyre included in the driver package for the rtl 8168) for a hetzner ex40. it does detect the network card (shows mac & connected but listed as N/A). sadly it doesnt send or recive any packets. is there anything im missing?

    ReplyDelete
    Replies
    1. That is interesting. I also have 2x EX40 at Hetzner, and they both work fine with ESXi 5.5. Let's compare driver versions (esxcli software vib get -n net-r8168) and PCI IDs (lspci -v):

      Version 8.013.00-3vmw.510.0.0.799733

      Class 0200: 10ec:8168

      Delete
  7. looks like the behaviour im seeing: https://communities.vmware.com/message/2298454

    ReplyDelete
  8. To anyone who is trying to get his SATA AHCI controller to work with ESXi 5.5 - please try the following:
    1. Boot the computer from the installation CD
    2. When the first menu appears, press Alt-F1 to switch to a console window. Log in as root without password.
    3. Run "vmkload_mod ahci" to load the ahci driver
    4. Run "lspci -v | more" to list PCI devices and IDs. Note the PCI vendor and device ID (e.g. 1b21:0612) of your SATA controller!
    5. Switch back to the installation screen with Alt-F2 and continue the installation wizard
    6a. If your controller and the attached disks are now detected then you are lucky: We just need to add the PCI ID from step #4 to the mapping table of the ahci driver. I can provide a VIB file for that if you let me know the PCI ID.
    6b. If your controller is NOT detected by the ahci driver then we cannot get it to work with ESXi 5.5 right now, sorry!

    If you already successfully installed ESXi 5.5 (on a USB drive or other disk controller) then just run steps #3 and #4 and check if your AHCI controller is detected then.

    ReplyDelete
    Replies
    1. Hi Andreas,
      lspci -v | more
      0000:00:1f.2 SATA controller Mass storage controller: Intel Corporation Patsburg 6 Port SATA AHCI Controller [vmhba0]
      Class 0106: 8086:1d02
      But device is already listed in AHCI driver:
      vmtar -x /bootbank/sata_ahc.v00 -o sata_ahc.tar
      tar xvf sata_ahc.tar
      vi etc/vmware/driver.map.d/ahci.map
      regtype=linux,bus=pci,id=8086:1d02 0000:0000,driver=ahci,class=storage

      But even though controller and the attached disks are detected by ESXi the VM (FreeNAS) doesn't see attached disks (it was working on 5.1)
      FreeNAS log extract:
      ahci0: port 0x4038-0x403f,0x4030-0x4033,0x4028-0x402f,0x4024-0x4027,0x4000-0x401f mem 0xfd4fe800-0xfd4fefff irq 18 at device 0.0 on pci3
      ahci0: AHCI controller reset failure
      device_attach: ahci0 attach returned 6

      Any advice?

      Delete
    2. Hi Mind0Master1,

      I'm not sure what you are trying to do ... Can you see the disks that are attached to the Intel controller in the vSphere client (Configuration/Storage/Devices) or not?

      Why should the FreeNAS VM seeing them? Are you trying to pass the controller through to the VM?

      I remember having read somewhere else that there is a problem with passthrough not working if you have another SATA controller that also uses the ahci driver and is NOT configured for passthrough.

      - Andreas

      Delete
    3. Hi Andreas,

      Yes, vSphere web client can see the disks attached to the Intel controller.
      (VM has been upgraded to v.10)

      Yes, I'm trying to pass the controller through to the VM (it worked with 5.1)

      All SATA controllers on this machine are in passthrough mode, there is one on-board SCSI controller which never worked in passthrough mode in previous ESXi versions (confirmed by other people's experience as well). So in my case it's something else.
      0000:05:00.0 Serial Attached SCSI controller Mass storage controller: Intel Corporation Patsburg 4-Port SATA Storage Control Unit [vmhba2]
      Class 0107: 8086:1d6b

      Seems like I have the same problem reported in the first comment by SFSCA: "The on-board sata pass-through capabilities which worked on ALL versions of ESXi 5.0-5.1 is no longer working with ESXi 5.5..."

      Delete
    4. Hi Andreas,

      my Marvell 9172 appears to register, but all disks on it are not visible. The same disks register fine on the Intel ICH on the same board. On installation, the AHCI does not appear to load correctly despite a vmkload_mod, it does not unload for a reload either, because it claims symbols are already in use. The lspci output for the SATA controllers on my Intel DZ77RE-75k lists the proper Class 0106 entries for SATA once it is done and the controller shows up in vSphere, but a rescan also does not bring up the disks.

      Delete
  9. Hi, Thanks for all of your efforts and useful info. I think I've read almost all of your posts related to ESXi 5 driver compatibility, and have downloaded your tools. What I can't figure out is whether an ESXi 4 driver can be ported to ESXi 5.

    I have a HighPoint Rocket RAID 2720SGL I/O controller. It is a SAS / SATA 3 controller with various hardware RAID options. It works fine as a pass through device under ESXi 5.0, but I would like to use it directly within ESXi 5.0 or higher.

    HighPoint have not released any ESXi 5 drivers, but they did release ESX / ESXi 4 drivers for this card.
    Might there be a way to port these ESXi 4 drivers into ESXi 5?
    Has anyone already done this?

    ReplyDelete
    Replies
    1. Hi Anonymous,
      you cannot use the ESXi 4 driver in ESXi 5. So you would need to either
      a) port the ESXi 4 driver to ESXi 5, or
      b) port a recent Linux driver to ESXi 5
      I'm not sure what is easier, and I do not have the skills to do the one or the other.
      And I do not think that anyone was successful with this or is even working on it. I just checked the forums at vm-help.com and there is no recent conversation about the RocketRAID controller.
      So, I can only encourage you to try this on your own - a good starting point is my blog post here: http://www.v-front.de/2013/03/how-to-build-device-drivers-for-esxi-5x.html.

      Andreas

      Delete
  10. Hi Anonymous (the one who solved the ASM1062 issue!
    Could you shed some further light on how you got the ASM1062 working in ESXi 5.5?
    Regards,
    David

    ReplyDelete
  11. Hi Andreas,
    Thanks for the advice. I had a look at the "how to build device drivers" post and looked at trickstarter's parts 1 and 2 walk through.
    Linux drivers do exist for the RocketRAID card, but I'm not a Linux admin by any stretch of the imagination, so will probably not attempt this without a safety helmet!

    I'll probably re-purpose the RocketRAID card into a different server / project and buy a replacement for the ESXi host.
    Thanks again.

    ReplyDelete
  12. Hi i have ASM1062 Serial ATA Controller
    Class 0106: 1b21:0612 can you please make me a VIB file for this please

    ReplyDelete
  13. Okay, here is how to get your ASMedia ASM1062 Controller working in ESXi 5.5:

    1. If you have not yet installed ESXi 5.5 then download the following VIB file:
    http://files.v-front.de/sata-xahci-1.0-1.x86_64.vib
    and build a custom ISO with it using ESXi-Customizer

    2. If you have already installed ESXi 5.5 then open a shell on the host and run the following commands:
    esxcli software acceptance set --level=CommunitySupported
    esxcli network firewall ruleset set -e true -r httpClient
    esxcli software vib install -v http://files.v-front.de/sata-xahci-1.0-1.x86_64.vib
    reboot

    3. If you have a different unsupported SATA AHCI Controller then comment here with its name an PCI ID (check with "lspci -v").

    - Andreas

    ReplyDelete
  14. Will the steps above also work for the ASMedia ASM1061 controller? Or do i need a different vib for that?
    Thanks in advance

    - Marcel

    ReplyDelete
    Replies
    1. I guess the ASM1061 will have a different PCI ID, Please follow the instructions in my new post and comment there with the ID of the ASM1061:
      http://www.v-front.de/2013/11/how-to-make-your-unsupported-sata-ahci.html.

      Delete
    2. Thanks Andreas, i've placed a comment at your new post for the ASM1061 controller

      Delete
  15. Thanks Andreas. Just updated my ESXi 5.1 whitebox to 5.5 and lost some RDMs. Thanks to you I have them back and can boot my server again. Thank you.

    ReplyDelete
  16. Hello Andreas,

    I just take a EX60 server at Hetzner and I encounter the same problem with the drivers.
    Do you think your solution works with this version of server?
    The network card is a Realtek (I think ...)
    Here is the screen that I failed: http://clickici.fr/image/Yk

    ReplyDelete
    Replies
    1. There is a good chance that this will also work with the EX60. Just try it ... or check what network card is in there with "lspci -v" in a shell.

      If you have not yet installed anything on the machine now then you can also boot with the Linux Rescue CD and run the command there.

      Delete
  17. Don't forget to add the first couple lines to the beginning

    # Load the ImageBuilder Snapin
    Add-PSSnapin VMware.ImageBuilder

    otherwise nothing will work :)
    Rock on. Thanks for the script

    ReplyDelete
    Replies
    1. Hi Rhian,
      yes, if you use "pure" PowerShell, but I assume that you launch a "PowerCLI" session with the PowerCLI shortcut on the desktop. Then the snapin will be loaded automatically by the initialization scripts.
      - Andreas

      Delete
  18. Hello Andreas,

    Do you know if some usb drivers in ESXI 5.5 have been removed?

    I have a Asus RX700 with a Z9PR-D12/4L Motherboard. USB devices are not working after installing or upgrading from ESXI 5.0 to 5.5 Clean install does also not work
    When I boot from the cd, at some point the usb keyboards stop working
    The PS2 keyboards works through the complete installation.

    Best Regards, Gerjan

    ReplyDelete
    Replies
    1. Hi Anonymous,
      I don't think that something changed in ESXi 5.5 regarding USB support. At least the keyboard should still work. I recently heard from a similar case where it helped to plug the keyboard into another USB port.
      - Andreas

      Delete
  19. Hi Andreas,
    I dit try all 4 usb ports, on the front, and on the back of the server.
    When ESXI is almost ready from booting the cd, it looks like the power is cut from the usb ports. (num lock led from keyboard goes of, usb drive led does not blink ect.)

    I found the same issue here: https://communities.vmware.com/message/2313323

    Best Regards,

    Gerjan

    ReplyDelete
    Replies
    1. Hi Gerjan,

      this is an interesting thread, and I just posted to it. Can you please follow my instructions there and answer there in the forums (not here)?

      Thanks
      Andreas

      Delete
    2. Hi Gerjan,
      can you please check if the setting mentioned in https://communities.vmware.com/message/2314733#2314733 fixes the keyboard issue for you?
      Thanks
      Andreas

      Delete
    3. Having same usb / keyboard issue on a SuperMicro X10SLL-F-0 so can't install ESXi 5.5. (and 5.1). I've followed all the links and tried all the suggestions to no avail. Can't hit "enter" to continue with install. Even IPMI keyboard becomes unresponsive. Has anyone anywhere resolved this? Unfortunately I don't have a PS/2 on the server. PCIe usb card did not resolve.

      Delete
    4. Hi E Brew,

      try to play with the USB related BIOS settings. Make sure that legacy keyboard support is enabled and look for USB handshake settings.

      Andreas

      Delete
    5. Thank you Andreas, USB is working under 5.5 now and maybe always. I had assumed it wasn't when the NUMlock key went out 1/2 way through the installer like it did under 5.1 But the keyboard was still responsive and I was able to hit "Enter" and continue. Could not get USB working with 5.1 no matter the bios setting (Legacy USB disabled, etc) but I will just go forward with 5.5

      Delete
  20. Hi,

    anyone got USB 3.0 on host working with ESXi 5.5 HP-Image and a HP Microserver Gen8 G2020t?

    0000:0e:00.0 USB controller Serial bus controller: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller
    Class 0c03: 1912:0014

    ReplyDelete
    Replies
    1. No, that's not supported right now. I think you cannot even use USB 3.0 devices for passthrough. See http://kb.vmware.com/kb/1022290.

      Delete
  21. Hey Andreas, this is Gianluca. I've been trying to add my old Adaptec Ultra320 series RAID controller for awhile now. The controller will show up on ESXI 5.0 but not 5.5. I've tried a myriad of things to get it to work on a clean install ISO of 5.5, including adding the .VIBs you've created but to no avail.

    I did the instructions you suggested within the installation console and here are the results. Well, at least of the things that seemed like they'd be relevant to the controller (There was a lot of side stuff about the Motherboard North and South bridges). Anyway:

    0000:001F.1 IDE Interface Mass Storage Controller: Intel Corporation 631xESB/632xESB IDE Controller [vmhba0]
    Class 0101: 8886:269e

    0000:05:03.0 RAID bus controller Mass storage controller: Adaptec AIC-7902(B) U320 w/HostRAID
    Class 0104: 9005:889d

    0000:05:03.1 SCSI bus controller Mass storage controller: Adaptec AIC-8982 U320 [vmhba1]
    Class 0100: 9005:881d

    I'd like to mention that I have 4 Fujitsu 300gb hard drives that are set up in a RAID10 at the moment. Out of curiosity in a Windows 7 install, the drives show up as one 600gb hard drive. Though, in the ESXI 5.0 install, when they show up, all 4 of them are selectable individually at 300gb a piece rather than the one 600gb it should be considered. Why is that? Will having the correct VIBs installed fix that issue of them being 4 different drives rather than the one 600gb?

    Worse comes to worst, could I install ESXI 5.0 (Cause the 4 drives show up) and then upgrade to 5.5 (Where the drives don't show up)? I feel like the install would detect that there's an ESXI installed somewhere and then ask if I want to update it. That being said, would the rest of the drives work or just a single 300gb after updating? Is there any disadvantages to updating rather than installing cleanly?

    ReplyDelete
  22. Thank you Andreas,
    thanks to this page, I have been able to successfull install VMWare ESXi 5.5 on an Asus P5Q-EM with a Realtek 8111C, using "official" drivers.

    Massimo

    ReplyDelete
  23. Hi Andreas,

    Thanks for putting the time into these responses. I've learned a lot as a result of your efforts. Unfortunately, I cannot get my ASUS P6TD Deluxe to behave with ESX 5.5, despite having followed the instructions above. The NICs on that motherboard are:

    2 x Marvell Yukon 88E8056

    I ran the script above successfully, and it created an ISO, but I still get the "No Network Adapters" message. Has something changed, or am I doing something wrong?

    - Rich

    ReplyDelete
    Replies
    1. Hi Rich,

      please see this post for a solution: https://communities.vmware.com/message/2345412#2345412

      Andreas

      Delete
  24. Hi, All
    I'm also in trouble about SATA pass-through on 5.5. (on 5.1, they works fine.)
    Both of the controllers (ASM1061 and Intel CougarPoint) is recognized with Andreas's sata-xahci, and works as ESXi storage adapter.
    But when I make one of them pass-throughed, it always failed to be initialized on guest VM.

    Did anyone try to downgrade AHCI driver from 5.5's to 5.1 ?
    I'll try to downgrade like the post below.
    http://notes.peterhampson.com/?p=285

    Any advice ?

    ReplyDelete
    Replies
    1. Hi Benok,

      with PCI passthrough no ESXi drivers are used! That means it won't help to downgrade the sata-ahci driver. I think the issue that you have is within ESXi itself, so the only way to fix it is to downgrade ESXi to 5.1 again.

      Andreas

      Delete
  25. Can someone just supply a link for the Marvell drivers (.vib) that are included in 5.1? This is a joke trying to find drivers for 5.5 with spending the money for a new NIC. I just want to try 5.5 out in an ASUS P5W DH Deluxe board with the onboard NIC. 5.1 works but not 5.5.

    ReplyDelete
    Replies
    1. It is here:
      https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/net-sky2/VMware_bootbank_net-sky2_1.20-2vmw.510.0.0.799733.vib

      Delete
  26. How do I save this to a file with some of the characters get changed? I tried UTC-8. I'm on a Windows setup. Thanks!

    ReplyDelete
    Replies
    1. Hi Anonymous,

      You may need to save the Powershell script in "UTF-8 with BOM" format to get all characters correct.

      Andreas

      Delete
  27. Hi Andreas

    Thanks for the good work, i just got my NIC to work building .ISO with the driver to ASUS H87i-Plus, its then possible to install.

    Next issue is the onboard RAID controller.

    I followed your guide, and got stuk with 6a.

    1. Boot the computer from the installation CD
    2. When the first menu appears, press Alt-F1 to switch to a console window. Log in as root without password.
    3. Run "vmkload_mod ahci" to load the ahci driver
    4. Run "lspci -v | more" to list PCI devices and IDs. Note the PCI vendor and device ID (e.g. 1b21:0612) of your SATA controller!
    5. Switch back to the installation screen with Alt-F2 and continue the installation wizard

    6a. If your controller and the attached disks are now detected then you are lucky: We just need to add the PCI ID from step #4 to the mapping table of the ahci driver. I can provide a VIB file for that if you let me know the PCI ID.



    I see the onboard RAID Controller (4. Run "lspci -v)

    RAID bus controller Mass storage controller 6 sata:
    Class 0104:8086:2822

    But when i want to install i se 4 HDDs and not my RAID 5.
    Do i need to add something (6a) to se the RAID and not each disk?

    Best Regards

    Nicolai

    ReplyDelete
    Replies
    1. Hi Nicolai,

      you will only be able to use the disk controller without the RAID functionality if you can configure it for pure AHCI mode.
      For details see my post here: http://www.v-front.de/2013/11/how-to-make-your-unsupported-sata-ahci.html

      Andreas

      Delete

***** All comments will be moderated! *****
- Please post only comments or questions that are related to this post's contents!
- Advertising and link spamming will not be tolerated!