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 (07/27/17) - The updated e1000e Native Driver that was included in ESXi 6.0 Update 3 is now included in ESXi 6.5 Update 1 which just GA'ed. You should be able to install ESXi without require any additional modifications to the latest Intel NUCs.
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
Test says
To fix that issue do we need to wait for patch or completely new ESXI version (f.e. v.7)?
William Lam says
See the updated I just posted 🙂
Test says
Wow! Awesome job! Thank you so much !!!
Serafeim says
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
Test says
I used ESXi-Customizer-PS (https://www.v-front.de/p/esxi-customizer-ps.html) to download it.
.\ESXi-Customizer-PS-v2.5.ps1 -v60
The version 6.0 is working perfectly fine.
surtur says
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.
Test says
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
...
DerOest says
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)
Calvin Nghe says
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.
William Lam says
Thanks for the catch folks. I've just updated the instructions to the Image Builder option
Calvin Nghe says
One more update 🙂 On Option 3, Step 5 - In addition to what you already have I had to remove the "ne1000" driver to get it to work.
Remove-EsxSoftwarePackage -ImageProfile "ESXi-6.5.0-20170104001-standard-7thGenNUC" -SoftwarePackage "ne1000"
William Lam says
Done
Jens says
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?
William Lam says
The resolved driver is NOT in the recently released ESXi 6.5d, so the instructions above are still applicable.
Danny says
William, your website is a gem, thanks for everything.
I am about to purchase my first NUC cluster, but I understand the SD Card reader presents an issue. I started to compile a bit of information regarding the Realtek Card Reader, but before I go down the rabbit hole I wanted to ask if you've been able to get it working?
Let me know!
(The thread I started including some relevant links)
https://www.reddit.com/r/homelab/comments/69naa0/intel_nuc_esxvsan_cluster_considerations/dh8t3vg/
Jeroen Jacobs says
Hi,
You sure? I have installed 6.5d and the network interface got recognised without issues. Or are there other bugs/stability issues with the driver included 6.5d ?
Nathan says
How likely is it for there to be an ESXi driver for the SD card reader so it can be used for ESXi installation?
P says
thanks for the instruction, the only problem i have is that i am not allowed to download the patches, or even 6.0 update3.
Will try the USB nic tomorrow.
surtur says
i had the same problem. the links in the artical dont work for some reason. I manage to find the Patch Center where you can download the needed files with a "normal" account. go to https://my.vmware.com/group/vmware/patch?src=vmw_so_vex_fgreh_241#search select "ESXi (Embedded...)" select verison 6.0.0 download update-from-esxi6.0-6.0_update03 and extract the necessary vib from there.
also updating using "esxcli software profile update" will undo the patch for some reason. I had to put the vib somewhere on the bootable drive and reinstall with the system offline then reboot again to get network back. so becarefull updating
P says
thanks! The setup is running
Zlatko MitevZ says
Hello William,
Driver works great, thanks for that!
Just a quiestion tho, any plans to add Jumbo Frames support ? I would love to see that working !
joe says
Need update write up on VM 6.5 on NUC please
Michael says
Does the above work for ESXi 5.5 as well? A lot of the instructions reference 6.0 and 6.5, and having no experience with these sorts of modifications, I'm not familiar with their meaning.
Ioan Vancea says
Hi,
Do you know if ESXi is running fine on this NUC: https://www.amazon.de/dp/B01MSZTD8N/ref=psdc_427954031_t1_B0179AZAM6
Thank you.
Darkprocess says
Tested ESXi 6.7. All is working fine and shutdown is also working.
William Lam says
Thanks for confirming
apollo says
Is it the same for the Apollo Lake NUC (Celeron)? Have tried everything and can't seem to get it to work?
Stuart says
Does a fresh install of ESXi 6.7U3 on say a NUC7i7DNHE require this patch to be applies or is this fixed (for NUCs) in the ESXi 6.7U3?