Jump to content
maroder

[GUIDE] Native Intel CT NIC 82574L (UEFI, FastBoot)

5 posts in this topic

Recommended Posts

Hi there,

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 :thumbsup_anim:
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.

Cheers,
Maroder

Share this post


Link to post
Share on other sites
Advertisement

I noticed that your update command is up=efi but there is also an option for up=efi64.  Do you know anything about this and is this applicable to a new sierra installation?

Share this post


Link to post
Share on other sites

At 0x16 and 0x17, he is writing 0x00 -- to zero out the PCI Subsystem Device ID, matching the 82574L on the MacPro4,1 and MacPro5,1 so that the vanilla driver picks it up.

 

I ignored the whole EFI-ROM flashing bit, and went straight for ethtool.  This worked fine for me on both BIOS and uEFI Hackintoshes -- I have not tried on a real Mac Pro.

 

Not only did it work on both of my EXPI9301CT cards, it also worked with the onboard 82574L on an Intel DX79SI motherboard.

 

I moved onto a HP Z820 workstation which has an 82574L onboard, and that wasn't quite as easy.  After modifying the first three values, the NIC still failed to show up in Mojave or High Sierra.  I flipped back to Linux, ran "lspci -nn -vv | less", located the 82574L and lo and behold, HP changed the PCI Subsystem Vendor ID from Intel to their own!   I dumped the ROM (ethtool -e eth0 | less) and looked for the PCI Subsystem Vendor ID, expecting to find it next to the Device ID.  And so it was.  Two additional value replacements are therefore required for vanilla operation in macOS:

 

ethtool -E eth0 magic 0x10D38086 offset 0x18 value 0x86
ethtool -E eth0 magic 0x10D38086 offset 0x19 value 0x80

 

I don't endorse or recommend that you do this to YOUR onboard 82574Ls... but it's working great for me!

Edited by feckn_eejit

Share this post


Link to post
Share on other sites

This is an absolute wonder of a post.

Thanks OP!

 

Got my adapter a few days ago and modified it. Before this I always had troubles logging into iCloud and iTunes during initial os config or get iMessage and FaceTime to work properly. 

 

Thank you! 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Depok
      I have successfully installed Catalina but unfortunately my Ethernet not working. I have tried RealtekRTL8111-V2.2.2 because my Motherboard LAN is Realtek® GbE LAN chip (10/100/1000 Mbit).

      I also tried to install WiFi USB drive and it's working but not stable. It's connecting but after sometime net connection not working whether WiFi still connected.

      Please help me to get a stable net connection. If anyone gives me the solution then I will give you $10 as a gift. Please help me i need it badly.

      Motherboard Specification: https://www.gigabyte.com/bd/Motherboard/GA-B250M-D2V-rev-10/sp#sp
    • By kingoffright
      Dear all,
       
      I have a external harddisk about 500GB, I installed the clover into it and the harddisk is GPT format, below is the 3 partitions details:
      FS01: EFI - disk0s1 - fat32
      FS02: install mac  image - disk0s2 -  hfs+
      FS03: install windows 10 - disk0s3 - fat32
       
      I can use this external harddisk to install Mac without issue, I use below steps to install windows 10
      enter the FS03:
      cd to efi/boot/ and excuete bootx64.efi
      after pop up the windows install screen, i click next and it shows error 'A media driver your computer needs is missing...' and the installation can not go any further.
      Firstly I use ultraiso to write the windows 10 image to a flash disk and no issue to start install window 10 so the image is working fine. Since I dont know how to write
      a wiindow installation image into harddisk partition, I used winrar extra all the files into disk0s3, am I missing some steps or actually clover not support to install windows
      by partitions, apprecating any helps.
       
    • By Ethan Jarvis
      Hello,
       
      Here I am looking for the answer of new Mac OS Catalina features and what type of Mac will support this new Os??
×