How to add Intel NIC drivers to an ESXi 5.5 ISO

Modifying ESXi ISO images to include network drivers

Using new hardware with not-yet supported or unsupported drivers is often required when using consumer grade and/or desktop components. Most of the motherboards I have presented here on this blog (ASRock Z87 Extreme6, ASRock Z77 Pro4-M, Intel DQ77KB, Intel DQ77MK) have had unsupported network controllers.

There are ways to add support for a NIC after ESXi has been installed. However, to install ESXi from the beginning requires at least one supported network controller. Adding or updating a driver directly in the ESXi ISO solves this issue.

Tools required

To be able to perform the driver inclusion the following tools are needed:

When it comes to what driver to include I have to be honest to report that I have not been able to fully figure it out. Intel seems to have two lines of drivers for Linux, igb and e1000. from what I understand, the igb drivers are mostly for server NICs and the e1000 drivers for desktop NICs. Some desktop controllers use the igb driver though. Here is an excerpt from Intel’s website:

e1000e.x.x.x.tar.gz is designed to work with the Intel® 82563/6/7 Gigabit Ethernet PHY, 82571/2/3/4/7/8/9, 82583 Gigabit Ethernet Controller, and I217/I218 controllers under Linux*.  The latest version and earlier versions of this driver are available from SourceForge.

If your adapter/connection is not 82563, 82566, 82567, 82571, 82572, 82573, 82574, 82577, 82578, 82579, 82583 -based, you should use one of the following drivers:

– igb-x.x.x.tar.gz driver supports all Intel® 82575/6-, 82580-, I350-, or I210/1-based Gigabit Network Adapters/Connections.
– e1000-x.x.x.tar.gz driver supports all Intel® 8254x-based PCI and PCI-X Gigabit Network Adapters/Connections.

Furthermore, the drivers for ESXi needs to be recompiled from the above versions. The ASRock Z87 Extreme6 board, that will be used in this example, have the following two controllers:

  • Intel® Ethernet Connection I217-V, e1000e driver.
  • Intel® Ethernet Controller I211 Series, igb driver.

I will only demonstrate how to get the e1000e driver to work, simply because I have not yet found a newly compiled version of the igb driver. The newest e1000e driver I can find on the Internet is:

http://shell.peach.ne.jp/~aoyama/wordpress/download/net-e1000e-2.3.2.x86_64.vib

Credit goes to the following site:http://shell.peach.ne.jp/aoyama/archives/2907

Using the ESXi-Customizer

Here is how I set up the ESXi-Customizer

  1. Start the ESXi-Customizer
  2. Load the ESXi 5.5 ISO
  3. Load the net-e1000e-2.3.2.x86_64.vib driver package
  4. Uncheck UEFI bootable. (I have read both suggestions both for and against. Unchecked has worked well for me)
  5. Hit Run! to create the new ISO
  6. Burn the ISO to a disc or make a bootable USB out of it.

This is what the ESXi-Customizer looks like for me.

ESXi-Customizer

I hope everything works out. Either way, let me know in the comments below!

50 thoughts on “How to add Intel NIC drivers to an ESXi 5.5 ISO

  1. hi Robert,

    First of all, let me thank you for the “How to” on installing the Intel NIC drivers. Life saver.

    I recently bought ASrock Z87 Extreme6 and I was trying to install ESXi 5.5, but every time I was trying to install, it came up with message “No network adapter found”, this is where I found you blog.

    I would like to use the other NIC – I211, have you managed to find the compiled version of the igb driver.

    Regards
    Jay

  2. Hello

    I have a motherboard with x7db8 Supermitsro. I can not find VIB network card driver Intel Pro 1000 EB. lspci command identifies the device as intel 80003es2lan.

    Help me find a driver please.

    • The onboard controller of that motherboard seems to be Intel 82563EB. According to Intel’s site, that controller uses the e1000e driver. Since the controller and motherboard is rather old, I’m surprised it isn’t supported by ESXi. I suggest you try to integrate the e1000e as I have described in the article and see if solves the issue.

      Good luck!

      Best Regards,
      Robert

  3. Hi Robert,

    for me the following thread in the VMWare boards has been an eye opener:
    https://communities.vmware.com/thread/454771

    I simply but into my custom ESXi ISO the official VIB of the newer igb driver 4.2.16.8 and the VIB of the unofficial community build for the net-e1000e driver 2.3.2.
    As it turns out any e1000e driver > 2.0 has support for the i217-V.

    So that worked for me. I dunno why it didn’t in your case. Maybe you can check on the exact device ids / vendor ids of the NICs.

    Cheers,
    Paul

    • Hi again Idstein,

      I got the chance to try the 4.2 version of the igb driver today. Customizing an original ESXi 5.5 ISO with only that package/VIB did not make the installer find any network controller.

      Can you please confirm that you have got the I211 NIC to work natively with ESXi? For me, it only shows up as a PCI-e device. I can pass it on to a VM and it works well, but I can not use it as a ESXi NIC and connect it to a vSwitch.

      Best Regards,
      Robert

      • I am also showing the i211 nic as pass through available but not use it as a ESXi NIC and connect it to a vSwitch. Any one have any pointers thanks

        • Hi Bob,

          Unfortunately, I have not been able to get it to work yet either. I’m not actively searching for a solution as of now, but if I find one I will post the information here.

          Best Regards,
          Robert

  4. Great job – thanks!
    Works perfect on Asrock Z87E-ITX. Now the only problem is getting passthrough for the onboard Lynx SATA controller.
    Regards,
    Aladdin

  5. Pingback: Setting up VMware ESXi – Part 1 | Daniel's blog

  6. This didn’t work for the new AsRock H97 with i218 intel. Any ideas where I can find the driver for this?

    Reading the description, i thought net-e1000e-2.3.2.x86_64.vib would also work with i218.. but it didn’t.

    thanks.

  7. Hi.
    I tried to install esxi5.5 on my new asus z97 deluxe, no nic.

    I used the e1000e 2.3.2 up there and the igb 5.2.5 directly from vmware. Both wont work.
    I started an ubuntu livedisc and checked if the nics will work

    -> i211 worked with igb 5.0.5
    -> i218-v worked with e1000e 2.3.2

    so… why is there a problem with esxi?

    • Great question and very good investigation.
      This got me thinking about some things I have read before regarding custom drivers and I did some more research into it. There are some files on the ESXi file system taking care of the mapping from PCI ID to what driver that should be used. Right now, I only have access to a ESXi 5.1 system so I will double check some of this stuff as soon as I get access to an ESXi 5.5.

      If you have the possibility to fire up that ubuntu machine again I’m very much interested in a “lspci -v” print out, and especially related to the Intel NICs. It will print out something like:
      # lspci -v | grep Network -A1
      00:00:19.0 Ethernet controller Network controller: Intel Corporation 82579LM Gigabit Network Connection [vmnic1]
      Class 0200: 8086:1502
      --
      00:03:00.0 Ethernet controller Network controller: Intel Corporation 82574L Gigabit Network Connection [vmnic0]
      Class 0200: 8086:10d3

      The second row is interesting because in ESXi it should have a mapping to what driver it should use.
      /etc/vmware/driver.map.d # grep 1502 *
      e1001e.map:regtype=linux,bus=pci,id=8086:1502 0000:0000,driver=e1001e,class=network

      and there should also exist an entry in /etc/vmware/pci.ids:
      /etc/vmware # grep 10d3 pci.ids
      10d3 82574L Gigabit Network Connection

      But if one is unable to install ESXi because of the NIC drivers one might not be able to edit those files. Also, I have no idea if this would really fix the problem but I will definitely check if this gets the second NIC working on ASRock Z87 Extreme6.

      Please let me know what the PCI IDs are on the ASUS Z97 Deluxe board!

  8. Hi Robert,

    sorry for the delay…
    Here is the output:

    00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V
    Subsystem: ASUSTeK Computer Inc. Device 85c4
    Flags: bus master, fast devsel, latency 0, IRQ 58
    Memory at dfa00000 (32-bit, non-prefetchable) [size=128K]
    Memory at dfa38000 (32-bit, non-prefetchable) [size=4K]
    I/O ports at f040 [size=32]
    Capabilities: [c8] Power Management version 2
    Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [e0] PCI Advanced Features
    Kernel driver in use: e1000e

    0a:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
    Subsystem: ASUSTeK Computer Inc. Device 85f0
    Flags: bus master, fast devsel, latency 0, IRQ 17
    Memory at df600000 (32-bit, non-prefetchable) [size=128K]
    I/O ports at b000 [size=32]
    Memory at df620000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
    Capabilities: [70] MSI-X: Enable+ Count=5 Masked-
    Capabilities: [a0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Device Serial Number 10-c3-7b-ff-ff-69-99-28
    Capabilities: [1a0] Transaction Processing Hints
    Kernel driver in use: igb

    0a:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
    Subsystem: ASUSTeK Computer Inc. Device 85f0
    Flags: bus master, fast devsel, latency 0, IRQ 17
    Memory at df600000 (32-bit, non-prefetchable) [size=128K]
    I/O ports at b000 [size=32]
    Memory at df620000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
    Capabilities: [70] MSI-X: Enable+ Count=5 Masked-
    Capabilities: [a0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Device Serial Number 10-c3-7b-ff-ff-69-99-28
    Capabilities: [1a0] Transaction Processing Hints
    Kernel driver in use: igb

  9. Any luck with this? I’ve tried the e1000e 2.3.2 VIB on Asrock Z97 Extreme4 (I218-V) and also unable to see NIC here. If it will help I can boot a live linux dvd and dump the PCI info.

  10. from Ubuntu Server 14.04 rescue mode, “lspci -v” on Asrock Z97 Extreme4

    00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V
    Subsystem: ASRock Incorporation Device 15a1
    Flags: bus master, fast devsel, latency 0, IRQ 57
    Memory at f7f00000 (32-bit, non-prefetchable) [size=128K]
    Memory at f7f3c000 (32-bit, non-prefetchable) [size=4K]
    I/O ports at f080 [size=32]
    Capabilities: [c8] Power Management version 2
    Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [e0] PCI Advanced Features
    Kernel driver in use: e1000e

    • Thank you very much for the information. Unfortunately, I do not have a board to actually test this out. Not to push you who have the this board, but if you have another supported NIC and the possibility to install ESXi and show what the output is from lspci. I am guessing wildly here, but it can have something to do with how the PCI device + vendor is mapped to a specific driver, igb/e100*, and in turn how/if the correct driver is then loaded.

  11. I have esxi 5.5 installed after adding vibs for sata and e1000e (2.3.2). The 15a1 device ID was not present in the e1000e drivers, so I also created a VIB to add them (per the procedure linked from your blog).

    At this time I can see the NIC in lspci but its not visible from ESXi user interface or esxcfg-nic (possibly the e1000e driver isn’t loading for it?).

    Here’s the NIC output from lspci -v:

    0000:00:19.0 Ethernet controller Network controller: Intel Corporation Ethernet Connection I218-V [vmnic0]
    Class 0200: 8086:15a1

    0000:04:00.0 Ethernet controller Network controller: Intel Corporation 82574L Gigabit Network Connection [vmnic1]
    Class 0200: 8086:10d3

    Here’s the NIC output from lspci -p:

    Segm:Bu:De.F Vend:Dvid Subv:Subd ISA/irq/Vect P M Module Name
    Spawned bus
    0000:00:19.0 8086:15a1 1849:15a1 5/ 5/0x2e A V vmklinux_9 vmnic0
    0000:04:00.0 8086:10d3 8086:a01f 10/ 10/0x30 A V e1000e vmnic1

    /etc/vmware # lspci -p
    Segm:Bu:De.F Vend:Dvid Subv:Subd ISA/irq/Vect P M Module Name
    Spawned bus
    0000:00:00.0 8086:0c00 1849:0c00 V
    0000:00:02.0 8086:0412 1849:0412 11/ 11/0x2d A V
    0000:00:03.0 8086:0c0c 1849:0c0c 11/ 11/0x2d A V
    0000:00:14.0 8086:8cb1 1849:8cb1 11/ 11/0x2d A V vmklinux_9
    0000:00:16.0 8086:8cba 1849:8cba 11/ 11/0x2d A V
    0000:00:19.0 8086:15a1 1849:15a1 5/ 5/0x2e A V vmklinux_9 vmnic0
    0000:00:1a.0 8086:8cad 1849:8cad 11/ 11/0x2d A V ehci-hcd
    0000:00:1b.0 8086:8ca0 1849:1151 3/ 3/0x2f A V
    0000:00:1c.0 8086:8c90 0000:0000 11/ 11/0x2d A V PCIe RP[0000:00:1c.0]
    01
    0000:00:1c.3 8086:8c96 0000:0000 10/ 10/0x30 D V PCIe RP[0000:00:1c.3]
    02
    0000:00:1c.6 8086:8c9c 0000:0000 11/ 11/0x31 C V PCIe RP[0000:00:1c.6]
    03
    0000:00:1c.7 8086:8c9e 0000:0000 10/ 10/0x30 D V PCIe RP[0000:00:1c.7]
    04
    0000:00:1d.0 8086:8ca6 1849:8ca6 10/ 10/0x32 A V ehci-hcd
    0000:00:1f.0 8086:8cc4 1849:8cc4 V
    0000:00:1f.2 8086:8c82 1849:8c82 10/ 10/0x30 B V ahci vmhba0
    0000:00:1f.3 8086:8ca2 1849:8ca2 11/ / C V
    0000:02:00.0 1b21:0612 1849:0612 10/ 10/0x30 A V ahci vmhba1
    0000:03:00.0 1b21:1142 1849:1142 11/ 11/0x31 A V vmklinux_9
    0000:04:00.0 8086:10d3 8086:a01f 10/ 10/0x30 A V e1000e vmnic1
    /etc/vmware #

    Here’s the NIC output from esxcfg-nics -l:

    /etc/vmware # esxcfg-nics -l
    Name PCI Driver Link Speed Duplex MAC Address MTU Description
    vmnic1 0000:04:00.00 e1000e Up 1000Mbps Full 00:1b:21:b5:4d:94 1500 Intel Corporation 82574L Gigabit Network Connection

    It seems like adding the device ID to the following files in updated VIB helped make the device more visible but I must be missing something important which is preventing it from utilizing the e1000e driver:

    /etc/vmware/driver.map.d/e1000e.map
    added:
    regtype=linux,bus=pci,id=8086:15a1 0000:0000,driver=e1000e,class=network

    /usr/share/hwdata/driver.pciids.d/e1000e.ids
    added:
    15a1 Ethernet Connection I218-V

    Any ideas what to do next?

    Thank you,

    -Dan

  12. Pingback: esxi 5.x Intel e1001e Netzwerkkarten Treiber | Bevor ichs vergesse

  13. Hi,
    I am new to VMware ESXi server, I try to install VMware-VMvisor-Installer-5.5.0.update01-1623387.x86_64 in intel DZ75ML-45k, Intel(R) 82579V Gigabit Network Connection, Every time it show the error “Physically Network Adapter Not Connected……’ and i try ESXi-Customizer too with many variant of .vib file, .tgz and offline_bundle But i can’t install the ESXi server, Pl anyone help me.. Thanks in advance…..

  14. Help please.. I have a Asus z97 pro wifi mother board and when I load VMWare 5.5 I get a “No Network found” error and it stops loading. I tried a building a Custom 5.5 install iso but so far.. I haven’t found the right xxxx.vib file to add to the install. Love to see this work. Thanks ! Kevin

  15. Pingback: CS24-SC, ESXi, and the Intel 82573V NIC - Kill -9 MeKill -9 Me

  16. Thank you for this post. It worked perfectly for a whitebox ASRock Z87 Extreme4 / I217-V . I was unsuccessful with the direct tar.gz from intel but the e1000 vib from the japanese blog linked above worked like a charm.

  17. I can’t thank you enough for the vib files, I would have spent a full day figuring this stuff out myself. I wish I could pay you back with a beer or something.

    Appreciated man, if I could offer any help in anyway send me an email (Software/Computer Engineer here)

    Thanks
    -Derek

  18. This tutorial worked for installing ESXi 5.5 Update 2 with the correct Network drivers on my DELL Latitude e6410 Laptop

    Thanks !!

    -Scott

  19. Hi Robert,

    I was wondering if you could provide any help for intel i211 nic on a Shuttle DS57U unit. I read through this blog many times including the comments. I thought maybe you were onto something earlier with the comment about ” mapping from PCI ID to what driver that should be used”. The DS57U has two nics and the second being i218-LM, and that is working so I can run and try any commands if your able to provide any pointers?

    The hardware compatibility guide shows both of these nics as having drivers in esxi 6, yet the i211 nic is not available and only appears as a passthrough option .
    I211 compatibility:
    http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=37601&deviceCategory=io&details=1&releases=273&keyword=i211&deviceTypes=6&VID=8086&DID=1539&page=1&display_interval=10&sortColumn=Partner&sortOrder=Asc
    I218-LM compatibility:
    http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=37653&deviceCategory=io&details=1&keyword=i21&page=1&display_interval=10&sortColumn=Partner&sortOrder=Asc

    Below is one of the outputs I have tried from reading a suggestion above.

    [root@pfSense:~] lspci -v | grep Network -A1
    0000:00:19.0 Ethernet controller Network controller: Intel Corporation Ethernet Connection (3) I218-LM [vmnic0]
    Class 0200: 8086:15a2

    0000:02:00.0 Ethernet controller Network controller: Intel Corporation I211 Giga bit Network Connection [vmnic1]
    Class 0200: 8086:1539

    0000:03:00.0 Network controller Network controller:
    Class 0280: 10ec:8179

  20. Pingback: The Creation of the Nexus Lab | Nathan's Nexus

  21. Nice Article. I have followed your instructions and customized iso but 5.5 still gives network card error. I have Intel network connection (2) 1218-v on Asrock H97 Pro motherboard. Any idea how to fix this issue to install esxi 5.5? Thanks

  22. Hi Sir,
    i am new to this. please guide me how do we add a new NIC Rtl 8139/810 family. i am trying to find out the vib file of this driver but i couldn’t. please guide.

  23. Pingback: How to make your unsupported NIC work with ESXi | Ricardo Lucas Blog

  24. I’m using a lenovo T420 with Intel(R)_Core(TM)_i5-2520M_CPU_@_2.50GHz board and Intel(R) 82579LM Gigabit Network Connection as the onboard NIC.

    Can i follow this same process as i’m getting the same error “No Network Adapater Detected” or include the driver for Intel(R) 82579LM in the ISO rather than the net-e1000?

Leave a Reply

Your email address will not be published. Required fields are marked *