Intel just started shipping their i3 7th Gen (Kaby Lake) Intel NUCs and no surprise, Florian of virten.net has already gotten his hands on a unit for testing. The Intel NUCs is a very popular platform for running vSphere/vSAN-based home labs, especially for their price point and footprint. Last week, Florian discovered from his testing that the built-in network adapter on the 7th Gen NUC was not being detected by any of the ESXi installers and had published his findings here.

Since the Intel NUC is not an officially supported platform for ESXi, it does not surprise me that these sort of things happen, even if the NUC had a pretty good track record going back to the 5th Gen releases. Nonetheless, I reached out to Florian to see if he can provide me with a vm-support bundle and see if there was anything I could do to help.

A couple of Engineers took a look and quickly identified the issue with the Kabylake NIC (8086:15d8) but before getting to the solution, I did want to clarify something. The Kabylake NIC is actually NOT an officially supported NIC for ESXi and although it currently shows up in the VMware HCL, it is a mistake. I have been told the VMware HCL will be updated shortly to reflect this, apologies for any confusion that this may have caused.

Ok, so the great news is that we do have a solution for getting ESXi to recognize the built-in NIC on the 7th Gen Intel NUCs. The semi-bad news is that we currently do not have a solution in the short term for any released version of ESXi, as the fix will require an updated version of the e1000e Native Driver which will only be available in a future update of ESXi. I can not provide any timelines, but keep an eye on this blog and I will publish more details once they are available.

In the meantime, if you already own a 7th Gen NUC, there is a workaround which Florian has already blogged about here which uses the USB Ethernet Adapter VIB for the initial ESXi installation. If you are planning to purchase the 7th Gen NUC and would like to wait for folks to confirm the fix, then I would recommend holding off or potentially looking at the 6th Gen if you can not wait. Thanks to Florian and others who shared their experiences with the 7th Gen NUC and also to the VMware Engineers who found a quick resolution to the problem.

UPDATE (02/24/17) - An updated e1000e driver which contains a fix for 7th Gen NUC is now available as part of ESXi 6.0 Update 3, below are several options in how you can consume the driver.

Option 1

Install ESXi 6.0 Update 3 which has the e1000e driver fix, no additional workaround required.

Option 2

If you have already installed ESXi 6.5 GA or ESXi 6.5a using the USB NIC workaround, then you can easily apply the updated e1000e driver by simply installing it from the ESXi 6.0u3 offline patch bundle zip.

Step 1 -  Download offline patch bundle update-from-esxi6.0-6.0_update03.zip to your system.

Step 2 - Extract update-from-esxi6.0-6.0_update03/vib20/net-e1000e/VMware_bootbank_net-e1000e_3.2.2.1-2vmw.600.3.57.5050593.vib and SCP that to your ESXi 6.5 host.

Step 3 - Install the updated e1000e driver which will automatically uninstall the current version by running the following command):

esxcli software vib install -v /VMware_bootbank_net-e1000e_3.2.2.1-2vmw.600.3.57.5050593.vib

Step 4 - Disable the e1000 Native Driver, by default this will load in ESXi 6.5. By doing so, our e1000e will be loaded instead. Run the following command:

esxcli system module set --enabled=false –m ne1000

Step 5 - Reboot for changes to go into effect

Option 3

Create a new ESXi 6.5 ISO that contains the updated e1000e driver using PowerCLI's Image Builder.

Step 1 - Download both the ESXi 6.5a Image Profile (ESXi650-201701001.zip) and the ESXi 6.0u3 Image Profile (update-from-esxi6.0-6.0_update03.zip) to your desktop and launch a PowerCLI session.

Step 2 - Import the two Image Profiles by running the following command:

Add-EsxSoftwareDepot .\ESXi650-201701001.zip,.\update-from-esxi6.0-6.0_update03.zip

Step 3 - Run the following command to retrieve the e1000e driver and make note of the newer version included in ESXi 6.0u3 (should be 3.2.2.1-2vmw.600.3.57.5050593).

Get-EsxSoftwarePackage -Name net-e1000e


Step 4 - Create a clone of the ESXi 6.5a Image Profile which we will use to create our new ISO by running the following command (you can replace name/vendor with whatever you want):

New-EsxImageProfile -CloneProfile "ESXi-6.5.0-20170104001-standard" -name "ESXi-6.5.0-20170104001-standard-7thGenNUC" -Vendor vGhetto

Step 5 - Remove the existing e1000e and ne1000 driver from the cloned ESXi 6.5a Image Profile:

Remove-EsxSoftwarePackage -ImageProfile "ESXi-6.5.0-20170104001-standard-7thGenNUC" -SoftwarePackage "net-e1000e"

Remove-EsxSoftwarePackage -ImageProfile “ESXi-6.5.0-20170104001-standard-7thGenNUC” -SoftwarePackage “ne1000”

Step 6 - Now, we will add the updated e1000e driver to our ESXi 6.5u3 Image Profile. You will need to specify the version as there will be two versions with the same name. To do so, specify the name with a space and then the version (retrieved from Step 3):

Add-EsxSoftwarePackage -ImageProfile "ESXi-6.5.0-20170104001-standard-7thGenNUC" -SoftwarePackage "net-e1000e 3.2.2.1-2vmw.600.3.57.5050593"

Step 7 - Export our cloned Image Profile to a bootable ISO which contains the updated e1000e driver:

Export-ESXImageProfile -ImageProfile "ESXi-6.5.0-20170104001-standard-7thGenNUC" -ExportToISO -filepath ESXi-6.5.0-20170104001-7thGenNUC.iso

Step 8 - Install ESXi onto the NUC using ISO as you normally would (e.g. making a bootable USB key).

Option 4

Create a new ESXi 6.5 ISO that contains the updated e1000e driver using the VCSA's Image Builder GUI (available only in vSphere 6.5).

Step 1 - Download both the ESXi 6.5a Image Profile (ESXi650-201701001.zip) and the ESXi 6.0u3 Image Profile (update-from-esxi6.0-6.0_update03.zip) to your desktop and launch a PowerCLI session.

Step 2 - Enable the Image Builder service under Administration->System Configuration->Services, logout and log back in for the Image Builder UI to appear (under Auto Deploy section).

Step 3 - Click on the "Add Software Depot" and create a custom depot which will be used to hold our custom Image Profile.

Step 4 - Click on the "Import Software Depot" and import both ESXi 6.5a and ESXi 6.5u3 Image Profile zip.


Step 5 - Select the custom depot you had created in Step 3 and click on the "New Image Profile" to create a new Image Profile, then provide a name and vendor.


Step 6 - Now, in the "Select Software Package", we will toggle the software depot dropdown menu to ESXi 6.5a and we need to select ALL packages EXCEPT for the net-e1000e and ne1000 package.


Step 7 - Next, we need to toggle the software depot dropdown menu once more to ESXi 6.0u3 and then select the new net-e1000e package which we want to include in our ESXi 6.5a custom image.


Step 8 - Finally, the last step is to generate a new ISO based off of our custom image which you can then use. To do so, click on the "Export Image Profile" and save the ISO to your desktop

14 thoughts on “Update on Intel NUC 7th Gen (Kaby Lake) & ESXi 6.x

  1. Hi Willian,
    thanks for your article and the informations. I also have a NUC7i3 and have the problem to install esxi. I am so happy to see your update, that the ESXI 6.0 U3 supports the NUC7. My problem is, that i can’t download i free version. Only the version 6.0 U2 is available. Do you know why the Version 6.0 U3 ist not downloadable?
    Thanks and regards
    Serafeim

  2. I used your guide to install the USB Driver, After start i have to manuelly reselect the nic again to enable networking.

    i was exited when i saw the new about the driver. I managed to update the driver its showing correctly in the package tab on my ESXi but after reboot i dont get an additional network device.

    i also tried enabling the V219 on the hardware tab but still no success.

  3. Not working

    executing start plugin: nfs
    executing start plugin: nfs41
    VMKPrivate_loadVMKModule(nfs41client): failure
    message handler 1 failed: Failure
    execution of ‘system module load –module nfs41client’ failed : Unable to load module /usr/lib/vmware/
    vmkmod/nfs41client : Failure
    Executor failed executing esxcli command system module load –module nfs41client
    Method invocation failed: nfs41->start() failed: error while executing the cli
    executing start plugin: mount-disk-fs
    VmFileSystem: Unable to get list of unresolved devices: Vmkernel module necessary for this vsi call not loaded
    execution of ‘boot storage restore –explicit-mounts’ failed : failed to restore explicit mounts: Unable
    to complete Sysinfo operation. Please see the VMkernel log file for more details.: Sysinfo error: Vmkernel module necessary
    for this vsi call not loadedSee VMkernel log for details.
    Executor failed executing esxcli command boot storage restore –explicit-mounts
    Method invocation failed: mount-disk-fs->start() failed: error while executing the cli
    executing start plugin: auto-configure-pmem
    Volume scan failed: bad0003
    Cannot find a pmem volume, let’s create a new volume
    New volume creation failed
    Filesystem format failed: bad0001
    executing start plugin: restore-nfs-volumes
    executing start plugin: restore-bootbanks
    VmkCtl: Boot device not available, waited 3 seconds

  4. William, i think with Option 4 (Image Builder) at Step 6, “ne1000” must also be excluded/removed.

    (You have already updated Option2 with Step 4 after comments on reddit, but i guess you missed it for this one)

    • DerOest, thanks for pointing it out. I spent hours trying to understand why it wasn’t working for me. I have confirmed that you need to remove the “ne1000” when you are building a new image in order to get it to work.

      William, thanks for putting this together. You may want to get the instructions updated just in case someone else didn’t catch it.

  5. The ESXi6.5 update from 2017-03-14 updated the ne1000 driver. And this version ist part of the new ESXi6.5d. Did anybody test this versions on a NUC7 already?

Thanks for the comment!