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 Allan
      That's unbelievable awesome

       
      Link: https://www.macupdate.com/app/mac/61068/clover-theme-manager
    • By Entropi
      PREFACE
       
      I’ve used a 2015 15” MBP as my main system since it was released. I do photo and video editing in the Adobe suite regularly and have been eyeballing the performance of the latest MBP models. I’m on the road all the time, so a laptop is basically my only option.

      After the whole mess with the CPU VRM hardware flaws being made apparent by the poor power management profile shipped at release with the 2018 i9 MBP I’ve been more weary of the hardware design of MacBooks. That’s before I account for losing all USB-A ports, losing the SD card slot (‽), losing reliability and tactility of the keyboard, and losing the ESC key to the touchbar; if I compare the 2018 MBP to my current 2015.
       
      Given these flaws, I have been researching the performance situation comparing the 2018 MBP to the X1 Extreme, XPS 15 9570, and the Razer Blade 15 2018.  These are essentially the only options for a road warrior that needs a high quality panel and the best CPU and GPU that can be crammed into around 4lbs (1.8kg).  
      I used to use a ThinkPad T42p and loved it when it was new. So fast forward to now and the release of the ThinkPad X1 Extreme. It’s a truly tempting machine for an artist, given that the 4K UHD version offers just about the best color gamut available on any laptop panel. I get back the USB-A ports, get one of the fastest SD slots on any laptop, and get one of the best laptop keyboards on the market. That’s before even considering power management and modularity. I’ve been dabbling in learning Machine Learning, so a system with an nVidia GPU (CUDA) is a bonus on that front as well.
       
      For me the best color reproduction on a high resolution display panel was most important. The X1 Extreme has that, so I’ve ordered one. I got it with the fastest i7, base SSD and memory, and have separately purchased two 1TB Samsung 970 Pro M.2 SSDs and 2x16GB DDR4-3200MHz memory (just in case it’s possible to overclock the memory on the X1 Extreme). I got the system for $2,100 from Lenovo USA, and the SSDs ($390 x 2) and memory ($330) from Amazon US for a total of ~$3200.  These are easy to install on the X1 Extreme as the bottom cover is easily removed to reveal the M.2 and SODIMM slots. To compare, the 2018 MBP with the fastest i7, 32GB memory, and 2TB SSD is $4400. So I can save $1200 and get a faster system (on all counts) with a better panel and better connectivity by going with the X1 Extreme.
       
      The only thing I’m compromising is losing the big beautiful haptic touchpad and a bit more refined hardware aesthetic. Though, to be honest, I’ve kept a big thick dual-layer Tech21 case on my 2015 MBP. So I’ll actually be going down in volume and weight by moving to the more rugged ThinkPad. I think I can live without the touchpad.

      Oh, by the way, the 4K UHD panel of the X1 Extreme has touch and decent pen support! Another bonus vs. the MacBook. Though I keep a 12.9” iPad Pro around for my pen work and can’t imagine using a laptop similarly. It’s still nice to have a laptop screen actually respond when I go poke at it accidentally after switching back and forth between laptop and iPad.
       
       
      TOPIC
       
       
      So I want macOS with proper discrete GPU support on a 2018 MacBook class laptop.  That’s not possible on a pure Hackintosh as things stand, but via a macOS virtual machine it looks like it could work with what looks like some relatively bleeding edge support of PCIe UEFI passthrough.

      People have been doing this on Linux hosts to Windows VMs with some great success recently: https://gist.github.com/Misairu-G/616f7b2756c488148b7309addc940b28
      And it looks like that’s coming for macOS VMs as well: https://github.com/kholia/OSX-KVM/blob/a4fb2fd5aae871bdbc371b0cd31d4d8129d0f9ac/UEFI/README.md

      The X1 Extreme, XPS 15 9570, and Razer Blade 15 (2018) are essentially direct competition to the 2018 15” MBP. I would really like to see these three systems get some nicely fleshed out guides for getting maxed out compatibility and performance in macOS running in a VM for these systems. When I get my X1 Extreme I’ll start working on it for that one. I will post updates here. I hope to inspire others with the other two systems (or looking to get them) to do similarly.
       
       
      15” MACBOOK CLASS LAPTOP COMPARISON
       
      I chose the X1 Extreme largely because of the excellent 4K UHD HDR panel (100% of 2D AdobeRGB and 85.5% of 3D AdobeRGB, basically unparalleled), good mix of thermal performance and noise management, and overall ruggedness and connectivity.  If I were a gamer I would go with the Razer 15, but the fast low-gamut 1080p panel just doesn’t work for my purposes. If I were most concerned with aesthetics or battery life (97Wh battery for it vs 80Wh for X1E) I would go with the XPS 15.
       
      I am aware that the second 2018 refresh of the MBP is coming ~Nov 14, with the new AMD Radeon Pro Vega 16 and Vega 20 GPUs, and it looks like the latter might offer up to a 60% performance boost over the Radeon 560X. Maybe it has even given Apple enough time to update the CPU VRM along the way. This could make the performance picture more comparable for the 1050 Ti based X1E and XPS 15. I believe the 1070 Ti based Razer 15 will still win out though.
       
      Still, if you compare the fan and heat pipe solution put into the X1E vs the MBP the MBP just looks wimpy in comparison. MBP has smaller fans, less venting, and only one (smaller, thinner) heatpipe. It’s also more difficult to access if you want to put a better thermal paste or liquid metal on it.  Put simply, the thermal hardware on the MBP is basically the same design for the last 3 years and it can’t keep up with the hex-core processors. So even with the Volta 20 GPU making the MBP competitive again on the graphics end, the MBP will still be falling short on the CPU performance plane. This is before we even look at tuning options.
       
      Getting into tuning, it’s possible to improve thermal performance of all the laptops in this class by around 15-20% by using either a best in class thermal paste like Thermal Grizzly Kryonaut or (if you’re willing to deal with all the caveats that come with using a conductive fluid that permeates other metals) a liquid metal interface like Thermal Grizzly Conductonaut. The liquid metal gives you the best possible conducting interface, and the paste is more forgiving and easier to apply.  Further, it is often possible to stably undervolt the Coffee Lake i7/i9 available in this class of systems to further improve performance, thermals, and power consumption (generally another 10+%).
       
      Apple has deliberately made it impossible to undervolt the CPU on the MBP! This has been true since the first Skylake CPUs a few years ago. You used to be able to use a program called Volta to undervolt your CPU on macOS. This is a huge peeve for me and, combined with the general power and thermal underdevelopment, is one of the main reasons I want to get a competitor’s hardware. As a primer, the default voltage of modern CPUs is typically set conservatively high for the sake of production efficiency.  With the current generation Coffee Lake CPUs it is commonly possible to set the CPU voltage about 100 to 150mv lower safely.  This allows the CPU to run cooler and consume less power. For laptops which are thermally limited (basically everything in this new 6-core 14nm era), this also translates into better performance. It’s a tweak that actually improves reliability of your CPU. So it’s just stupid that Apple has deliberately made this impossible. Shame on them, someone else take my money.
       
      Wrapping up, my biggest quibbles with the X1E (before actually getting it) are that the 4K panel’s responsiveness is about the slowest I’ve seen on a modern panel, and it’s just really not suitable for gaming. There’s also what I consider an annoyingly high level of backlight corner bleed that I’m sure will be distracting during blackboxed video viewing. Hopefully these two issues will be fixed in next year’s iteration.
       
       
      FOOTNOTES
       
      MacBook i9 Thermal / VRM (below-baseline throttling/thrashing) Issue:
      https://www.macrumors.com/2018/07/24/throttling-i9-macbook-pro-power-delivery-chip/
      https://www.kitguru.net/lifestyle/mobile/apple/matthew-wilson/macbook-pro-2018-throttling-fix/
      This was mitigated with software that works around the poor hardware design, but the system would still ultimately perform better if the CPU VRM were redesigned. Non Mac systems with the similar CPUs don’t have this issue and get better sustained performance.
       
      MacBook Nov 2018 Refresh with Radeon Vega 16 and Vega 20:
      https://www.fool.com/investing/2018/11/05/apples-macbook-pro-gets-the-amd-vega-treatment.aspx
       
      MacBook Class Laptop Reviews:
      Lenovo ThinkPad X1 Extreme, 4K: https://www.notebookcheck.net/Lenovo-ThinkPad-X1-Extreme-i7-4K-HDR-GTX-1050-Ti-Max-Q-Laptop-Review.335608.0.html
      https://www.ultrabookreview.com/23223-lenovo-x1-extreme-review/
      https://youtu.be/vOPeXe1ZE74
      https://youtu.be/JgWyGKf_WlM
      Dell XPS 15 9570, 4K: https://www.notebookcheck.net/Dell-XPS-15-9570-i7-UHD-GTX-1050-Ti-Max-Q-Laptop-Review.332758.0.html
      Razer Blade 15 2018, 1070 Ti FHD 144Hz: https://www.notebookcheck.net/Razer-Blade-15-i7-8750H-GTX-1070-Max-Q-FHD-Laptop-Review.305426.0.html
       
      Best Undervolting Guide (keywords: ThrottleStop, Intel XTU):
      https://www.ultrabookreview.com/10167-laptop-undervolting-overcloking/
       
      Undervolting Coffee Lake i7/i9 (2018 MacBook class CPU):
      https://youtu.be/nobnPDtMs-E
      https://linustechtips.com/main/topic/923876-any-information-about-how-coffee-lake-h-series-undervolts/
       
      Replacing Thermal Paste with Liquid Metal on 2018 MBP:
      https://youtu.be/iw4gqfrBN4c ... and follow up: https://youtu.be/JNoZNzOQpVw
       
      Replacing Thermal Paste with Kryonaut on X1E:
      https://www.reddit.com/r/thinkpad/comments/9fyww7/x1_extreme_repaste_undervolt_tdp_limiter_removed/
       
      Replacing Thermal Paste and Undervolting X1 Carbon:
      https://youtu.be/FXR5-HwIre8
       
      Replacing Thermal Paste and Undervolting XPS 15 9570:
      https://youtu.be/ZnFdNGUETSI
       
      Possibly over-conservative BIOS update for thermal throttling on X1E:
      https://www.reddit.com/r/thinkpad/comments/9oqax2/xtu_results_with_x1_extreme_with_liquid_metal/
       
      High Sierra (10.13) drivers only for now:
      https://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-11032018/
      nVidia “waiting for Apple’s approval” for Mojave (10.14) macOS driver web release:
      https://www.macrumors.com/2018/11/01/nvidia-comment-on-macos-mojave-drivers/

      Breadcrumb Links (other things I found researching this):
      https://forums.servethehome.com/index.php?threads/esxi-6-5-osx-with-gpu-passthrough.12680/
      https://arstechnica.com/civis/viewtopic.php?f=19&t=1432071
       
      https://www.notebookcheck.net/The-Best-Notebook-Displays-As-Reviewed-By-Notebookcheck.120541.0.html
    • By marianopela
      Hi, I'm an Hackintosh user on my HP ProDesk and I'd like to try getting Mojave on my HP 250 G6
      Could anybody help me with the EFI folder?
       
      Thanks in advance
    • By Donk
      Here is a new utility to patch the EFI firmware in VMware Workstation and Fusion to allow the non-server versions of Mac OS X 10.5 (Leopard) and 10.6 (Snow Leopard) to run. Yoiu will need macOS unlocker 3 if you are using Workstation on non-Apple hardware. I still have to find a way to do this on ESXi as the UEFIPatch utility will not run in the ESXi console.
      This currently supports:
       
      Workstation 11/12/14/15 on Windows and Linux Workstation Player 7/12/14/15 on Windows and Linux Fusion 10/11 on macOS  
      https://github.com/DrDonk/efi-unlocker/releases/download/1.0.0/efi-unlocker100.zip
      https://github.com/DrDonk/efi-unlocker
       
      Please read the readme.txt file for details.
      readme.txt
×