Jump to content
maroder

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

3 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

I do not understand what are you writing at offset 0x16 and offset 0x17. Can you explain?

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 nysander
      I start this topic to make my Lenovo Thinkpad W540 usable with High Sierra
       
      I followed many guides but this one started by @tluck made me most progress: 
      My setup as in signature
       
      I will update first post with statuses of working features:
       
      Graphics:
      Nvidia Quadro - disabled
      Intel HD 4600 - working @ 1920x1080 and 1,5GB RAM (had to set ig-plaform-id as Haswell desktop, mobile do not work)
      using intelGraphicsFixUp.kext
       
      Sound:
      internal speakers and mic works with AppleACL.kext and profile 28

      USB:
      i boot MacOS from USB drive and it works, mouse and pendrive also works
      USB power not work yet, so USB WiFi dongle and iPhone connection not work (no power @ USB)
      IOReq finds only USB 3.0 controller not USB 2.0 even though I have 2 ports USB 3.0 and 2 ports USB 2.0
       
       
      Integrated Camera:
      recognised in IOReq but not working now (probably due to USB)
       
      Bluetooth:
      as USB but works without problem

      Ethernet:
      works with intelMausiEthernet.kext

      Keyboard:
      internal is PS2 so VoodooPS2Controller.kext is needed - some mappings I would like to have different but works

      Touchpad:
      works with VoodooPS2Controller.kext from @tluck topic
       
      Trackpoint:
      One time works mostly not - debugging in progress
       
      Batery Status:
      not working
       
      Integrated WiFi:
      intel -  not working
       
      Sleep / Hibernate:
      not working
       
      Backlight:
      not working
       
      Other found issues:
      besides that graphics works @ 1920x1080 and have a lots of ram window shadows (especially dock shadow) looks bad
       
      External VGA:
      not tested yet
       
      External Mini Display Port / Thunderbolt:
      not tested yet
       
      I will post my clover / debug config later
       
       
    • By MaLd0n
      First... If you need DSDT edits for SkyLake, KabyLake or CoffeeLake... -Post your full Clover folder with original tables in Origin folder(Extract with F4 in Clover boot screen) -Run it, post files generated in your desktop RunMe.app  Installation   --Create a bootable copy of macOS Sierra Check out the link http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/   --Create a bootable copy of macOS HighSierra Check out the link http://diskmakerx.com/   --Install Clover in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace with my Clover folder  CLOVER.zip   --Install Sierra/High Sierra and boot into system!   Post Installation   --Install Clover in HDD/SSD and replace with my folder CLOVER.zip   --Reboot and activate video!   -Nvidia WebDriver Sierra http://www.insanelymac.com/forum/topic/312525-nvidia-web-driver-updates-for-macos-sierra-update-07212017/ -Nvidia WebDriver High Sierra http://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-10162017/ -Cuda http://www.insanelymac.com/forum/topic/302795-cuda-90214-is-out-update-10162017/   --DSDT My DSDT with patches for Skylake DSDT.MaLd0n ASUS Z170M PLUS.zip   Patches -FIX ERRORS AND WARNINGS -HPET -SATA -SLPB -DMAC -DARWIN -LPC -XHCI -PLUGIN TYPE -HDAS to HDEF -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -EC -IMEI -PNLF -HDMI --FakeSMC
      http://www.hwsensors.com/releases   --Audio https://github.com/vit9696/AppleALC   --USB https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads   --LAN https://github.com/Mieze/IntelMausiEthernet   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!   ENJOY!
    • By rio2
      How to make AppleHDAController load on Ryzen boards?
      Rename(/add) your audio controller to your DSDT/SSDT as HDEF Add a _DSM method to your HDEF device with layout id 1 Patch the AppleHDAController binary, because it has a static table containing the supported PCI Vendor/DeviceID pairs and it also checks the VendorID against known values. As an example I provide a dif file and patched 10.13.3 binary, but if you want to I can patch the binary for other versions.  
      After AppleHDAController loads to actually get sound working you need to patch AppleHDA.kext for the codec on your board. First I tried to use Lilu+AppleALC for this task, but for some reason it refused to work. (I might look into it later why) But for the time being it was easier to use toleda's cloverALC script for that, but to make it work I had to change(/remove) the specified location of the HDEF device from the script. And for some reason it also required me to mount the EFI partition manually.
       
      Change this:
      if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF@1") != 0 ]]; then Into this:
      if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF") != 0 ]]; then  
      AppleHDAController_Patched10.13.3
      AppleHDAController-10.13.3-AMD.bdiff
    • By ErmaC
      Slice is glad to present a new EFI bootloader.

      CLOVER
      Now version 2 rEFIt based.


      It is open source based on different projects: Chameleon, rEFIt, XNU, VirtualBox. The main is EDK2 latest revision.
      I also want to thank all who help Slice with the development. Credits and copyrights remain in the sources.
      https://sourceforge.net/projects/cloverefiboot/?source=directory
      There is a WIKI 
      http://clover-wiki.zetam.org/
      Main features:


      If you have a question please provide outputs from DarwinDumper (formed from Trauma tool). Thanks Trauma!
      Continued by blackosx and STLVNUB.
      Post#2 CloverGrower - create Clover by yourself Post#3 Downloads Post#4 Installation of the bootloader Post#5 How to do UEFI boot Post#6 How to use - common words Post#7 Calculator for Automatic DSDT fix Post#8 Instructions for GraphicsInjector Post#9 ATIConnector patching Post#10 Any kexts patching with some Samples Post#11 CustomEDID Post#12 Hiding unnecessary menu entries Post#13 Instruction for DSDT corrections to do DeviceInjection works Post#14 Development Post#15 Themes Post#16 About kexts injection Post#17 Instructions for P- and C-states generator Post#18 Patching DSDT to get Sleep working Post#19 CPU settings and geekbench Post#20 ACPI tables loading Post#21 DSDTmini Post#22 Custom SMBios Post#23 F.A.Q. Post#24 iCloudFix Post#25 Using mouse. Post#26 How to make orange icons to be metallic Post#27 How to make software RAID (by Magnifico) Post#28 How to modify InstallESD.dmg (by shiecldk) Post#29 Config.plist settings Post#30 Using extra kexts and skipping kernelcache Post#31 Choosing EFI drivers Post#32 Configuration files Post#33 Automatic config.plist creating Post#34 Custom DSDT patches Post#35 How to do sleep/wake working with UEFI BOOT Post#36 DeviceID substitution (FakeID) Post#37 Using Custom OS Icons Post#38 Hibernation Post#39 Floating regions Post#41 Property List Editor Post#42 Blocking Bad Kext Post#43 AAPL,slot-name Post#44 FakeCPUID for unsupported CPU Post#45 Multiple Boot Options - to write into UEFI BIOS boot menu Post#46 How to install Windows UEFI Post#47 How to speedup Clover boot Post#48 Info.plist patching Post#49 Arbitrary device injection Post#50 Non-Standard Legacy Boot Files Post#51 Reboot to Windows UEFI from Mac OSX Post#52 Deprecated Features Post#53 Using UDK2018 Post#54 Device Properties -----------------
       
      Slice:
      I edited all posts in the thread to correspond to actual Clover revision.
      Please install Clover at least 2652 and use new instructions.
×