How to make your unsupported SATA AHCI Controller work with ESXi 5.5 and 6.0


In ESXi 5.5 VMware removed driver support not only for some commodity network cards, but also for lots of SATA controllers that have never been on the HCL, but worked fine with the generic ahci driver of ESXi 5.0 and 5.1 (provided that they support and are configured for AHCI mode). For the NICs the problem could easily be solved by using the old ESXi 5.1 drivers with ESXi 5.5, but - until recently - I had no idea how to fix the issue for the SATA controllers.

I always thought that whenever an ESXi driver is loaded then it would detect and configure any PCI devices that it supports, but the ahci driver of ESXi 5.5 behaves differently: Even if manually loaded (with vmkload_mod ahci) it will only configure the devices that are explicitly listed with their PCI IDs in its map file (/etc/vmware/driver.map.d/ahci.map).

But once you realize this it is easy to add support for other SATA AHCI controllers that are not listed there. You just need to create another map file with the PCI IDs of these devices and a reference to the ahci driver. I was able to verify this method with the help of someone who tried to get his ASMedia ASM1062 Controller (PCI ID 1b21:0612) working with ESXi 5.5. If you have the same controller then you can add support for it by running the following commands in an ESXi shell:
esxcli software acceptance set --level=CommunitySupported
esxcli network firewall ruleset set -e true -r httpClient
esxcli software vib install -d http://vibsdepot.v-front.de -n sata-xahci
Then reboot the host to make the change effective.

I am providing this package (sata-xahci) in both VIB file and Offline Bundle format. If you need the support at installation time then you can build an ESXi installation ISO that already includes the package using either ESXi-Customizer or the ESXi-Customizer-PS script.

Do you have a different unsupported SATA AHCI Controller? Comment on this post and tell me its brand and its PCI ID, and I will add support for it in a new version of the sata-xahci package. A nice way to find this information is by running the following command in an ESXi shell:
lspci -v | grep "Class 0106" -B 1
Just post the output of this command, thanks!

Update (2014-12-03): Unfortunately, I had to disable commenting on this post, because new comments will no longer be displayed (although they can still be added). It looks like we hit a Blogger limit or bug here?! Please send an e-mail to sata-xahci@v-front.de instead, but please read through the FAQ below first. I will just ignore any questions that are already answered there! It is also mandatory to include the output of the lspci command above!

Update (2015-04-18): My sata-xahci package still works and is also necessary with ESXi 6.0 if your SATA AHCI controller is not detected out-of-the-box. So I changed the title of this post accordingly.

FAQ

In the meantime a lot of recurring questions and issues have been posted in the comments of this blog post. Before posting the same questions over and over again please read the following information and FAQ before posting. Thanks!

PLEASE read before asking questions!

1. A lot of modern SATA controllers also have RAID functionality, but they are no real hardware RAID controllers, but need software/driver support to implement RAID functionality. Please note: This driver support is not available in ESXi, so these controllers can only be used in AHCI, but not in RAID mode! If configured for RAID mode the device will be shown as "Class 0104" by "lspci -v", and they might also expose a different PCI device ID when being in RAID mode.

The same applies if your controller is shown as "Class 0100" (SCSI Controller), "Class 0101" (IDE Controller), Class "0105" (ATA Controller) or Class "0107" (SAS Controller). I can really only help you with SATA Controllers (Class "0106") configured for AHCI mode!

Be sure to configure the controller for AHCI (not RAID or anything else) mode in your computer's BIOS before you try to use my package and the ahci driver!

2. If you have multiple SATA controllers on your computer's motherboard and/or as add-on cards then you might get confused about what SATA (and eSATA) ports belong to what controller. So if the controller shows up in ESXi, but not the attached disks, then make sure that the disks are connected to the right ports.

3. I am not able to provide you with a driver for non-AHCI controllers. In fact I'm not able to write an ESXi device driver on my own at all. So please don't ask for it, thanks!

4. If your controller is already shown in the vSphere Client (in Host Configuration / Storage Adapters), but you do not see any disks attached to it then
  • make sure that the disks are really attached to this and not to another controller (see 2.)
  • be sure to look at Host Configuration / Storage / Devices (not Datastores). You will see the attached disks as Datastores only after you have created Datastores on the devices (via Add Storage in the Datastores view)!
  • There is a bug in the firmware of some Marvell adapters (at least 88SE91xx) that prevents it from properly detecting attached devices if you have VT-D enabled in your computer's BIOS. As a workaround disable VT-D! (see this bug report. Many thanks to Adalbert for finding this out!)
5. If you want to use your controller for Passthrough to a VM (via DirectPath I/O Configuration) then you do not need an ESXi driver for this controller! The sata-xahci package will not help you then.
From the comments on this post it looks like ESXi 5.5 introduces issues with Passthrough not working (whereas it worked before in ESXi 5.1 or 5.0). Sorry, I cannot help with that, because I personally do not use Passthrough on any of my machines.

6. If the command lspci -v | grep "Class 0106" -B 1 lists your controller with a name like vmhba0 (or vmhba1 etc.) in square brackets then that means that it is supposed to be supported out-of-the-box and was configured with the mentioned vmhbaX name. There is no need to add its PCI ID through sata-xahci, because it is already included in the standard mappings of the sata-ahci driver.

Example output:
~ # lspci -v | grep "Class 0106" -B 1
0000:00:1f.2 SATA controller Mass storage controller: Intel Corporation Lynx Point AHCI Controller [vmhba0]
         Class 0106: 8086:8c02
If your controller is detected in this way, but does not work correctly then I'm sorry there is nothing I can do about this!



Latest Update on 2016-11-07, Version 1.38

Please note: With version 1.10 I moved the download locations of the sata-xahci package from my GoogleCode page to the new V-Front Online Depot.

For download links see the Wiki page of the package.

Version History

Device Vendor Device Name PCI ID added in
ASMedia Technology Inc.ASM1062 Serial ATA Controller1b21:06121.0
ASMedia Technology Inc.ASM1061 SATA IDE Controller1b21:06111.1
Marvell Technology Group Ltd.88SE9123 PCIe SATA 6.0 Gb/s controller2)1b4b:91231.1
Marvell Technology Group Ltd.88SE9172 SATA 6Gb/s Controller2)1b4b:91721.2
Marvell Technology Group Ltd.88SE9120 SATA 6Gb/s Controller2)1b4b:91201.3
Marvell Technology Group Ltd.88SE9230 PCIe SATA 6Gb/S Controller2)1b4b:92301.3
AMDSB6xx1002:43801.4
JMicron Technology Corp.JMB363 SATA/IDE Controller197b:23631.4
Intel CorporationLynx Point-LP SATA Controller 18086:9c031.4
VMware Inc.Virtual SATA Controller1)15ad:07e01.4
ATI Technologies Inc.SB700 SATA Controller [AHCI Mode]1002:43911.5
Marvell Technology Group Ltd.88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo2)1b4b:91301.5
Marvell Technology Group Ltd.88SE9128 PCIe SATA 6 Gb/s RAID controller2)1b4b:91281.6
NVIDIA CorporationUnknown SATA controller10de:05841.7
Marvell Technology Group Ltd.88SE9182 SATA 6 Gb/s RAID controller2)1b4b:91821.8
Marvell Technology Group Ltd.88SE9215 SATA 6 Gb/s RAID controller2)1b4b:92151.9
Marvell Technology Group Ltd.88SE9125 SATA 6 Gb/s RAID controller2)1b4b:91251.10
nVidia CorporationMCP79 AHCI Controller10de:0ab81.11
nVidia CorporationGeForce 7100/nForce 630i SATA10de:07f41.12
nVidia CorporationMCP67 AHCI Controller10de:05541.13
nVidia CorporationApple iMac 9,110de:0ab91.14
AMDFCH SATA Controller [AHCI mode]1022:78011.15
Marvell Technology Group Ltd.9183 88SS9183 PCIe SSD Controller2)1b4b:91831.16
JMicron Technology Corp.JMB360 AHCI Controller197b:23601.16
Marvell Technology Group Ltd.88SE9220 SATA 6 Gb/s RAID controller2)1b4b:92201.17
JMicron Technology Corp.JMB362 AHCI Controller197b:23621.17
PlextorPX-AG256M6e1c28:01221.18
Intel9 Series Chipset Family SATA AHCI Controller8086:8c821.19
Intel9 Series Chipset Family SATA AHCI Controller8086:8c831.20
IntelLynx Point-LP SATA Controller 1 [AHCI mode]8086:9c021.20
Marvell Technology Group Ltd.88SE9235 PCIe SATA 6 Gb/s RAID controller2)1b4b:92351.21
nVidia CorporationMCP65 AHCI Controller10de:044c1.22
nVidia CorporationMCP65 AHCI Controller10de:044d1.22
nVidia CorporationMCP65 AHCI Controller10de:044e1.22
nVidia CorporationMCP65 AHCI Controller10de:044f1.22
Marvell Technologies, Inc.88SE6145 SATA II PCI-E controller2)11ab:61451.23
Samsung Electronics Co Ltd XP941 PCIe SSD144d:a8001.24
JMicron Technology Corp.JMB361 AHCI/IDE197b:23611.24
Marvell Technology Group Ltd.88SE9480 SAS/SATA 6Gb/s RAID controller2)1b4b:94801.25
Marvell Technology Group Ltd.88SE9485 SAS/SATA 6Gb/s controller2)1b4b:94851.25
Marvell Technology Group Ltd.88SX7042 PCI-e 4-port SATA-II2)11ab:70421.26
ASMedia Technology Inc.SATA3 PCI Express x2 controller1b21:06251.27
Intel CorporationWildcat Point-LP SATA Controller [AHCI Mode]8086:9c831.28
Kingston TechnologiesSATA Controller [AHCI Mode]2646:00101.29
Samsung Electronics Co LtdSM951 SSD M.2 Controller144d:a8011.30
Kingston TechnologiesPredator PCIe SSD2646:00101.31
VIA Technologies, Inc.VT8251 AHCI/SATA 4-Port Controller1106:33491.31
ASMedia Technology Inc.SATA Controller (dev0622)1b21:06221.32
Intel CorporationSATA AHCI Controller (dev22a3)8086:22a31.33
Intel CorporationAtom Processor E3800 Series SATA AHCI Controller8086:0f221.34
Intel CorporationAtom Processor E3800 Series SATA AHCI Controller8086:0f231.34
Marvell Technology Group Ltd.88SE9170 PCIe SATA 6Gb/s Controller2)1b4b:91701.35
Silicon Integrated Systems (SIS)AHCI IDE Controller (0106)1039:11851.35
Marvell Technology Group Ltd.88SE6440 SAS/SATA PCIe controller2)11ab:64401.36
Marvell Technology Group Ltd.MV64460/64461/64462 System Controller, Revision B2)11ab:64851.37
Samsung Electronics Co LtdSM951 SSD M.2 Controller144d:a8021.37
Intel CorporationAtom/Celeron/Pentium Processor N4200/N3350/E3900 Series SATA AHCI Controller8086:5ae31.38

1) VMware's vSATA controller was introduced in VM hardware version 10 in Workstation 10 and ESXi 5.5. So you can now add a vSATA Controller to your nested ESXi 5 hosts and use it with sata-xahci!
2) See bug info above in "Read before commenting / 4."


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.



251 comments:

  1. Incredibly helpful thank you very much.

    On a different topic: Any chance to get passthrough for the Lynx Point AHCI controller working or is this a definitive no-go?

    ReplyDelete
    Replies
    1. Passthrough is a different story ... It doesn't use the driver resp. should bypass it if ESXi has a matching driver.

      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.

      Delete
    2. is there still no chance that this is going to work? And many thx for your work. It helped quite alot!!!

      Delete
  2. Doesn't work on :

    0000:00:1f.2 SATA controller Mass storage controller: Intel Corporation Ibex Peak 6 port SATA AHCI Controller [vmhba0]
    Class 0106: 8086:3b22
    --
    0000:04:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9123 PCIe SATA 6.0 Gb/s controller
    Class 0106: 1b4b:9123

    ReplyDelete
    Replies
    1. The Intel Controller is working, but not the Marvell one, right?

      I will add the ID of the Marvell 88SE9123 to the next version of the package.

      Delete
    2. I just double checked, that is correct. Intel works, Marvell is undetected.

      Thanks

      Delete
  3. Hi Andreas,

    This is the output for an ASMedia ASM1061 Controller. Is it possible to create a vib for this controller?

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

    ReplyDelete
    Replies
    1. I will not create a separate VIB for each controller, but will update the existing one to support all that are reported to me.
      So, I will add the ID of the ASM1061 to the next version of the package.

      Delete
    2. Super! Thanks Andreas! :)
      Can you let me know when you have a new version of the package scheduled?

      Delete
    3. Marcel, I will update this blog post with every new version. Will collect more feedback during today and build a new version this evening ...

      Delete
  4. Hi Andreas,

    This is the output for a Marvell 9172:

    ~ # lspci -v | grep "Class 0106" -B 1
    --
    0000:03:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9172 SATA 6Gb/s Controller
    Class 0106: 1b4b:9172
    --
    0000:08:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9172 SATA 6Gb/s Controller
    Class 0106: 1b4b:9172

    Can you please add this to the VIB?

    Thanks in advance!

    ReplyDelete
  5. hi,
    easy way is to install 5.1 and upgrade to 5.5.
    it just works fine
    cheers, andy

    ReplyDelete
    Replies
    1. It is my understanding that this only works if your controller is already supported by ESXi 5.5. And then you could also directly install 5.5.
      But many others who have unsupported AHCI controllers lost them when upgrading from 5.1 to 5.5.
      What controller(s) are you using?

      Delete
  6. Hi,

    Can you please add the Marvell 9120 tu the supported controllers?

    Here is the output :

    0000:06:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9120 SATA 6Gb/s Controller
    Class 0106: 1b4b:9120

    Thanks for your work :)

    ReplyDelete
    Replies
    1. Hi Nicolas,
      I added the 88SE9120 in version 1.3.
      Andreas

      Delete
    2. Works perfectly :)

      Delete
  7. Could you please help me with that one
    Marvell 9172

    0000:02:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9172 SATA 6Gb/s Controller
    Class 0106: 1b4b:9172
    --
    0000:08:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9172 SATA 6Gb/s Controller
    Class 0106: 1b4b:9172

    Thank you


    ReplyDelete
    Replies
    1. This one is already in version 1.2 of the package (see updates to this blog post).

      Delete
    2. Yes Yes
      I used it
      And it doesn't works
      :(

      Delete
  8. My mistake
    I reinstalled it ... It works !
    :)

    ReplyDelete
  9. Andreas,

    Would it be possible to add the Marvell 9230?

    0000:01:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9230 PCIe SATA 6Gb/S Controller
    Class 0106: 1b4b:9230

    Thanks in advance

    ReplyDelete
    Replies
    1. Hi Todd,
      I added the 88SE9230 in version 1.3.
      Andreas

      Delete
    2. Any chance you could add support for

      00:00:12.0 SATA controller Mass storage controller: ATI Technologies Inc SB650 SATA Controller [AHCI Mode] [vmhba0]
      Class 0106: 1002:4380

      This on-board ATI AHCI adapter works on a previously customized ESX 5.1, but I can't find a way to customize ESX 5.5, as I tried the customizer with the same file as I used with 5.1, with no success. VERY much appreciated, if you could add. Is there a consolidated list of all adapters that your package supports?

      Delete
    3. Hi Chad,
      I added the SB650 in version 1.4.
      Currently there is no consolidated list of supported adapters, but get the complete view by looking at all the Updates to this blog post.
      - Andreas

      Delete
    4. I wanted to express my sincere thanks and appreciation for your help! Your updates worked wonderfully on my system, and I coupled this package with the PowerCLI instructions to add support for my on-board network adapter, and everything is working wonderfully!

      I wanted to say thank you and you're doing a great service to the VMware community making ESX accessible on a wide range of hardware.

      One followup question: Is it possible to add multiple customizations thru ESXi-Customizer, or do they need to be added one at a time and a new ISO rebuilt after each one, if more than one item needs to be added?

      Again, my most sincere thanks!

      Delete
    5. Chad, you're welcome!
      And yes, with ESXi-Customizer you can add multiple packages only one after the other.

      Delete
  10. Hi Andreas!
    Thank you for a such a great job! You gave to my homelab a new life!

    Does it posible to add support for Realtec NICs? In my lab host use 8168 GE adapter.

    ReplyDelete
    Replies
    1. Hi Dmitry,

      yes, see my post here: http://www.v-front.de/2013/09/how-to-add-missing-esxi-50-drivers-to.html
      If you want to add the Realtek driver to a system that was already installed then run the following three commands in an ESXi shell:

      1. esxcli network firewall ruleset set -e true -r httpClient
      2. esxcli software vib install -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -n net-r8168
      3. reboot

      Beware of unwanted line breaks. Each command is exactly one line!

      - Andreas

      Delete
  11. Thanks so much for your work in getting this working and helping everyone with issues they are having.

    I verified this works on the new intel NUC D54250WYK i5 version with the Intel Corporation Lynx Point-LP SATA Controller 1 (8086:9c03) chipset and ESXi 5.5. Using a Msata SSD for read caching!

    ReplyDelete
  12. Andreas,

    please add support for the Marvell 9128:
    -
    0000:09:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo
    Class 0106: 1b4b:9130
    ~ #
    Thanks in advance

    ReplyDelete
    Replies
    1. Hi Jakub,
      added in version 1.5!
      - Andreas

      Delete
    2. first, thx for support. I using Matheroard DX79SR
      I test your new 1.5 version => I see at storage adapters new driver "88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo" at now, but with 8 SATA ports! It's strange, because at DX79SR is only two! Serial ATA (SATA) 6.0 Gb/s interfaces through a Marvell 88SE9128 controller (gray). At vSphere client I also don't see any real connected storage disks. Please, can you give me hint, where is problem. Thx.

      Delete
    3. Hi Andreas,

      I also have the same as Jakub, I see at Storage Adapters the Device: Motherboard with vmhba1 and vmhba33 but no devices attached. Any thoughts on this one?

      Thnx!

      Delete
    4. I changed a few things in the BIOS but still have this in screen:
      http://www.vreemdevogels.nl/img/vmware.jpg

      Delete
  13. Hi Andreas,

    Could you please add support for the following:

    0000:00:11.0 SATA controller Mass storage controller: ATI Technologies Inc SB700 SATA Controller [AHCI Mode] [vmhba0]
    Class 0106: 1002:4391

    Thanks so much!

    Joel

    ReplyDelete
    Replies
    1. Hi Joel,
      added in version 1.5!
      - Andreas

      Delete
    2. Andreas,

      I also have the following on my board:

      0000:02:00.0 IDE interface Mass storage controller: JMicron Technology Corp. P8P67 Deluxe Motherboard
      Class 0101: 197b:2362

      I do realize it's a different class and says IDE, but it works just fine as a passthrough SATA controller in 5.1. I see you added support for a similar controller (197b:2363) in version 1.4, so hopefully you can add this one as well?

      Thanks again,

      Joel

      Delete
    3. Hi Joel,
      I guess this is the same controller, just in IDE mode rather than in AHCI mode.
      Please change its configuration to AHCI (in you computer's BIOS), install my package and you should be fine.
      - Andreas

      Delete
    4. I have an ASUS Sabertooth 990FX board with the SB700 controller (6 x 6gb ports configurable as IDE/AHCI/Raid) and (2) JMicron controllers with no options in the BIOS. The manual states that if you want to enable AHCI for the JMicron ports you can install the driver from the ASUS support DVD. As ESXi 5.1 allows passthrough for these ports I figured they just need to be re-added to the map file. Hopefully...

      Delete
    5. Is it possible to add 197b:2362 anyway, just so I can see if I can get it to work?

      Thanks,

      Joel

      Delete
  14. how i can add two .vib file on one iso ?

    ReplyDelete
    Replies
    1. Hi Jorge,
      with ESXi-Customizer you need to run it twice. First add the first VIB, then take the resulting ISO as input and add the second VIB to it.
      - Andreas

      Delete
  15. you have some notion of what driver I need for a GIGABYTE Z77M-D3H.

    Thanks for your help.

    ReplyDelete
    Replies
    1. Hi Jorge,
      No, I don't. Please determine the name and PCI ID of the SATA controller like described in my post.
      - Andreas

      Delete
  16. Hi Andreas!
    Does it possible to add support for
    0000:00:1f.2 RAID bus controller Mass storage controller: Intel Corporation 82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA AHCI Controller [vmhba0]
    Class 0104: 8086:2822

    ReplyDelete
    Replies
    1. Hi Alex,

      this one is already supported out-of-the-box, and your output shows that the controller was already configured as [vmhba0].

      It was detected as RAID controller (class 0104) though, not as a pure SATA controller (class 0106). This is probably a RAID controller that needs software support to implement RAID functionality, but this is not available in ESXi, so you will most likely see only the individual disks rather than the logical RAID volume(s) that you configured.

      Sorry, there is nothing you can do about that.

      - Andreas

      Delete
  17. Hello Andreas! Thank you for doing this for us! Could you possibly create a vib for me for the 3ware Inc 9550SX Sata-II RAID PCI-X ? class 0104: 13c1:1003

    Thanks again!

    ReplyDelete
    Replies
    1. Hi OJ,
      sorry, no. This one cannot be supported by sata-xahci, because it's not a SATA ACHI controller, but a RAID controller. 3ware used to supply ESX(i) 4.x drivers for this device, but never provided ESXi 5.x drivers, and I'm also not aware of any community effort to create such a driver.
      - Andreas

      Delete
    2. Thank you for your reply Andreas, I've since moved on to a Dell r410 machine for my testing with the correct raid drivers provided. It's a shame I cannot use that powerful machine for ESXi but i'm sure i'll find another use for it sometime

      OJ

      Delete
  18. Hi Andreas.

    Does it possible to add support for (8086:2822)

    Chip Number: 82801HR/HH/HO&82801IR/IH/IO(AIE=0)/ICH10R

    ReplyDelete
    Replies
    1. Hi Andreas,
      Can this driver work?
      https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=23456

      Delete
    2. No, this is a Linux driver. You cannot use Linux drivers in ESXi without porting them.
      What are you trying to achieve?

      Delete
    3. thank you for your reply.
      I want to use ICH10R RAID in ESX......

      Delete
  19. Hi Andreas,

    Could you add support for (8086:8c02) ?

    ~ # lspci -v | grep "Class 0106" -B 1
    0000:00:1f.2 SATA controller Mass storage controller: Intel Corporation Lynx Point AHCI Controller [vmhba0]
    Class 0106: 8086:8c02

    ReplyDelete
    Replies
    1. This controller is supported out-of-the-box and was configure as [vmhba0] on your system.

      Delete
    2. Hello Andreas, i have the same controller and installed this vib, but the controller doesnt appear on the hardware list for passthrough...
      Do you know why?
      Thanks for the excellent job

      Delete
    3. Hi cacahue,
      you don't need to install the vib file to make it available for passthrough.
      Is passthrough working with other devices?
      Andreas

      Delete
  20. Could you add support for the ASMedia Technology Inc. ASM1083/1085?
    Intel Corporation Panther Point AHCI Controller
    Class 0106: 8086:1e02

    Thanks for the great work on this!

    ReplyDelete
    Replies
    1. Hi Anonymous,
      the Intel controller (8086:1e02) is supported out-of-the-box. Can you please post the PCI ID of the ASM1083/85?
      - Andreas

      Delete
    2. Not the same anonymous as before but is this what you where looking for?

      ~ # lspci -v | grep "Class 0106" -B 1
      000:000:31.2 SATA controller Mass storage controller: Intel Corporation
      Class 0106: 8086:1e02
      ~ #

      Delete
  21. Hi Andreas! Could you possibly create a *.vib for ASMedia ASM1083 with PCI ID 1b21:1080

    ReplyDelete
    Replies
    1. Hi Dmitry,
      this device is not a SATA AHCI controller, but a "PCIe to PCI Bridge" device?!?
      Please run
        lspci -v | grep "Class 0106" -B 1
      to determine name and ID of any AHCI-mode controllers. Check if your SATA controllers are really configured for AHCI in your computer's BIOS!
      - Andreas

      Delete
  22. Thank you! I will try.

    ReplyDelete
  23. actually, I have tried to make RAID1 on Asus P8H77-M LE with ASMedia ASM1083 but ESXi 5.5 did not support ASMedia ASM1083. and I think maybe you could help me with my problem. Is it possible to run ESXi 5.5 with raid1 on ASM1083?
    Thank you!

    ReplyDelete
  24. Andreas, I was wrong! Raid controller on P8H77-M LE integrated in Intel H77 chipset

    ReplyDelete
    Replies
    1. Dmitry,
      I still need the PCI ID of the device. Run "lspci -v | grep "Class 0106" -B 1" in an ESXi shell. If this does not produce any output then run "lspci -v" and paste the complete output here.
      - Andreas

      Delete
  25. Hello Andreas! I ran lspci -v and found it
    0000:00:1f.2 RAID bus controller Mass storage controller: Intel Corporation 8280 1HR/HO/HH (ICH8R/DO/DH) 6 port SATA AHCI Controller [vmhba0]
    Class 0104: 8086:2822

    ReplyDelete
  26. Andreas, thank you for the driver! It helped me to install 5.1 on ASUS M2A-VM HDMI motherboard with AMD 690 Chipset. Before using your driver I was able to manually load ahci module but it remained unloaded after every reboot. May be you know where I can find a detailed information on how ESXi loads modules and why enabled modules can be unloaded after rebooot? Although the problem is solved I am curious on how ESXi works.

    ReplyDelete
    Replies
    1. Hi Norman,

      you are welcome ... but I did not write a driver for these controllers, my package just modifies the configuration files of the already existing ahci driver to also work with your unsupported controller.
      If you want to dive deeper into this then please read my post here: http://www.v-front.de/2011/08/anatomy-of-esxi-50-installation-cd-and.html.

      Andreas

      Delete
    2. Hi, Andreas.

      Thank you, now I understand a bit more. Could you confirm that the following is true:

      1) After loading ahci module drives are recognized because ahci driver is suitable for controller even if controller's ids are not specified.in map file.
      2) After reboot only modules specified in map files are loaded.
      3) Your package adds controller's ids to map files therefore after reboot ahci module is loaded.

      Delete
    3. Hi Norman,
      yes, I guess this is all right.
      Andreas

      Delete
  27. Thank you for all your hard work Andreas. Real benefit to all of us.

    Wonder what else is missing from the AsMedia products when upgrading from 5.1 to 5.5 ESXI

    ReplyDelete
  28. Hello Andreas

    Thanks for all your Posts, your blog is great!
    I'm struggling with a Gigabyte Board that worked fine with ESXi5.0, but 5.5 can no longer find the internal SATA SSD during setup.
    Here's my output, I'd be really happy if you could assist me!

    ~ # lspci -v | grep "Class 0106" -B 1
    000:000:31.2 SATA controller Mass storage controller: Intel Corporation Patsburg 6 Port SATA AHCI Controller [vmhba0]
    Class 0106: 8086:1d02
    --
    000:005:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. [vmhba32]
    Class 0106: 1b4b:9172
    --
    000:006:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. [vmhba34]
    Class 0106: 1b4b:9172
    --
    000:011:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. [vmhba36]
    Class 0106: 1b4b:9172

    Greetings, Tom

    ReplyDelete
    Replies
    1. For all the listed controllers the ahci driver was loaded and they were made available as vmhba0, 32, 34 and 36. Is you SSD attached to one of these controllers or do you have another disk controller that is not listed?

      Delete
  29. Hello Andreas

    Thanks for your reply. The SSD is attached directly to the Mainboard (so the Marvell Controller). I just see that you have added this model "Marvell Technology Group Ltd. 88SE9172 SATA 6Gb/s Controller 1b4b:9172" in version 1.2, I have no idea why it's not showing up during the ESX 5.5 installation.. :/ I'm not so familiar with that VOB stuff, but I have used ESXCustomizer 2.7.1 to add your VOB File to the ESXi Image ESXi-5.5.0-1331820-standard-customized.iso which I created with help of your other blog post. :)
    Do you have any idea? Thanks again for your help! I already have thoughts moving to Hyper-V (uhh.. did I just say that out loud?)

    Tom

    ReplyDelete
  30. good day

    Andreas,
    I have a supermicro X7SBL-LN2 with Intel raid 82801HR when I try to install VMWARE he recognizes two discs instead of an array, configured RAID1 you ever had this kind of problem?


    Thank you.

    Fabiano

    ReplyDelete
  31. Sorry, is Intel intel raid 82801IR and not intel raid 82801hr.

    Tanks,

    Fabiano

    ReplyDelete
  32. Hi Andreas, great initiative!

    I have issues with my GA-X58A-UD5 MB with 2 extra SATA controllers no longer supported in VMware 5.5. The following output is from 5.1 for the datastores not detected after an initial upgrade to 5.5.
    ~ # lspci -v | grep "Class 0106" -B 1
    00:01:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9128 PCIe SATA 6 Gb/s RAID controller [vmhba33]
    Class 0106: 1b4b:9128
    --
    00:05:00.0 SATA controller Mass storage controller: JMicron Technology Corp. GA-EP45-DS5 Motherboard [vmhba41]
    Class 0106: 197b:2363

    Could zou please provide support for these in a next release?

    Thanks,
    Koen.

    ReplyDelete
    Replies
    1. HI Koen,
      the 197b:2363 was already added in 1.4. I added the 1b4b:9128 in version 1.6.
      Andreas

      Delete
    2. Thanks for your support Andreas,
      Yes, you are right. I didn’t notice the same PCI ID as the description mentioned a different JMicron chipset. My MB features a JMB362 chip which apparently has the same PCI ID as the JMB363.
      Thanks to this and a number of your other posts I was able to customize the VMware 5.5 installation ISO to show my Realtek NICs and all SATA adapters. Installation was painless and the box is now happily running with 40GB RAM.

      KR
      Koen.

      Delete
  33. In case anyone has the problem where no Disks are displayed on a Gigabyte X79-UD5 during ESXi 5.5 Setup even if you added the Drivers: Use the other SATA Ports (there are 2 GSATA Ports (Black) and 6 SATA Ports on your Mainboard, use the SATA ones, not the GSATA) :)

    ReplyDelete
  34. Thanks Andrea for all.
    Could you add please this :
    SATA controller Mass storage controller: nVidia Corporation
    Class 0106: 10de:0584

    thank you !
    Fabio from Italy

    ReplyDelete
  35. Hi Andreas!

    I have an Gigabyte Z87X-UD3H mobo.
    With the following IDs:
    000:006:00.0 RAID bus controller Mass storage controller: Marvell Technology Group Ltd.
    Class 0104: 1b4b:9192
    I tried install only just the vib file, and the zip not! It is necessary?
    I have Esxi 5.0 buid:469512
    The sata driver is good for me, or only 5.1 ; 5.5?

    Thanks
    John from Hungary

    ReplyDelete
  36. Hi Andreas!

    After i change the controller mode from RAID to AHCI, now working!!!

    Thank a lot !

    John

    ReplyDelete
  37. I just wanted to take a moment and thank you for the SB700 support and this wonderful walk-through. Like so many I have a lab at home for tinkering as I'm a hobbyist and you got things going again. Thanks so much!

    ReplyDelete
  38. Hey Andreas!
    Are you still accepting outputs?

    My output for "lspci -v | grep "Class 0106" -B 1"
    0000:0b:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd.
    Class 0106: 1b4b:9182

    Thanks!

    ReplyDelete
    Replies
    1. Hi Anonymous,

      I added 1b4b:9182 in version 1.8!

      Andreas

      Delete
    2. Dear Andreas
      I would really appreciate that you would include this Sata controler

      0000:02:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd.
      Class 0106: 1b4b:9215


      Many thanks in advance for your help

      Delete
  39. This controller is under class 100, not 106. Any insight on this thing?

    00:10:00.0 SCSI storage controller Mass storage controller: Triones Technologies, Inc. RocketRAID 2310 4 Port SATA-II Controller
    Class 0100: 1103:2310

    ReplyDelete
    Replies
    1. "Class 0100" is a SCSI controller. There is no ESXi driver available for the RocketRAID 2310, sorry.
      My package won't help here (unless you can re-configure it to behave like a SATA AHCI controller?).

      Delete
  40. Hello Andreas

    manu thanks for that

    would you mind add the following SATA controler?

    0000:02:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd.
    Class 0106: 1b4b:9215

    Many thanks in advance for your help

    ReplyDelete
    Replies
    1. Dear Andreas

      I would like to thanks you once again, for your job on this request but mostly for your really fast answer

      Delete
  41. Hi Andreas,
    I can't see mine controller listed.
    Its a Intel Cougarpoint
    ~ # Class 0106: 8086:1c02

    Thanks for the support
    cheers
    Glenn

    ReplyDelete
    Replies
    1. This controller is supported out-of-the-box and should not need the sata-xahci package!?

      Delete
    2. Hi Andreas,
      I had been using esxi v5.1 update 1 and I'm passing through my 6 port AHCI SATA controller to a FreeNAS VM. No Problem. (onboard a Tyan S5512 series XEON server mobo)
      It has Working fine.
      I have recently installed esxi v5.5 and passed the sata controller back to the same FreeNAS VM. The VM could not see the zfs volume or any connected disks at all.
      I did a google search to resolve this and found your blog.
      I've followed your instructions and have SSH into my host and installed your VIB. After rebooting the host my FreeNAS VM still cannot see the disks.
      I'm now back to using esxi v5.1.
      It's a Class 0106: 8086:1c02 please. I wouldn't be here if it worked out of the box.
      Can you please add it for you next update
      Thanks
      Glenn

      Delete
    3. Glenn,
      if you use passthrough to make your controller directly available to a VM then you really don't need an ESXi driver for it (The device is passed through, but not used by the VMkernel to access the attached disks).
      From what I have heard passthrough is broken for some devices in ESXi 5.5. Sorry, I cannot fix that.
      Andreas

      Delete
  42. Dear Andreas
    Could you please add support for the following:

    0000:34:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9125 PCIe SATA 6.0 Gb/s controller
    Class 0106: 1b4b:9125

    Thanks

    ReplyDelete
    Replies
    1. Hi Anonymous,

      I added this one in version 1.10.

      Andreas

      Delete
    2. Dear Andreas

      It works fine!

      Many thanks!!

      Delete
  43. Hi Andreas
    This one is in your list, but not recognized:
    # esxcli software vib install -d http://vibsdepot.v-front.de -n sata-xahci
    Installation Result
    Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
    Reboot Required: true
    VIBs Installed: VFrontDe_bootbank_sata-xahci_1.10-1
    VIBs Removed: VFrontDe_bootbank_sata-xahci_1.9-1
    VIBs Skipped:

    0000:01:00.0 RAID bus controller Mass storage controller: Marvell Technology Group Ltd. 88SE9230 PCIe SATA 6Gb/s Controller [vmhba2]
    Class 0104: 1b4b:9230

    # dmesg |grep ahci
    2013-12-16T16:10:25.603Z cpu1:33325)Loading module ahci ...
    2013-12-16T16:10:25.604Z cpu1:33325)Elf: 1861: module ahci has license GPL
    2013-12-16T16:10:25.604Z cpu1:33325)module heap vmklnx_ahci: creation succeeded. id = 0x41094d36b000
    2013-12-16T16:10:25.604Z cpu1:33325)PCI: driver ahci is looking for devices
    2013-12-16T16:10:25.604Z cpu1:33325)PCI: driver ahci claimed 0 device
    2013-12-16T16:10:25.604Z cpu1:33325)Mod: 4780: Initialization of ahci succeeded with module ID 4146.
    2013-12-16T16:10:25.604Z cpu1:33325)ahci loaded successfully.

    regards Roland

    ReplyDelete
    Replies
    1. Only difference I see is the class 0104 in my case, 0106 in the entry of Todd

      Delete
    2. Oh, I forgot to say, the reconized ahci, is the onboard sata controller, with 1 connected disk.

      Delete
    3. ro1@nd: Please read my entire post again, especially the first item of the section "Read before commenting" ...

      Delete
  44. Quick question. So if I were to buy a PCIe card with one of the chipsets listed in your posting, I should theoretically be able to get it working with the info you have provided?

    For example:
    http://www.newegg.com/Product/Product.aspx?Item=N82E16816129101

    ReplyDelete
    Replies
    1. Yes, you should be able to get *any* AHCI capable SATA controller working with ESXi 5.5. If its PCI ID is not yet included in my package I can add it once you tell me it.

      Delete
  45. Hello Andreas,

    Awesome work here. I have a Marvell 1b4b:9130 . It would be great if you can add it to your VIB.

    Thanks in advance

    --Robert

    ReplyDelete
    Replies
    1. Robert, it's already included (since version 1.5)!
      Make sure that you have configured it for pure AHCI mode! You won't be able to use the RAID functionality of this device (see section "Read before commenting" in my post).

      Delete
  46. Hi there,

    This controller did not show up any disk after costumizing my esxi 5.5 iso

    0000:00:1f.2 SATA controller Mass storage controller: Intel Corporation ICH10 6 port SATA AHCI Controller [vmhba0]
    Class 0106: 8086:3a22
    --
    0000:01:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9123 PCIe SATA 6.0 Gb/s controller [vmhba2]
    Class 0106: 1b4b:9123

    -Rene

    ReplyDelete
    Replies
    1. Rene,
      the ahci driver was loaded for both controllers, and I cannot do more than this. I have no idea why the disks attached to them do not show up. Are you sure that you have connected the disks to these controllers?
      Andreas

      Delete
  47. Hi Andreas,
    I have Marvell 6Gbps SATA controller:

    ~ # lspci -v | grep "Class 0101" -B 1
    00:02:00.0 IDE interface Mass storage controller: Marvell Technology Group Ltd.
    Class 0101: 1b4b:91a3
    --
    00:07:00.0 IDE interface Mass storage controller: Marvell Technology Group Ltd.
    Class 0101: 1b4b:91a3
    Can you please add it to support?

    ReplyDelete
    Replies
    1. Hi Mladen,
      Class 0101 is an IDE controller, but not a SATA controller. Is there a way to change their configuration so that they show up as Class 0106?
      Andreas

      Delete
    2. It's a MSI Star-SATA6 card
      http://www.amazon.com/MSI-Star-sata6-Expansion-Controller-Card-retail/dp/B00A7WDNGO

      There is a flashable firmware that can change the card from IDE to AHCI mode, but I can't find it nowhere. Info about that on this site:
      http://forums.hardwarezone.com.sg/corbell-ecustomer-service-center-166/msi-sata6-pci-e-card-2-x-sata3-3423608.html
      I tried contacting the person that uploaded it but he is not answering to my PM. The uploaded file has been deleted from servers so I can't download it.

      I found couple of firmwares on other sites like this one
      http://www.win-raid.com/t7f13-AHCI-amp-RAID-ROM-Modules.html

      I tried also incorporating them in the firmware of the card itself but no luck, the firmware updates but the card is still in IDE mode. I have not made it to change to AHCI mode yet. I have a programmer device so it's not a problem to experiment, but I don't know what exactly I have to change in the bios file itself to make it work in AHCI mode. I have successfully changed the card PCI ID to 1b4b:9128 because it uses the Marvel 88SE9128 chip and the card works but still in IDE mode. I can upload the firmware if someone knows how to modify it so the card will work in AHCI mode. Do I only have to change the Class of the card from 0101 to 0106 or there is more to it?

      Thank you for the answer.

      Delete
    3. Sorry Milan,
      I cannot help if the controller is not working as a SATA AHCI controller,
      please see the blog post, section "Read before commenting", section 1.
      Andreas

      Delete
  48. Hi, I followed the instructions to install this but it doesn't seem to work. It says that the VIB is skipped for some reason after executing the last line:

    esxcli software vib install -d http://vibsdepot.v-front.de -n sata-xahci

    Reboot Required: false
    VIBs Installed:
    VIBs Removed:
    VIBs Skipped: VFrontDe_bootbank_sata-xahci_1.10-1

    Is this line still valid? The previous commands executed without issue and my server has internet access.

    ReplyDelete
    Replies
    1. Hi Jay,
      you probably have already installed the package before!?
      Check with "esxcli software vib list | grep xahci"
      Andreas

      Delete
    2. Hi Andreas,
      I have the same issue of Jay on my ESXi 5.5:

      ~ # esxcli software acceptance set --level=CommunitySupported
      Host acceptance level changed to 'CommunitySupported'.
      ~ # esxcli network firewall ruleset set -e true -r httpClient
      ~ # esxcli software vib install -d http://vibsdepot.v-front.de -n sata-xahci
      Installation Result
      Message: Host is not changed.
      Reboot Required: false
      VIBs Installed:
      VIBs Removed:
      VIBs Skipped: VFrontDe_bootbank_sata-xahci_1.12-2

      ~ # lspci -v | grep ASMedia
      0000:04:00.0 SATA controller Mass storage controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller
      0000:05:00.0 PCI bridge Bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge

      The device is not in pass trough and I don't have older drivers:

      ~ # esxcli software vib list | grep xahci
      ~ #

      Any other suggestion? :)
      Thank you!
      Sandro

      Delete
    3. Sandro, Jay, have you rebooted the host after the installation? This is required ...

      If yes, can you please send me the /var/log/esxupdate.log file from the host (via mail to info@v-front.de)?

      Delete
  49. Hi Andreas, been rea'ding your posts with great interest. I'm a newcomer to ESXi! :)

    I've got another nVidia one for you:
    0000:00:0b.0 SATA controller Mass storage controller: nVidia Corporation MCP79 AHCI Controller
    Class 0106: 10de:0ab8

    Would be great if you could add that one as well!

    ReplyDelete
    Replies
    1. Hi Merlin,

      I added this one today in version 1.11!

      Andreas

      Delete
    2. Brilliant, that's fixed my ESXi white box! :)
      I get to set up my study lab now. You've made my year! Or what's left of it :)
      Enjoy the festivities and happy new year!

      Merlin

      Delete
  50. Thank you! You really help me with my external esata raid ;)
    thank-thank-thank you!

    ReplyDelete
  51. Hi Andreas,

    I took your vib and un-vibed and unzipped it on mu Ubuntu Linux host
    ar vx file.vib
    tar -tzvf sata-xah

    Then I added a line concerning my controller (Marvell) at the end of the xahci.map file.
    This was found within the etc map somewhere.

    regtype=linux,bus=pci,id=1b4b:9123 0000:0000,driver=ahci,class=storage


    Then i rezipped it like explained somewhere else on the internet (corrected filesize en deleted
    the checksums in the descriptor.xml file and so on

    ar -r sata.vib sata-xai descriptor.xml sig.pkcs7

    Afterwards i revibed it to sata.vib and used the customizer mentioned here to create an new iso.
    I can see the sata-sah file becomes loaded but no response from the (tested) harddisk connected to
    to 1 of the (6gb) sata interface



    My marvell shows:


    0000:00:1f.2 SATA controller Mass storage controller: Intel Corporation ICH10 6 port SATA AHCI Controller [vmhba0]
    Class 0106: 8086:3a22
    --
    0000:01:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9123 PCIe SATA 6.0 Gb/s controller [vmhba2]
    Class 0106: 1b4b:9123

    1 Did i missed something
    2 Can jou add my controller to te list

    Kind Regards
    Rene

    ReplyDelete
    Replies
    1. Hi Rene,
      see my comment before. The 1b4b:9123 is already included. The ahci driver is loaded for it and it should show up as [vmhba2]. I have no idea why you do not see the disks attached to it (if any?!).
      Andreas

      Delete
  52. Hi Andreas,
    I have a supermicro motherboard, X8SI6-F

    ~ # lspci -v | grep "Class 0106" -B 1
    00:00:1f.2 SATA controller Mass storage controller: Intel Corporation Ibex Peak 6 port SATA AHCI Controller [vmhba0]
    Class 0106: 8086:3b22

    Could you please add support.

    ReplyDelete
    Replies
    1. Hi Anonymous,
      this controller is supported out-of-the-box. The ahci driver is already loaded for it and it should show up as [vmhba0]. Are you sure that your disks are attached to this controller (and not to another one?).
      Andreas

      Delete
    2. HI Andreas,
      I upgraded my ESIxi-5.1.u (worked without issues) via shell cmd:
      # esxcli network firewall ruleset set -e true -r httpClient
      # esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-5.5.0-1331820-standard

      ...now the disks that are attached to the AHCI controller aren't available/not listed via format cmd. These disks (5) are part of a ZFS zpool.

      Do I need to get a SATA controller?

      My motherboard has 2 PCI-E slots (x8 & x4) the (x8) is used as raid-0 for the storage OS. Since there are limitations, what kind of SATA controller do I get?

      Your help is greatly appreciated.

      Delete
    3. Hi Anonymous,
      it sounds like you are using this controller for passthrough to a VM (right?).
      You don't need an ESXi driver for passthrough devices. Obviously passthrough was broken for your device by upgrading to ESXi 5.5. Sorry, I cannot fix that.
      Andreas

      Delete
  53. This was so much help. I have trying for a long time to upgrade my ESXi 5.0 to 5.5 and was never able to do so, since the Install was telling me that I had no network card. Using your instruction for the update instead of install, allowed me to use ESXi 5.5. Your explanation are great

    Thank you very much. You've made my day/week.

    ReplyDelete
    Replies
    1. Hi Gabriel,
      you're welcome. Thanks for your feedback!
      Andreas

      Delete
  54. I am reading people having problem with the MARVELL tech 88SE9123 driver not showing any disks. I do have this same problem. I am using a PEXSAT32 2-port PCI Express 6Gbit/s SATA 3.0 Controllercard.

    The thing is that the manul says that it needs to use the chipset Marvell - "88SE9128". But Esxi is instead ( i am currently still using 5.1) using Marvell - 88SE9123.
    Could this be the problem that there are no disks detected?

    In the vsphere client the storage adapter is showing the controller as it should be: Marvell - 88SE9123 PCIE SATA 6.0 GB/s controller. Only with the 9123 driver loaded and no disks detected.

    There are currently two 1 TB disks attached to the 2 ports on the SATA card.

    ReplyDelete
    Replies
    1. No, this won't make a difference. It is always the same driver that is loaded (the generic ahci driver).

      Delete
  55. Could you please add:
    Intel Patsburg 6 Port SATA AHCI Controller
    8086:1d02

    ReplyDelete
    Replies
    1. This controller is already supported out-of-the-box.
      If you are using it for passthrough and cannot access your disks anymore then please see this comment.

      Andreas

      Delete
  56. hiya,so much help my server.
    so couldn't you support about this?

    Marvell Technology Group Ltd.

    0000:01:00.0 IDE interface Mass storage controller: Marvell Technology Group Ltd. 88SE91A0 SATA 6Gb/s Controller
    Class 0101: 1b4b:91a0

    ReplyDelete
    Replies
    1. Please see the blog post, section "Read before commenting", section 1.

      Delete
  57. Dear sir, Would you please add this one?
    much apreciated!

    0000:00:1f.2 SATA controller Mass storage controller: Intel Corporation Lynx Point AHCI Controller [vmhba0]
    Class 0106: 8086:8c02

    ReplyDelete
    Replies
    1. Please see the blog post, section "Read before commenting", section 4.

      Delete
  58. The same as above applies here on the Gigabyte Z87X-D3H Board.

    ~ # lspci -v | grep "Class 0106" -B 1
    0000:00:1f.2 SATA controller Mass storage controller: Intel Corporation Lynx Point AHCI Controller [vmhba0]
    Class 0106: 8086:8c02

    Thank You, very much! :)

    ReplyDelete
    Replies
    1. Please see the blog post, section "Read before commenting", section 4.

      Delete
  59. Thank you for your efforts. I wonder how can one change this list (xahci.map) without your assistance.
    In the meanwhile, for your viewing pleasure, in hope you will incorporate it into the map file soon:

    0000:00:0e.0 SATA controller Mass storage controller: nVidia Corporation GeForce 7100/nForce 630i SATA
    Class 0106: 10de:07f4

    Thanks!
    Ez

    ReplyDelete
    Replies
    1. Hi Ez-Aton,

      I added this controller in version 1.12!

      You may find instructions about how to modify the package yourself (and the tools for it) at the ESXi5 Community Packaging Tools project page.
      However, I don't want to encourage anyone to do this, because I want to prevent ambiguous forks of the package, and I think that a lot of people do still not understand what the package can do for them, and those may fiddle around with the package while having wrong expectations.

      Andreas

      Delete
    2. Thanks. For now I managed, using NFS for datastore, and USB disk on key for the OS. However, I will download your version and give it a try.

      Thanks!
      Ez

      Delete
  60. Hi,

    I am researching the options for using

    Apricorn Velocity Solo x2 Extreme Performance SSD Upgrade Kit

    http://www.amazon.com/gp/product/B0090IA3GY/ref=oh_details_o01_s00_i00?ie=UTF8&psc=1

    as a PCI-E SSD for ESXi 5.5.

    I followed the instructions and installed sata-xahci.

    After rebooting the ESXi server lspci shows:

    ~ # lspci -v | grep "Class 0106" -B 1
    0000:06:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9182 SATA 6Gb/s Controller [vmhba2]
    Class 0106: 1b4b:9182

    The vSphere Windows client shows:

    88SE9182 SATA 6Gb/s Controller
    vmhba2
    vmhba32

    No attached devices are recognized.

    Any ideas why the attached SSD drive is not visible?


    Thank you!
    Svetlin

    ReplyDelete
    Replies
    1. Hi Svetlin,

      sorry, I have no idea. Please see the blog post, section "Read before commenting", section 4.

      You may want to send me a copy of your /var/log/vmkernel.log file of your ESXi host (via e-mail please), so that I can have a look at it. Grab it with a web browser via the URL https://ip-of-your-host/host.

      Andreas

      Delete
    2. Hey Andreas and Svetlin,
      Andreas, you created version 1.8 after I requested for 1b4b:9182 (for the solo x2). Thanks for your help! Eventually I discovered that ESXi was detecting the controller but not the drives connected to it. The same was true for a completely different card with the same chipset. Recently, I gave up and used a different card (solo x1) with an asmedia chipset that works fine thanks to your sata-xahci. Strangely my vmkernel.log file seemed to suggest that everything was fine except that ESXi apparently had no idea that there was a drive connected.

      OA

      Delete
  61. Hi there,

    I appreciate what you are doing, and I wonder if you can do a little more? I have have an Intel Patsburg 6 port SATA AHCI with a class of 0106: 8086:1d02. I wonder if you can help out?

    Much appreciate it.

    Michael

    ReplyDelete
  62. Andreas, sorry for flood on your page, but all road following to this page %)
    BTW, even this driver add support for ASM 1062 esata adaptor, it still too slow, for use.
    I have external esata RAID5, and made measure about IO perfomance with Oracle io-calibraion tool. It is incredible slow - 50 IOPS, 6Mb read/write %(

    As I can see, trouble with queue length - it is exactly equals ONE:
    DEVICE PATH/WORLD/PARTITION DQLEN
    t10.ATA_____H2FW_RAID0______________ - 1

    So sad... (c)

    ReplyDelete
    Replies
    1. Hi Trak,

      try to check and change the queue depth by following instructions in http://kb.vmware.com/kb/1268.
      Does this make a difference?

      Andreas

      Delete
    2. Hi Andreas!
      Definitely no ^(
      Reason of this parameter do not change DQLEN, I did check module sata-ahci source, it change DQLEN dynamically, with dependence of hardware compatibility :(

      Delete
  63. Hi Andreas,

    I have a short question about your changes to the driver. I assume you have added further PCI device/vendor IDs to the driver to get AHCI compliant interfaces working with the driver.

    Do you know if the PCI sub-vendor/device IDs are also taken into account when loading the driver?
    I'm asking because I have a board with 2x Marvell 9172 controller and it seems there are no devices detected. I'm currently at the beginning of my investigations so I'm not sure if it's a problem of the ISO image I created thanks to your tool, a problem with the board or with the detection of the drive itself.
    As far as I can see in mapping file extracted from the vib file, there's something which could be a sub-vendor/sub-device entry:
    regtype=linux,bus=pci,id=1b4b:9172 0000:0000,driver=ahci,class=storage

    Can you confirm that the 0000:0000 means what I assume?

    I'll have a look if I can manage to change the values according to the entries in the PCI headers of my motherboard (Asrock C226 WS) in order to operate the interfaces in ESXi 5.5.

    Best regards,
    Adalbert

    ReplyDelete
    Replies
    1. Hi all,

      I did some tests with a modified installation CD using the offered driver as well as with a driver which has added subdevice and subvendor IDs. Unfortunaltely that didn't help.
      The driver seems to be included correctly into the image (logs show that the controller is available), but the system has problems to detect the attached device.
      According to the output of dmesg, the ESXi 5.5 detects that something is connected, but me error message says that it cannot identify the device.
      The situation is the same on the two Marvell 9172 controllers as well as on a add-on card I found using the Marvell 9120 controller.

      Not yet tried with ESXi 5.1...

      Best regards,
      Adalbert

      Delete
    2. Hi all,

      I'm ahead with the investigations.
      The problem is not the driver or the iso creation. The problem seems to be linked to the controller itself.
      The problem seems to be caused by the Marvell when it's using PCIe phantom functions - a VT-D related functionality.
      These functions are disabled in the PCIe capability of the Marvell controller. But according to the logs of ESXi, it uses phantom functions and confuses VT-D/IOMMU.
      Disabling VT-D in the EFI setup "fixes" the detection problem. Unfortulately I have planned to use VT-D...

      Google revealed a bug report, which indicates the problem is not limited to ESXi or anyhow related to it. It seems to me to be clearly an issue of the controller.
      https://bugzilla.kernel.org/show_bug.cgi?id=42679

      Therefore for anybody who plans to use VT-D and want to use it for ESXi: Avoid using a Marvell controller.
      Assigning this controller to a VM may work.

      Best regards,
      Adalbert

      Delete
    3. Hi Adalbert,

      this is an awesome finding, thank you very much for doing these investigations! I will update my post to include this information.

      Andreas

      Delete
    4. Hi people,

      I contacted Asrock and explained the issue to them. They discussed that with their R&D department but currently there's no action planned by Asrock.
      So, don't expect a fix within a reasonable time frame.
      But OK, I have some doubt that Asrock can do here something because as far as I see, it's not their fault but the problem is linked to Marvell.

      Best regards,
      Adalbert

      Delete
  64. 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
  65. Hi Andreas , Johnny is my name. Great work you are supplying us VM-users with. I wonder if you could incorporate the following to your map.

    # lspci -v | grep "Class 0106" -B 1
    00:00:09.0 SATA controller Mass storage controller: nVidia Corporation MCP67 AHCI Controller
    Class 0106: 10de:0554

    Best regards
    Johnny

    ReplyDelete
    Replies
    1. Hi Johnny,

      added in 1.13. Have fun!

      Andreas

      Delete
    2. Much appreciated. Works perfect. Thanks again. /Johnny

      Delete
  66. HI Andreas,

    Im struggling to get a Vertex OCX 60GB drive working.

    The host controller is ...
    ~ # lspci -v | grep "Class 0106" -B 1
    0000:00:1f.2 SATA controller Mass storage controller: Intel Corporation Lynx Point AHCI Controller [vmhba0]
    Class 0106: 8086:8c02
    and I can see my SATA disks fine.

    The Vertex SSD worked well in my ESXi 5 Machine, however im moving it to a new machine (new processor, new motherboard) for which the Realtek NIC drivers have been brought back and work well. Its just the SSD thats not being recognised.

    VT-D is off in the Bios and the Bios does see the disk.

    esxcli storage nmp device list

    does not show the SSD, but does show the other three disks and iSCSI (moving all over to iSCSI, just the SSD will remain as local cache file.

    Thanks for all your help,

    SimonZ

    ReplyDelete
    Replies
    1. Mmm... I reinstalled 5.5 onto the OCZ disk this time... now it sees it.
      Interestingly, the previous settings were all retained as if the installer read the old disk and included the 8168 drivers for the GA-Z87 motherboard. Yes, old disks still attached. I'll remove CD and smaller disk at a leter date. For now, everything is working as I hoped.

      cheers

      Simon

      Delete
    2. Mmm... (Part 2) After two purlpe and blue screens the OXO disk is going to the place in the sky, or worse.
      Googling these drives everyone seems to be having trouble.
      Experience... :-)

      Delete
  67. Hi Andreas,
    Would you please add support for the following (Mac Mini 3,1)?

    ~ # lspci -v | grep "Class 0106" -B 1
    0000:00:0b.0 SATA controller Mass storage controller: nVidia Corporation Apple iMac 9,1
    Class 0106: 10de:0ab9

    Many thanks,
    Roger

    ReplyDelete
    Replies
    1. Hi Roger,

      added in v1.14. Have fun!

      Andreas

      Delete
    2. Works a treat. Thank you!

      Roger

      Delete
  68. I have a Sonnet - Tempo SATA Pro 6Gb 4-Port PCIe [1b4b:9172] and after installing your fix the controlled showed up on Storage Adapters. Unfortunately none of the connected disks are displayed! I have read your bug-info note, but I don't understand if I'm affected by this bug since if I connect my card to a Mac running OS X 10.9 instead of ESXi 5.5 the disks are correctly detected and shown. I don't even know how to disable VT-X on a MacMini, where I'm running ESXi…¯¸

    ReplyDelete
    Replies
    1. Hi Giovanni,

      if there is no option to disable VT-d in the BIOS then you may want to try disabling VT-d IRQ remapping in ESXi as per KB1030265, but I'm not sure if this disables VT-d completely.

      Andreas

      Delete
    2. Hi Andreas, thank you for your response!
      I had to disable IRQ remapping before installing ESXi, otherwise it won't boot on the Mac mini. I would try to re-enable it to see if disks show up, but unfortunately without it disabled I get a PSOD on boot… It seems I'm stuck on both ways! When I plug the eSATA cable something gets detected (on dmesg I see successful syncing logs) but then I don't see any disk on vSphere client…

      Delete
    3. I am stuck with this too, I am using a ASUS RAIDR PCI card with a marvel controllers (and sandforce SSD controllers), on a Dell R720. The Dell only has Enable/Disable "Virtualization Technology" and it covers both VT-x and VT-d. The drive works when I disable VT in bios, but I need VT-x. I disabled the remapping via the link above but it did not help. I have reached out to Dell for help disabling VT-d.

      Delete
    4. I'm just not getting if the bug is in the ESXi kernel or in the Marvell firmware. If it is on Marvel firmware, why the disks are detected in OS X but not in ESXi?

      Delete
    5. Still no luck on getting the disks detected. On which front should this be fixed?

      Delete
  69. Unfortunately, I can confirm that Marvell 92xx series chips also suffer from the VT-D bug. My motherboard has a 9120 that wasn't working and I needed the missing ports, so I bought a 9230-based PCI add-on card and it's displaying the same symptoms (Storage adapter is recognized, but no devices are visible with VT-D enabled) in ESXi 5.0 U3.

    Can anyone recommend a low-cost SATA add-on card that doesn't suffer from this issue? I know the IBM M1015 and LSI-based cards work, but I would really rather not spend $100+ just to replace the two ports that aren't working. SATAIII would be preferable, but I can live with SATAII if need be.

    ReplyDelete
    Replies
    1. I've continued my research for a different SATA add-on card to try (keep in mind this is specifically for ESXi 5.0 U3, but I'm guessing Andreas' patch should make it applicable to 5.5 users as well). Here's what I'm thinking/finding so far:

      -I'm just going to assume that everything Marvell-based won't work.
      -LSI-based controllers such as the IBM M1015 are known to work, but aren't cheap (~$100) if you're just looking to add a couple of ports.
      -I can't find much of anything about the Silicon Image 3124/3132 chips with recent (5.0 and later) builds of ESXi work when passthrough is used, but it seems a lot of the reviews I've found consider them unreliable in general.

      This is what I'm looking at right now: http://www.newegg.com/Product/Product.aspx?Item=N82E16816124045

      It's based on the ASMedia 1061. I've found one or two reviews that had problems with it, but I think they were trying to pass through the entire onboard SATA controller and use the add-on card for datastores or something along those lines. I've also found other reviews (such as those in the Newegg link above) that says it works natively with ESXi 5.1, but one user was passing it through to a VM and it's not clear if the other was using VT-D.

      Does anyone have experience with ASMedia 1061-based cards? I'd be using it for datastores, but VT-D is enabled to pass through other devices to my VMs.

      Delete
    2. Good news: the ASMedia 1061 card I referenced above WORKS in ESXi 5.0 U2 and 5.0 U3 when VT-D is enabled!

      U2 sees it as an "unknown" storage adapter and U3 recognizes the chipset, but both versions are able to access datastores connected to it when VT-D is enabled and other devices are passed through to VMs.

      Delete
  70. Afternoon Andreas,

    Can you add the following please (if it makes it easier looking to get passthrough support only)?

    00:00:11.0 SATA controller Mass storage controller: AMD Inc AMD Hudson SATA Cont roller [AHCI Mode] [vmhba0]
    Class 0106: 1022:7801

    00:00:11.0 RAID bus controller Mass storage controller: AMD Inc FCH SATA Control ler [RAID mode]
    Class 0104: 1022:7803



    ReplyDelete
    Replies
    1. Hi Gutharius,

      I added the first one in version 1.15.
      If you can switch the second one to AHCI mode (it's now in RAID mode) it may also work - it will probably change its PCI ID then.

      Andreas

      Delete
    2. Thanks you Andreas! Will test and let you know my results.

      Delete
    3. Andreas,

      Maybe I am missing something. I am not seeing v1.15 available on http://vibsdepot.v-front.de. Will the esxcli software vib install -d http://vibsdepot.v-front.de -n sata-xahci pull the version 1.15 version even if it is not showing on vibsdepot?

      Thanks!

      Delete
    4. Hi Gutharius,

      yes, it will. But I have also updated the Wiki page now ...

      Andreas

      Delete
  71. Any chance you can add 10de:054c MCP55 SATA Controller please

    Much appreciated

    ReplyDelete
    Replies
    1. Hi Anonymous,

      this is the PCI ID of an nVidia Ethernet Controller?!
      Please post the output of

      lspci -v | grep "Class 0106" -B 1

      Thanks
      Andreas

      Delete
  72. I've inserted into a DELL R710 server a Sonnet Temp SSD Pro PCIe SATA Controller with 2x512GB Samsung SSD Pro (http://www.sonnettech.com/product/tempossdpro.html)

    Here you can see the lspci output:
    ~ # lspci -v | grep "Class 0106" -B 1
    0000:07:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd.
    Class 0106: 1b4b:9182
    --
    0000:08:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd.
    Class 0106: 1b4b:9182

    I'm using vmware ESXi5.5.0-201312001
    Build Number: 1474528

    (DELL server has the latest firmwares)

    vmware ESXi 5.5 could not see the tempo ssd controller (but my server displayed controller information well)

    How can I create vib file with correct drivers to install it on my ESXi 5.5 server?

    Thank you in advance.

    Best Regards:
    Szabolcs

    ReplyDelete
    Replies
    1. Hi Szabocls,

      you can install my sata-xahci package to make the controller visible to ESXi, but a bug in the Marvell controller's firmware will lead to the attached disks not being accessible unless you disable VT-d in the server's BIOS (see issue no. 4 in my post).

      Andreas

      Delete
    2. Hi Andreas,

      Thank you for your help and suggestion.
      I have a question. You know in the Virtualization Server needs to enabled the VT-d /Intel® Virtualization Technology for Directed I/O (VT-d)/ function in the Bios.

      Everything will be right on the production ESXi server if I disable the VT-d function in the Bios?

      I checked Tempo SSD Pro card has only rev 1.0 firmware only.

      Thanks and Regards,
      Szabolcs Illes

      Delete
    3. Hi Andreas,

      I solve and installed your driver.
      There were a DNS resolving problem on my ESXi server

      Installation Result
      Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
      Reboot Required: true
      VIBs Installed: VFrontDe_bootbank_sata-xahci_1.15-1
      VIBs Removed:
      VIBs Skipped:

      Thanky you.
      Szabolcs

      Delete
    4. Hi Andreas,

      On last midnight I played your driver to revive it on ESXi 5.5. But I have same problem (Anonymous wrotten above):
      The Dell only has Enable/Disable "Virtualization Technology" and it covers both VT-x and VT-d. The drive works when I disable VT in bios, but I need VT-x for vCenter, too. I disabled the remapping and rebooted but it did not help me.

      #esxcli system settings kernel set --setting=iovDisableIR -v TRUE
      # esxcli system settings kernel list -o iovDisableIR
      Name Type Description Configured Runtime Default
      ------------ ---- --------------------------------------- ---------- ------- -------
      iovDisableIR Bool Disable Interrrupt Routing in the IOMMU TRUE FALSE FALSE
      ----------
      I'v read the "DMA Read on Marvell 88SE9128 fails when Intel's IOMMU is on" bug report, too, but there isn't solving for this problem, yet.

      What do you mean, when will be solving this Marvell chip and ESXi 5.5 bug?
      Sonnettech said me: "At this time, I’m not aware of pending firmware updates for the Tempo SSD cards that would enhance this specific usage for the cards."
      ----
      A global question is how can I disable VT-d only in DELL R710 or R720 bios, if there is no possibility separately?

      Thanks and Regards,
      Szabolcs

      Delete
  73. Great article, information and drivers!!! Thank You, Thank You!!
    I do have another question - the drivers load for my Marvell 9230 but I cannot "see" the hard drives under the configuration. I'm using it in a RAID1 configuration so I would like to see if one of the drives fail. Any suggestions on getting this working would be greatly appreciated!

    ReplyDelete
  74. I have an Intel NUC D34010WYK with the Class 0106: 8086:9c03 adapter.

    But somehow when i want to install esxi the esxi install does not recognize my msata disk (Crucial M500 128Gb).

    Can someone help me please?

    ReplyDelete
    Replies
    1. Spunk,
      have you installed my sata-xahci package? It should enable support for this adapter. If this does not work then I cannot really help further, sorry.
      Andreas

      Delete
  75. Hi Andreas,

    I've changed VPS host environment from ESXi5.5.0-201312001 to ESXi5.1.0-201402001 with newest install (separately) now to an USB thought I could test Sonnet Temp SSD PRO Card with your sata-xahci 1.10 driver under latest ESXi 5.1 U2- build:1612806 (I've created screenshots: http://imgur.com/ubxPBJn ) and rebooted...

    The results is same that on ESXi 5.5 U1, because of the storage adapter information displayed in vSphere Client under Storage adapters list (http://imgur.com/vqy6Uy1), but device, targets, path are zero, there are missing details.

    I've modified the iovDisableIR configured value to TRUE (http://imgur.com/GDHp623) and rebooted.
    After I rebooted the host machine there were not displayed any disk from this list (http://imgur.com/5DfzBxQ)

    I've tested your sata-xahci v1.15 under ESXi 5.1 U2- build:1612806, but it didn't work, too.

    In the Advanced settings /Configure Passthrough/ the controller information and device details showing well (http://imgur.com/QKQJzZ9), but I wouldn't like to use this mode.

    What do you suggest, how can we resolve this driver problem under latest ESXi 5.1 U2 build number:1612806 ?


    Thanks and regards,
    Szabolcs

    ReplyDelete
    Replies
    1. Hi Szabolcs,
      I'm sorry, but it looks like the only solution that is available right now is to disable VT-d in your computer's BIOS. If this is not possible then you are out of luck.
      Andreas

      Delete