Heads Up - ESXi not working on 7th Gen (Kaby Lake) Intel NUC7

I've received reports that the ESXi 6.5 and ESXi 6.0 installer fails to load on the latest 7th Gen NUCs:

  • NUC7i3BNH
  • NUC7i3BNK
  • NUC7i5BNH
  • NUC7i5BNK

The main issue is that the I219-V NIC is not recognized, so the installer fails with the well known "No Network Adapters" error message. Today I managed to get my hands on a NUC7i3BNH to narrow down the issue. By now I've not managed to get the embedded Network Adapter to work. A workaround with a USB-based NIC is possible.

[Update 2017-02-25 - A fix is available]

  • The NIC embedded in 7th Gen NUCs identifies as:
    Intel Corporation Ethernet Connection (4) I219-V [8086:15d8]
  • This NIC is listed in VMwares HCL (here) to be supported with ESXi 6.5 with the ne1000 driver, which is the new native driver for Intel-based network adapters.

    [Update: According to William Lam, the HCL entry was a mistake. The NIC is not officially supported and will be removed shortly.]

    Despite it is supported (The NIC only, I doubt that this makes the full NUC supported)
    , the driver binding fails:

    Error binding driver ne1000 for bus=pci addr=m00008501 id=808615d880862068020000

    vmkernel.log

    2017-02-11T05:37:02.519Z cpu1:65932)Loading module ne1000 ...
    2017-02-11T05:37:02.520Z cpu1:65932)Elf: 2043: module ne1000 has license ThirdParty
    2017-02-11T05:37:02.524Z cpu1:65932)Device: 191: Registered driver 'ne1000-driver' from 22
    2017-02-11T05:37:02.524Z cpu1:65932)DEBUG (ne1000): module loaded
    2017-02-11T05:37:02.524Z cpu1:65932)Mod: 4968: Initialization of ne1000 succeeded with module ID 22.
    2017-02-11T05:37:02.524Z cpu1:65932)ne1000 loaded successfully.
    2017-02-11T05:37:02.525Z cpu0:65908)DEBUG (ne1000): attaching device 0x7a2c43032bbde255
    2017-02-11T05:37:02.525Z cpu0:65908)Device: 326: Found driver ne1000-driver for device 0x7a2c43032bbde255
    2017-02-11T05:37:02.525Z cpu0:65908)VMK_PCI: 915: device 0000:00:1f.6 pciBar 0 bus_addr 0xdc100000 size 0x20000
    2017-02-11T05:37:02.525Z cpu0:65908)DEBUG (ne1000): mapped BAR[0]: start = dc100000, size = 20000, mapped to 410006f40000
    2017-02-11T05:37:02.525Z cpu0:65908)DEBUG (ne1000): rx FIFO size 20 KB, tx FIFO size 12 KB
    2017-02-11T05:37:02.525Z cpu0:65908)DEBUG (ne1000): recv FIFO size 20 KB, xmit FIFO size 12 KB
    2017-02-11T05:37:02.525Z cpu0:65908)DEBUG (ne1000): tx.maxFrame = 1920
    2017-02-11T05:37:02.525Z cpu0:65908)DEBUG (ne1000): mmio = 410006f40000, flashio = 0, portio = 0
    2017-02-11T05:37:02.525Z cpu0:65908)DEBUG (ne1000): got port 0
    2017-02-11T05:37:02.525Z cpu0:65908)DEBUG (ne1000): device ID: 8086:15d8:8086:2068
    2017-02-11T05:37:02.525Z cpu0:65908)DEBUG (ne1000): hw_addr = 0x410006f40000, flash_addr = 0x410006f4e000
    2017-02-11T05:37:02.525Z cpu0:65908)DEBUG (ne1000): setting mac type
    2017-02-11T05:37:02.525Z cpu0:65908)INFO (ne1000): failed to identify hw with shared code
    2017-02-11T05:37:02.525Z cpu0:65908)ALERT: ALERT (ne1000): failed to identify hardware.
    2017-02-11T05:37:02.525Z cpu0:65908)INFO (ne1000): failed to identify adapter for device 0x7a2c43032bbde255
    2017-02-11T05:37:02.525Z cpu0:65908)Device: 588: Device 0x7a2c43032bbde255 start from driver ne1000-driver failed with bad0001
    2017-02-11T05:37:02.525Z cpu0:65908)WARNING: Device: 2223: Failed to start device 0x43032bbdcc10 m00008501 808615d880862068020000.
    2017-02-11T05:37:02.528Z cpu3:65934)PCI: 88: Device 0x29ad43032bbde57f is not an PCI vmkDevice
    2017-02-11T05:37:02.528Z cpu3:65934)Device: 2482: Module 0 did not claim device 0x29ad43032bbde57f.
  • The PCI ID is mapped to the ne1000 driver:
    [root@esx5:/] grep 15d8 /etc/vmware/default.map.d/ne1000.map
    regtype=native,bus=pci,id=808615d8..............,driver=ne1000
  • I've disabled the ne1000 driver and added the mapping to the "old" net-e1000e driver (/etc/vmware/driver.map.d/e1000e.map).
    cd /tmp/
    mkdir net_e100
    cd net_e100
    vmtar -x /bootbank/net_e100.v01 -o net_e100.tar 
    tar xvf net_e100.tar
    rm net_e100.tar
    echo "regtype=linux,bus=pci,id=8086:15d8 0000:0000,driver=e1000e,class=network" >> etc/vmware/driver.map.d/e1000e.map
    tar cvf net_e100.tar etc usr 
    vmtar -c net_e100.tar -o net_e100.vgz 
    mv net_e100.vgz /bootbank/net_e100.v01

    The NIC also fails to bind with the net-e1000e driver.

  • To rule out the possibility that drivers are interfering each other I've respectively removed one driver completely.
  • ESXi 6.0, which comes without the native ne1000 driver, has the same problem.
  • A Bios Update (BNKBL357.86A Version 0036) does not solve the problem.
  • When you add USB NIC drivers to the Installer you can at least install ESXi and use the 7th Gen NUC which is helpful for further troubleshooting.

Update 2017-02-10
There is a Reddit discussion on the same topic here.

Update 2017-02-11
There are two additional discussions on Reddit here and here. No solution so far.
I've also tested ESXi 5.5U3 (which was the first release with the e1000e driver) and ESXi5.5U2 with the custom driver by GLRoman, no success. (I've injected the PCI Id to both drivers to give it a chance).

Update 2017-02-12 - NUC7 Installation Workaround
I've been asked how to create an ESXi 6.5 Installer that contains the USB NIC driver. Here is quick guide:

  1. Grab a compatible USB Ethernet LAN adapter.
  2. Download ESXi 6.5 Offline Bundle and the ASIX driver (made by William Lam).
  3. Download and install VMware PowerCLI 6.5
  4. Open PowerCLI and use the following commands to create a customized installer image. The process adds the ASIX driver and removes vmkusb from the Image Profile. Removal of vmkusb is required or the adapter won't work.
    Add-EsxSoftwareDepot .\ESXi650-201701001.zip
    Add-EsxSoftwareDepot .\vghetto-ax88179-esxi65-bundle.zip
    New-EsxImageProfile -CloneProfile "ESXi-6.5.0-20170104001-standard" -name "ESXi-6.5.0-20170104001-ax88179" -Vendor "virten.net" -AcceptanceLevel "CommunitySupported"
    Remove-EsxSoftwarePackage -ImageProfile "ESXi-6.5.0-20170104001-ax88179" -SoftwarePackage "vmkusb"
    Add-EsxSoftwarePackage -ImageProfile "ESXi-6.5.0-20170104001-ax88179" -SoftwarePackage "vghetto-ax88179-esxi65"
    Export-ESXImageProfile -NoSignatureCheck -ImageProfile "ESXi-6.5.0-20170104001-ax88179" -ExportToISO -filepath ESXi-6.5.0-20170104001-ax88179.iso
  5. Use Rufus to create an Installer USB Flash Drive.

Update 2017-02-16
Last Friday I reached out to William Lam, who was also involved in troubleshooting the Skull Canyon NUC and provided him vm-support bundles. He offered to help to analyze the problem and give it to VMware Engineering. Today he came back with an update:

  • The problem is identified and can be fixed
  • The fix will require an updated version of the Driver which will only be available in a future update of ESXi.

There is no immediate solution, but it is great to see that there probably will be a fix in the future. Thanks to William Lam and the unnamed VMware Engineers that always help out to get homelab hardware up and running. William also created an article with his findings: Update on Intel NUC 7th Gen (Kaby Lake) & ESXi 6.x (virtuallyGhetto).

Update 2017-02-25 - A fix is available
An updated e1000e driver is now available as part of ESXi 6.0 Update 3. You have 2 options to get the 7th Gen oboard NIC to work:

  • Install ESXi 6.0 U3
  • Install the driver from 6.0 U3 in ESXi 6.5. (Howto)

William Lam has also published an update including 2 additional options to implement the driver.

 

Leave a comment ?

14 Comments.

  1. Thank you for this. I'm planning to get the new i7 model and this will make me hold off until it's fixed.

  2. Hi great blog! I also have this problem with nuc7 and ESXi. First i tried to run integrated NIC but no luck. Now Im trying to use a StarTech USBhub/Ethernet(0b95:1790) dongle but i get an error while installing.

    no vnic tagged for mgmt, looking for well-known portgroup
    unhalted exception.

    ALT+F11 says Failed trying to get a valid VMKernel MAC address: Not found. Various vmkernel subsystems will provide lower qualitfy of service. Please add/configure VMKernel NICs.

    Any clue how to get around this error?

    /Patrik

    • Jupp, I know this error. Some adapters refuse to automatically connect back to a vSwitch, or connect to a vSwitch during the installation.
      This message is displayed after ESXi has been placed on your disk so you can just ignore it. Reboot the NUC and it should boot into ESXi. You can then configure the physical NIC from the DCUI.

  3. Is it possible to directPath the nic to a VM, even though there is no driver for ESXi?

  4. By "future update of ESXi" you mean it can be fixed by a patch or entire version release (f.e. v.7)?

    • I can only speculate on that but I would rather guess that it means 6.5 U1, not 7.0 (more like "weeks/month", not "years").

      Also, keep in mind that there is no official statement that it will actually work in the future. The adapter is not supported and we can only hope that it will be fixed.

  5. Hallo together,

    could please someone tell to me where i can download the ESXI 6.0 U3 Free Version.
    I only see the 6.0 U2 for download that not works with the new NUC7.

    Best regards

    • ESXi Free usually takes some time to be on the latest version. You can request a trial or use the Software Manager to get access faster.

      • ESXI 6.0 U3 is not available for trail as far as I can see, Only 6.5 and 6.0 U1 and U2. Can someone put us in the right direction? Or put the file somewhere we can download it. So we can create working Image for NUC7.

  6. Working 1Gbit integrated NIC is good, but support for TCP/IP on Thunderbolt3 to get a 40Gbit "backplane" would be great :-)

  7. Sorry, is this combination now working?

    greetings, thomas

  8. Thank you kindly. Worked like a charm removing the e1000e driver and creating a NUC specific 6.5 ISO.

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>