[HOW-TO] Force Windows 8 network driver to install under Windows Server 2012

Discussion in 'Intel MoBos' started by JoeSchmoe007, Jul 16, 2013.

  1. JoeSchmoe007

    JoeSchmoe007 n00bie

    Messages:
    29
    Joined:
    Sep 21, 2011
    After installing Windows Server 2012 trial on my new system built around Asus Z87-Plus motherboard I found that all Windows 8 drivers worked except the network. When setup for network drivers was run it could not find any known network adapters.

    After doing some research on the subject, it turned out that manufacturers sometimes disable network support for certain operating systems in .INF files even though the drivers may work just fine. There can be multiple reasons for this but the one I think most likely is they just don’t want to support more operating systems than they have to.

    Thankfully, in some cases it is possible to modify .INF file to force network driver to work in OS for which manufacturer didn’t enable it.

    YOU ARE TRYING THIS ON YOUR OWN RISK! DO NOT BLAME ME IF THIS MAKES YOUR OS INOPERABLE/UNBOOTABLE! DO NOT USE THIS APPROACH ON PRODUCTION SYSTEMS!

    The source of information for this guide was this page (for a different network card): http://www.ivobeerens.nl/2012/08/08/enable-the-intel-82579v-nic-in-windows-server-2012/ that in turned used this one: http://homeservershow.com/forums/in...-ud5h-and-other-motherboards-with-server-oss/ - so these people get most of the credit.

    I will describe how to make Windows 8 driver for Intel® Ethernet Connection I217-V (on-board network adapter on my Z87-Plus motherboard) work in Windows 2012. This approach can be modified for other hardware.

    1) Download network drivers for Windows 8. In my case I prefer drivers directly from Intel if available. Here is how to get them for Asus Z87-Plus:
    a. Go to https://downloadcenter.intel.com/default.aspx
    b. Select "Desktop Boards" for Product Family
    c. Select "Intel 8 Series Chipset Boards" for product line
    d. Select "Intel Desktop Board DZ87KLT-75K" for Product name
    e. Press "Find"
    f. Select “Windows 8, 64-bit” Operating System. This will narrow down the list to the subset for your OS.
    g. Click on “LAN: Intel® Gigabit Ethernet Controller driver for Windows 8 (as of now direct link is https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=22862&lang=eng)
    h. Download the driver for Windows 8 64-bit (PROWin8_64_18.3.exe as of now but it may change as Intel publishes updated drivers)

    2) Executable you just downloaded is self-extracted .ZIP archive. Extract it using 7-Zip (or other archiver). If you just run it will most likely extract to some temporary folder and start driver installer – this is not what you want now.

    3) At this point you need to know exact network card name. In my case I already had drivers for Windows 7 x-64 installed and via Device Manager network card was identified as Intel® Ethernet Connection I217-V.

    4) Search using Windows Explorer (or any other utility) for your network card name in the folder where extracted network driver setup is located. In my case I searched for “i217-V” (no quotes).

    5) It is possible that more than one .INF file will be found – in my case there were 2. First was called e1d62x64.inf, located in PRO1000\Winx64\NDIS62 and second was called e1d63x64.inf, located in PRO1000\Winx64\NDIS63 folder. We are interested in the second one. Why? Because NDIS63 folder is for Windows 8/2012, NDIS62 is for Windows 7/2008 R2 and NDIS61 is for Windows Vista/2008 (I can’t recall where I found it but this seems to be general designation). To confirm this is the one we want open e1d63x64.inf in editor and in the beginning of the file right after Intel copyright there are lines (in this case they start at line 27):

    ; e1d63x64.INF (Intel 64 bit extension Platform Only,
    ; Windows 8 64 bit extension)

    So we know we are looking at the right file. The area of interest where we will make changes looks like this in original INF file (lines 46-77 in my case):


    [ControlFlags]
    ExcludeFromSelect = \
    PCI\VEN_8086&DEV_153A,\
    PCI\VEN_8086&DEV_153B

    [Intel]

    [Intel.NTamd64.6.2.1]
    ; DisplayName Section DeviceID
    ; ----------- ------- --------
    %E153ANC.DeviceDesc% = E153A.6.2.1, PCI\VEN_8086&DEV_153A
    %E153ANC.DeviceDesc% = E153A.6.2.1, PCI\VEN_8086&DEV_153A&SUBSYS_00008086
    %E153ANC.DeviceDesc% = E153A.6.2.1, PCI\VEN_8086&DEV_153A&SUBSYS_00011179
    %E153BNC.DeviceDesc% = E153B.6.2.1, PCI\VEN_8086&DEV_153B
    %E153BNC.DeviceDesc% = E153B.6.2.1, PCI\VEN_8086&DEV_153B&SUBSYS_00008086
    %E153BNC.DeviceDesc% = E153B.6.2.1, PCI\VEN_8086&DEV_153B&SUBSYS_00011179
    %E155ANC.DeviceDesc% = E155A.6.2.1, PCI\VEN_8086&DEV_155A
    %E155ANC.DeviceDesc% = E155A.6.2.1, PCI\VEN_8086&DEV_155A&SUBSYS_00008086
    %E155ANC.DeviceDesc% = E155A.6.2.1, PCI\VEN_8086&DEV_155A&SUBSYS_00011179
    %E1559NC.DeviceDesc% = E1559.6.2.1, PCI\VEN_8086&DEV_1559
    %E1559NC.DeviceDesc% = E1559.6.2.1, PCI\VEN_8086&DEV_1559&SUBSYS_00008086
    %E1559NC.DeviceDesc% = E1559.6.2.1, PCI\VEN_8086&DEV_1559&SUBSYS_00011179

    [Intel.NTamd64.6.2]
    ; DisplayName Section DeviceID
    ; ----------- ------- --------
    %E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A
    %E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00008086
    %E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00011179
    %E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A
    %E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00008086
    %E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00011179

    6) Find [ControlFlags] section in the .INF file. In my case it looks like this:

    [ControlFlags]
    ExcludeFromSelect = \
    PCI\VEN_8086&DEV_153A,\
    PCI\VEN_8086&DEV_153B​


    Because these lines are there your network adapter is not detected by installer. First guide I linked to suggest deleting these lines. I recommend commenting them out so that this section looks like this:

    [ControlFlags]
    ;ExcludeFromSelect = \
    ; PCI\VEN_8086&DEV_153A,\
    ; PCI\VEN_8086&DEV_153B​


    7) Now from the first guide I linked to we know we need to copy some lines from [Intel.NTamd64.6.2.1] section (Windows 8) to [Intel.NTamd64.6.2] section (Windows Server 2012). But which lines do we need to copy? As you can see in this case there are 4 different sections referred in [Intel.NTamd64.6.2.1] section: E153A.6.2.1 (3 lines), E153B.6.2.1 (3 lines), E155A.6.2.1 (3 lines) and E1559.6.2.1 (3 lines). In order to find out which one you need we search for i217-V within .INF file. The first match brings us to [E153B.6.2.1], so these are the lines we need to copy.

    To sum it up:

    [Intel.NTamd64.6.2] originally looked like this:

    [Intel.NTamd64.6.2]
    ; DisplayName Section DeviceID
    ; ----------- ------- --------
    %E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A
    %E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00008086
    %E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00011179
    %E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A
    %E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00008086
    %E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00011179

    After changes it will look like this (3 lines added at the bottom):

    [Intel.NTamd64.6.2]
    ; DisplayName Section DeviceID
    ; ----------- ------- --------
    %E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A
    %E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00008086
    %E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00011179
    %E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A
    %E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00008086
    %E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00011179
    %E153BNC.DeviceDesc% = E153B.6.2.1, PCI\VEN_8086&DEV_153B
    %E153BNC.DeviceDesc% = E153B.6.2.1, PCI\VEN_8086&DEV_153B&SUBSYS_00008086
    %E153BNC.DeviceDesc% = E153B.6.2.1, PCI\VEN_8086&DEV_153B&SUBSYS_00011179


    Save this updated .INF file.

    I am not allowed to post attachments so I have to link to this screenshot inline. Sorry that it makes post so wide but I really wanted for everything I changed to be visible.

    [​IMG]

    8) Disable the driver integrity checks and enable test signing by using the following commands at the command prompt:

    bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
    bcdedit -set TESTSIGNING ON

    9) Reboot for these commands to become effective

    10) Run installer for network drivers (in my case it was APPS\PROSETDX\Winx64\DxSetup.exe - Intel Network Connection Install Wizard).

    At some point you will receive Windows Security Dialog saying "Windows can't verify the publisher of this driver software" - select "install this driver anyway”.
    If everything goes as planned after installer completes you will have network driver installed and your network connection will be working.

    Alternatively you can try to install driver via Device Manager by pointing it to the folder with modified .INF file but I found that this method doesn’t install some Intel-specific components.

    11) Enable the driver integrity checks and disable test signing again by using the following commands at the command prompt:

    bcdedit -set loadoptions ENABLE_INTEGRITY_CHECKS
    bcdedit -set TESTSIGNING OFF​


    12) Reboot for these commands to become effective

    You are done.
     
    Last edited: Jul 16, 2013
  2. jayhopeishere

    jayhopeishere n00bie

    Messages:
    10
    Joined:
    Jun 25, 2013
    Thank you for this post. A month ago I tried for 3 days to get my i217V nic working but was unsuccessful. I used the same 2 sites that you linked but I think I didn't follow all of the steps. I believe my problem was I was running the wrong setup executable file. I tried to run setupBD executable instead of the dxsetup executable. I tried all of your steps and now it is working.
     
    Last edited: Jul 23, 2013
  3. clemenslinders

    clemenslinders n00bie

    Messages:
    1
    Joined:
    Jul 31, 2014
    I have the Asrock Z87 Extreme 11/ac and I am trying to install Windows server 2012R2.

    I did not download any drivers from Intel, I simply used the CD that was provided with the mainboard. This CD also contains the file that needs to be changed.

    I started out doing exactly what is described here and it didn't work for me. The setup program still reported that it couldn't find ant correct Intel Network card.

    Than I had another look at the content of the CD and compared that with what was mentioned here.

    Here they speak of NDIS62 and NDIS63. My CD however also contains NDIS64 and as I am not installing Windows Server 2012 but Windows Server 2012 R2, I decided to have a look at NDIS64.

    NDIS64 also contains an almost identical file called: e1d64x64.inf

    The part that needs to be excluded by placing ; is exactly the same.

    In the three lines that need to be added I changed 6.2.1 into 6.3.1 (you can see in the section straight above that Intel uses that there themselves).
    Also note that the title where you need to add these lines has now become: [Intel.NTamd64.6.3]

    I tried again to setup the drivers for both my network cards (this mainboard has 2 network cards).

    I went to device management, clicked on one of my network cards and pointed the folder to NDIS64 where I had made this change.

    And it found it and installed the driver.

    I also tried this for the second network card, but no luck there. Apperently it's name is slightly different and perhaps I would have to alter another file for that.

    But as I have no need for a second network card, I don't care.

    I read some stuff on the internet and apperently installing drivers can be difficult for Windows Server 2012 R2. It also appears that chip makers like Intel have a special version of this Z87 chipset which they deem fit for servers.

    But I must say who are they to tell me what to use or not to use in my server.

    And by the way it is not as if I picked the first and cheapest mainboard to be used in this server. It costed more than 400 euro's, it can handle up to 22 hard drives, it has an integrated SAS controller and it has active cooling.

    I blame both Intel and Asrock for this problem. Intel should of course make drivers for this chipset for Windows Server 2012 and Asrock should not use this chipset unless it would support all recent MS operating systems.

    But that is my view on the matter, you may agree or not. In the past this never was an issue. I hate it when I have to jump through twenty different hoops in order to get something working, but at least I can now use the system without having to buy a network card that is supported by Windows Server 2012R2.

    I still have some items that are not fully supported, but everything that I need seems to be working OK.

    Hope that I helped someone by leaving this post here.


    Greetings Clemens Linders.
     
  4. bigdogchris

    bigdogchris Wii was a Novelty

    Messages:
    16,871
    Joined:
    Feb 19, 2008
    Often times you can use have disk and select the driver, even if the INF doesn't match, and force it.
     
  5. laraan

    laraan n00bie

    Messages:
    1
    Joined:
    Jan 25, 2015
    This is kind of an old thread, but just a quick thx for the tip how do force the intel driver to work with win server.

    If other people see this, just a quick headsup.

    1.Looking for the HWID.
    Get into your DeviceManager and look for the Hardware ID. It should similar(but not identical!) look like this
    "PCI\VEN_8086&DEV_153B"

    2. Searching for the file to modify.
    To know which file exactly to modify i used Powershell:
    Open Powershell in the directory which contains the drivers and type in.

    Get-ChildItem -recurse | Select-String -pattern "PCI\VEN_8086&DEV_153B" | group path | select name

    3. Select the path where the path of the .inf file and the filename fits your system.

    NDIS stands for Network Driver Interface Specification and the followed number is the Version of the Operating system.

    6.1 for Vista SP1
    6.2 for Win 7
    6.3 for Win 8
    6.4 for Win 8.1 (srv 2012 R2)

    So the file e1d62x64.inf PRO1000\Winx64\NDIS62 from the original poster is a windows 7 File for a 64 bit system.
    To modify the file, follow the guide of the original post. it worked for me on a 97 and a 68 chip.

    So thx again to JoeSchmoe007 who saved me from buying an additional intel nic
     
    Last edited: Jan 27, 2015