Intel I218V and Intel I211-AT driver solution for Windows Server 2012 R2



 Its appears to be a common problem with this network adapters and server versions of Windows. This post solves problem with Server 2012R2, but it can be used for other versions of Windows Server i.e 2008, 2008R2, 2012 and 2016.

There are now official drivers for Intel I211-AT and Intel I218V. But there are drivers for same adapters with different letter indexes. Idea is simple - Intel separates chips for desktop and server versions, forcing  to setup more expensive versions of this chips for servers. I`m not sure if there any serious difference, but  Asus  use desktop versions for their motherboards since they targets for desktop segment. So its incorrect to blame Asus for not supporting Server versions of Windows on support page.
At the same time many users would like to install Windows  server  OS on their Asus motherboards. Funny situation - Gigabyte uses cheap Realtek network adapters on their motherboards and have no problems. But Intel adapters are more powerful.


The solution is to edit information in description part of  .inf files of original Intel drivers , so to make installer determine this drivers as server version. So, in future , you can  
download drivers from Intel site for your Ethernet and manually fix .inf files to have most recent versions that works with your server.


Solution for I218V can be found on many sites , but I211-AT no so popular but solution is about the same. First of all, after you finish installing Windows Server 2012R2  , prepare your drivers archive (you can download them from Asus or Intel site, you have to download drivers for Windows 8.1 if you plan to use on Server 2012R2).
    Unpack the archive you will have to find folder \Intel\PRO1000\Winx64\NDIS64.
Btw, NDIS64 means version of Windows - 6.4 = Windows Blue (8.0, 8.1 etc) including Server 2012R2. So NDIS63 and NDiS62 for previous versions of Windows and Windows Servers. For Windows Server 2008R2 you will need folder NDIS62 (correct me if I am wrong).

There you need  to edit .inf files (depends on card you have or both).
e1r64x64.inf  is for I211-AT network adapter
e1d64x64.inf is for  I218V network adapter

Open this e1r64x64.inf  in text editor and lets start:
1) Under the heading [Intel.NTamd64.6.3.1] copy this line (It should be at the bottom of this section);
%E1539NC.DeviceDesc% = E1539.6.3.1, PCI\VEN_8086&DEV_1539

 2) Paste the line we copied above under the heading [Intel.NTamd64.6.3] and remove the 6.3.1, so your line of text should look like this;
%E1539NC.DeviceDesc% = E1539, PCI\VEN_8086&DEV_1539

 3) Go down to "WINDOWS BLUE for 64-bit EXTENDED PLATFORMS" and look for the Intel(R) I211 Gigabit Network Connection section and copy the 4 sections starting with E1539.

 4) Scroll down to "WINDOWS Server Next for 64-bit EXTENDED PLATFORMS" and paste in the 4 sections and as earlier remove the 6.3.1 from the E1539.6.3.1 at the beginning of each section. It should then look like this;

 [E1539]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType = 5 ; PCI
DelReg = Advanced.DelReg
AddReg = e1r.reg, TcpSeg.reg, ReduceSpeedOnPowerDown.reg, JumboPacket.reg
AddReg = EnableWakeOnManagmentOnTCO.reg
AddReg = Copper.reg, Copper1000.reg
AddReg = Powermgmt.reg, WakeOnSlot.reg, WakeOnLink.reg
AddReg = LLI.reg
AddReg = RSS.reg, RSS2Q.reg
AddReg = EEE.reg
AddReg = ProtocolOffload.reg
AddReg = UninstallW2.reg
CopyFiles = win7.CopyFiles, UninstallProg.CopyFiles
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD
*MediaType = 0 ; NdisMedium802_3
*PhysicalMediaType = 14 ; NdisPhysicalMedium802_3

[E1539.Services]
AddService = e1rexpress, 2, win7.Service, win7.EventLog

[E1539.CoInstallers]
AddReg = CoInstaller_AddReg, CoInKS.reg
CopyFiles = CoInstaller_CopyFiles

[E1539.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSIX3.reg


Now you can save the edited .inf file. Now  e1d64x64.inf file (I218-V):

  1. Edit the PRO1000\Winx64\NDIS64\e1d64x64.inf
  2. Remove all 3 Lines of the Section [ControlFlags]
  3. In Section [Intel.NTamd64.6.3.1] copy the last 8 lines and add them to the bottom of Section [Intel.NTamd64.6.3]                
Check how your file will look like: 
 
 
[Manufacturer]
%Intel% = Intel, NTamd64.6.3, NTamd64.6.3.1

[ControlFlags]

[Intel]

[Intel.NTamd64.6.3.1]
; DisplayName Section DeviceID
; ———– ——- ——–
%E153ANC.DeviceDesc% = E153A.6.3.1, PCI\VEN_8086&DEV_153A
%E153ANC.DeviceDesc% = E153A.6.3.1, PCI\VEN_8086&DEV_153A&SUBSYS_00008086
%E153ANC.DeviceDesc% = E153A.6.3.1, PCI\VEN_8086&DEV_153A&SUBSYS_00011179
%E153BNC.DeviceDesc% = E153B.6.3.1, PCI\VEN_8086&DEV_153B
%E153BNC.DeviceDesc% = E153B.6.3.1, PCI\VEN_8086&DEV_153B&SUBSYS_00008086
%E153BNC.DeviceDesc% = E153B.6.3.1, PCI\VEN_8086&DEV_153B&SUBSYS_00011179
%E155ANC.DeviceDesc% = E155A.6.3.1, PCI\VEN_8086&DEV_155A
%E155ANC.DeviceDesc% = E155A.6.3.1, PCI\VEN_8086&DEV_155A&SUBSYS_00008086
%E155ANC.DeviceDesc% = E155A.6.3.1, PCI\VEN_8086&DEV_155A&SUBSYS_00011179
%E155ANC.DeviceDesc% = E155A.6.3.1, PCI\VEN_8086&DEV_155A&SUBSYS_90BA104D
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_00008086
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_00011179
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_90BA104D
%E15A0NC.DeviceDesc% = E15A0.6.3.1, PCI\VEN_8086&DEV_15A0
%E15A0NC.DeviceDesc% = E15A0.6.3.1, PCI\VEN_8086&DEV_15A0&SUBSYS_00008086
%E15A1NC.DeviceDesc% = E15A1.6.3.1, PCI\VEN_8086&DEV_15A1
%E15A1NC.DeviceDesc% = E15A1.6.3.1, PCI\VEN_8086&DEV_15A1&SUBSYS_00008086

[Intel.NTamd64.6.3]
; 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
%E15A0NC.DeviceDesc% = E15A0, PCI\VEN_8086&DEV_15A0
%E15A0NC.DeviceDesc% = E15A0, PCI\VEN_8086&DEV_15A0&SUBSYS_00008086
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_00008086
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_00011179
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_90BA104D
%E15A0NC.DeviceDesc% = E15A0.6.3.1, PCI\VEN_8086&DEV_15A0
%E15A0NC.DeviceDesc% = E15A0.6.3.1, PCI\VEN_8086&DEV_15A0&SUBSYS_00008086
%E15A1NC.DeviceDesc% = E15A1.6.3.1, PCI\VEN_8086&DEV_15A1
%E15A1NC.DeviceDesc% = E15A1.6.3.1, PCI\VEN_8086&DEV_15A1&SUBSYS_00008086


Also save edited files
So now you have your drivers prepared !
Few steps before installing:

Start  cmd with Admin rights and do commands:

bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS 
bcdedit -set TESTSIGNING ON

Then - reboot server.

If you get message that boot options could not be changes because of Secure boot, you need to reboot to BIOS and turn off Security boot (CMS in Boot section of BIOS if you have Asus board). Don`t worry you will be able to enable it back after all.

After reboot you you see text "Test mode" in the bottom right corner.
Now you can install your drivers starting Autorun.exe from drivers folder and install as usual, but you will be warned that drivers are not signed - Install anyway .





After you successfully finish the installation process - you will get both network adapters work !

Don`t forget to turn off test mode start again cmd with Admin rights and do

 bcdedit -set loadoptions ENABLE_INTEGRITY_CHECKS 
 bcdedit -set TESTSIGNING OFF

 Enjoy !!














 Thanks for the information overclockers.co.uk and many other people who sharing information to solve this "problem" !



Comments

Unknown said…
Hi,

for I218-V you wrote: "copy the last 6 lines".

But when yo look to your picture at [Intel.NTamd64.6.3] you will realise, that the last 8 lines have been copied and pasted!

So, what's right? Last 6 or last 8 lines?

Martin
Atomic Tiger said…
yes, correct - 8 lines . Thanks for pointing.
That Guy said…
couldnt get it to work

any chance you can send the files
Unknown said…
Hi, thanks for the guide!

One question though, do you know if the NDIS64 Driver works with 2016 Servers (specificially Hyper-V Server 2016)? I know it says in the top of your guide but wikipedia says 2016 Server OSs need NDIS66.

I could not find a NDIS66 Version for i211-AT, would it be better to use atlest NDIS65? NDIS65 is missing the [Intel.NTamd64.6.3] part...

Best Regards
Unknown said…
NDIS66 must be a typo. NDIS65 works fine for Windows Server 2016. The info sections are [Intel.NTamd64.10.0.1] and [Intel.NTamd64.10.0], and in my case, %E1539NC.DeviceDesc% = E1539.10.0.1, PCI\VEN_8086&DEV_15B8
Unknown said…
Thanks for this. I was able to get the driver loaded up on a MSI X370 Carbon motherboard with a Ryzen 1600 on board. Still going through the configuration routine, but chooching along pretty good.
gibsonherry said…
I appreciate this blog to share knowledge about this important topic. Here I found different segments and now I am going to use these new tips with new enthusiasm.
Dell Network X Series POE
Unknown said…
It's really amazing and very easy to understand. I think it's helpful for everyone. Thanks for sharing.
Unknown said…
This no longer works. What version of the driver are you using?
Unknown said…
I was able to determine I am running Server 2012 not 2012 R2 so I needed to edit from \NDIS63

Popular posts from this blog

Asus Z97 Deluxe - its problems and hidden traps

How to choose printer for everyday use ? Information for customers who going to buy printer but hard to choose the right one.