This guide will enable your Intel addon NIC (EXPI9301CT) to fully support the Apple drivers and behave like a native Apple NIC. I wanted a solution for my trusted Intel NIC without having to use any third party kexts to get it working and also wanted it to be fully UEFI compatible. So I researched a little and would like to share my results in this short guide.
Caution: This guide will only work for Intel Desktop CT NICs with PCI device ID 10D3. Also I only used OSX Yosemite to verify the results, but it should work in Mavericks, too.
1) Optional: Remove third party kext for the NIC
Please remove any other third party kext you may have installed for your Intel NIC. We do not want any conflicts here later on.
2) Create a bootable DOS USB drive
I used Rufus Boot USB Disk with an Image of Win98 DOS bootfiles to create it under Windows. The original ISO for the Win98 DOS Boot files can be found here http://goo.gl/WOaQi (Windows 98 DOS Boot). Any other DOS compatible Boot environment should work, too.
3) Download Intel Preboot files
PREBOOT.EXE from http://goo.gl/ppSRzo
4) Copy the necessary files to the USB drive
Extract the the download and copy the following files the bootable DOS USB drive
Copy BOOTIMG.FLB from PREBOOT\APPS\BootUtil Copy BootUtil.EXE from PREBOOT\APPS\BootUtil\DOS
5) Restart and boot from the USB-Stick
You will temporarily have to change the UEFI-BIOS settings to be able to boot from a DOS environment.
I had to set the following options:
Legacy USB = Enable SecureBoot = Other FastBoot = Off
6) Flash the NIC with EFI-ROM
After Booting from the DOS USB drive please use the following commands in the given order.
Backup the original ROM
BootUtil -SAVEIMAGE -FILE=Backup.FLB
Enable flash write capability on NIC
BootUtil -FE -ALL
Update NIC with EFI-ROM
BootUtil -UP=EFI -ALL -FILE=BOOTIMG.FLB
7) Change PCI device ID with ethtool
Congratulations, your Intel NIC is now UEFI compatible and should already show up in your UEFI BIOS. We now will have to change the device ID from the NIC, so that OSX can use the native driver. Boot from a Linux Live Boot environment (e.g. Ubuntu) and change the PCI device ID from 10D3 to 10F6 with ethtool. Please ensure your Intel NIC is eth0. We do not want to patch any other NICs by mistake.
sudo -s apt-get install ethtool ethtool -E eth0 magic 0x10D38086 offset 0x16 value 0x00 ethtool -E eth0 magic 0x10D38086 offset 0x17 value 0x00 ethtool -E eth0 magic 0x10D38086 offset 0x1A value 0xF6
8) Start OSX and enjoy your native Apple Intel NIC
Reboot and don't forget to change the UEFI-Settings back from step 4 to their original values. After this you can start OSX and the NIC should be recognized. Windows will pick up the NIC without any problems, so no worries if you want to switch back to Windows sometime later on.
Disclaimer: Please note, this procedure solved a very specific problem for me and the guide is certainly not perfect. I do not take any responsibility for anything that may go wrong if you follow it. I hope this guide may be useful for someone and please feel free to give any suggestions that may improve it.