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 JhonneR
      Good morning, everyone, I'm sorry if I was wrong in choosing the topic but I need help.
      I have found it extremely difficult to mount a Hackintosh in my acer.
      Setup;
      I5 2430m 2.4 6GB RAM
      Mobo P5we0 - Intel intel Graphics 3000
      At the moment I have not found out what my audio codecs are.
      but I'll leave the link on the motherboard.
      however, my real problem is several.
      I have already used the itakos image, I have already used several images that could be installed normally and that after installing the image I do not have internet via cable or wireless.
      And another, I already looked in other forums and I know that I will be called a donkey in the logical question but I have not been able to install the [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] or clover to start from the Hard Disk, so I do not know what to do.At the moment I still do not know if there has already been someone who has already installed the High Sierra or just the Sierra in this notebook model and obtained permanent success.
      If anyone can help me, I'll be grateful.
      Installations without success, but with the system already installed in ACER;
      SIERRA
      HIGH SIERRA
      MOJAVE
      All with the same symptom. Starting only by the bootable USB stick and without internet connection via cable and wireless.
      Appreciate ! Acer 5750 Official Page
    • By Slice
      Since rev 4844 Vector Themes are supported and there are ready-to-use Clovy by Clovy, cesium by Slice and BGM_SVG by Blackosx.
      You may see it's structure to create own theme
      -------------------------------------------------------------------------------------------------------------------------------------------------------
       
       
      Now I want to add vector graphics support in Clover. See rev 4560 and later.
      It is not working yet but designers may begin to create Vector Themes.
      It supposed to consist of SVG elements and has design size. It will be rendered to any screen size scaled from design size.
       
      What application in macOS can create SVG graphics?
      Inkscape is not working in macOS 10.11+. Pity.
      LibreOffice Draw works with SVG but buggy.
      Boxy SVG cost 10$ but looks good enough. It creates the best in simplicity files and have more then enough features.
      Illustrator is good but expensive.
       
      How to improve SVG file?
      Clover has restricted support for SVG. It is your job to make compatible file and as small as possible to speedup rendering.
      Some helps:
      Help:Inkscape – From invalid to valid SVG Inkscape files
      From invalid to valid SVG Adobe Illustrator files
      From invalid to valid SVG files of other editors: BKchem, ChemDraw and CorelDRAW
      Help:Illustrator – Assistance with creating and saving SVG images in Adobe Illustrator that will pass W3C validation
      User:Quibik/Cleaning up SVG files manually
      Later I will write own instructions specific to Clover abilities.
       
      How to create SVG fonts?
      You can google to find ready-to-use SVG fonts.  I found some problems with too beaty fonts: slow rendering and overflow crash. Be careful.
      You can get ttf or otf fonts and convert them into svg by using online WEB services. Not a problem to google.
      But then I want to find a way to simplify the font to reduce a size and speedup rendering.
      You can create own font by FontForge It is opensource and available for Windows, Mac and GNU+Linux. It creates otf font which you can convert to svg font.
       
      Pictures from Badruzeus
      https://www.insanelymac.com/forum/applications/core/interface/file/attachment.php?id=301597
    • By ucif19
      Hi, First of all, sorry for my English.
      I want to buy a WiFi/bt card for my hackintosh. I want a card that have a native support for MacOS because I need to use Handoff and AirDrop. I saw the card in the link below: anyone could tell me if the card have the requirements I mentioned before?
       
      wifi/bt card  Broadcom 94352Z DW1560: https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.it%2Fulk%2Fitm%2F272204993348
       
      my build
      macos Mojave 10.14.3
      mobo: H170N-WiFi 
      cpu: i5-6500
      gpu: gtx 1060 6gb (not work on Mojave)
      Ram: 16Gb ddr4 2133 MHz
    • By corbrink
      Hi,
      I have the following system:
      - Gigabyte Z370M-D3H M-ATX
      - Core i7-8700K Coffee Lake
      - Gigabyte Radeon RX 560 4GB
      - Crucial Ballistix 16GB DDR4
      - 960 EVO 1TB NVMe SSD
      - 850 EVO 500GB SSD
      - Crucial 500GB SSD
      - The 2 500GB SSD's run in Raid for data storage.
      - Western Digital 3TB HDD - Time machine
      - EFI here (too large to attach): EFI.zip

      Questions:
      1. I have a dual screen running from Radeon card, 1 on DP and 1 on HDMI. The one screen on DP goes randomly blank from time to time. Any ideas?
      2. I've read that the kexts should preferably be installed in /library/extensions. I would like to know what kexts should remain in the EFI. I read that you should install FakeSMC in both locations (EFI and L/E). If I follow this route must I change something in the config.plist?
      3. USB info in System Information (attached does not seem correct. I've followed the changes suggested but I'm not sure if this is the best it can be.
      4. Are there something in the EFI and config.plist I don't need or doing wrong?

      Feedback will be appreciated.


×