Contribute
Register

[SUCCESS] Intel NUC8I5BEH Opencore 6.1 + working Thunderbolt hot-plug

Status
Not open for further replies.
Joined
May 24, 2020
Messages
8
Motherboard
Intel NUC8i5BEH
CPU
Intel Core i5 8259U
Graphics
Intel Iris Plus 655
Mac
  1. MacBook Air
  2. MacBook Pro

OpenCore Catalina 10.15.7​

Components

NUC8i5BEH​

https://www.amazon.com/dp/B07GX59NY8/?tag=tonymacx86com-20

12+6 Pin BCM94360CD Wireless Card Module to M.2 NGFF Key B+M Adapter for Mac OS​


Samsung 860 EVO MZ-76E500E 500 GB Solid State Drive - SATA​

https://www.amazon.com/dp/B07937HDJM/?tag=tonymacx86com-20

Apple A1465 A1466 653-0023 BroadCom BCM94360CS2 Wireless WIFI Bluetooth Card​



Added Components​


Apple Magic Mouse
Apple Wireless Keyboard
Apple Thunderbolt Display (27")

Thunderbolt 3 (USB-C) to Thunderbolt 2 Adapter​


Comments​


I got a cheap second-hand Apple Thunderbolt Display (27"), and struggled to connect it to my NUC. After a lot of trial and error, I managed to figure out how to enable Thunderbolt and make it work.
All this was possible using amazing work of OSY86 (Specifically ThunderboltPatcher and HaC-Mini project targeting Intel NUC Hades Canyon (NUC8i7HNK/NUC8i7HVK), which served as a reference for my work)

The build​

Installing the native Wifi + BT card:
We're using the M.2 slot for installing a chinese adapter for native Apple Wifi + Bt card. The Wifi card is using the PCI-express port of NVME, and Bluetooth is connected using on-board usb header.

68747470733a2f2f692e696d6775722e636f6d2f6e71526c7765422e706e67.png


IMG_20190403_081529.jpg


BIOS Settings​


I upgraded the BIOS to the latest v83.
Disabled CEC, VT-D, Onboard bluetooth and wireless, Infrared. Thunderbolt mode is set to "Legacy".
In order to make the system boot without attaching HDMI display, "Legacy Boot" needs to be enabled.
For your convenience, I'm attaching a customized BIOS - this is the default NUC INTEL BIOS v83 with all config options already set + Apple Logo instead of default Intel NUC Logo. Put the bios on FAT formatted USB disk, boot and select F7. Then flash the BIOS.

BIOS was modified using Intel Integrator Toolkit https://downloadcenter.intel.com/download/29345/Intel-Integrator-Toolkit?wapkw=integrator toolkit with options
Code:
ITK6.efi –b –x custom.bio –ib BE0083.bio –is –ic –id –il applelogo.jpg

OpenCore​

I followed the OpenCore Laptop Guide for my Coffee Lake CPU

Choosing MacBookPro15,2 because it is very close to my build.

Please change your Serial/UUID/Board Serial in both EFI-flash/config.plist and EFI-native/config.plist using the following guide (https://dortania.github.io/OpenCore-Install-Guide/config.plist/#creating-your-config-plist)
- You will need to use GenSMBIOS.command -> Generate SMBIOS -> MacBookPro15,2

Flashing the Thunderbolt Firmware​


In order to enable Thunderbolt natively in OS X, you need to modify the firmware (and make it similar to real Mac).
There are 2 EFI folders attached to this post:
EFI-flash - this is used for backing up the current firmware + modifying it
EFI-native - this is used to run the modified firmware

Caution: after you flash the firmware, thunderbolt hot-plug will not work in Windows. It is possible to un-flash the firmware (return it to original settings) if you require Windows functionality.​

Flashing Thunderbolt firmware​

Step 1 - Enable Thunderbolt:

Replace your EFI folder with contents of EFI-flash.
Do not connect anything to Thunderbolt port on the NUC
Power off the NUC and disconnect the power cable for 10 seconds
Power on the NUC and boot MacOS
Open System Report (Apple logo -> About This Mac -> System Report)
Under Thunderbolt, you should see the controller.

Step 2 - Backup Current Firmware:
Copy ThunderboltPatcher folder to your computer (for more information about ThunderboltPatcher, go to https://github.com/osy86/ThunderboltPatcher)

This should only be done once. This is a safety measure - in case flashing fails, you will be able to restore the firmware using external programmer
Code:
sudo ./tbpatch list
You should see something like this:
Code:
/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/UPSB@0/IOPP/DSB0@0/IOPP/NHI0@0/AppleThunderboltHAL/AppleThunderboltNHIType3/IOThunderboltController/IOThunderboltPort@5/IOThunderboltSwitchType3/IOThunderboltIECSNub/AppleHPMIECS/AppleHPMDevice@0
  Address : 0x00000000
  PID     : 0x2831454341
  UID     : 10AFF80F-EDF3-75BB-384D-42D28F2D5FCD
  Version :
  Build   : c21bda84555465022d578161e3aecb523fe75643_12082017
  Device  : TPS65982 HW0011 FW0001.12.07 ZTBT1

Perform backup:
Code:
sudo ./tbpatch dump -s 0x100000 -f backup.bin
This should take about 10-15 minutes to finish.
After it's done, copy the file somewhere safe / email it to yourself.

Step 3 - Modify the firmware:
This patches the firmware on your NUC.
Code:
sudo ./tbpatch patch -f nuc8.plist
This should take about a minute

Step 4 - Change the EFI folder to native:
Rename the EFI folder on your EFI volume to EFI-flash
Copy EFI-native and rename it to EFI
Eject EFI volume
Power off the NUC and remove the power cable for 10 seconds

Power the NUC again - it should boot and your Thunderbolt controller should be fully functional.

Revert to original firmware:​

If you want to un-flash the controller (For Windows hot-plug), you can restore it to original settings.
In order to revert to original firmware, you should run the following:
Code:
sudo ./tbpatch restore -f nuc8.plist
After that, power off, remove the power, wait 10 seconds and boot.

Troubleshooting:​

If your system fails to recognize Thunderbolt on flashed/unflashed firmware, try to remove power for 10 seconds. This can happen after booting to other OS (Windows/Linux)

Conclusion​


I got working iMessage/Facetime/iCloud, all USB ports, Bluetooth, Wifi, Airdrop + Thunderbolt hot-plug + working Thunderbolt display. Additional HDMI display also works (hot-pluggable)
Sleep is disabled on my NUC, but it should also work with the modified firmware (not tested)
All devices on Thunderbolt Display also work (camera, microphone, speakers + USB ports)
I also have Thunderbolt docking station, and everything on it works + daisy chaining Apple Thunderbolt Display works as well.

P.S. This should also work on NUC8i7B* and NUC8i3B* (not tested)
 

Attachments

  • NUC8i5BEH.zip
    15.2 MB · Views: 1,302
Last edited:
how can I remove a bios update again?
 
I installed the original bios.
when I press F9 it always loads your settings :(
 
I installed the original bios.
when I press F9 it always loads your settings :(
Download the "Integrator toolkit" in the link above.
Set your bios settings to the ones you want to be the defaults.
Put the ITK6.efi on your EFI partition.
When booting OpenCore, select "EFI shell"
in the shell, select your EFI (I assume it's FS0:, but you might try the others if it's not)
Code:
# FS0:
# ls
EFI/
# cd EFI
# ls
...
ITK6.efi
...
#
ITK6.efi –b –x myCustomBio.bio –id
This will create a small file (myCustomBio.bio)
Use this file to update your BIOS - it will set the new defaults
 
Sorry but I have a problem with audio from HDMI, I wanted to know if there is a remedy .. thanks
 
Sorry .. I solved .. luckily..
 
that's Great brother!

i have already Clover Catalina 10.15.7
all works fine except Handoff (doesn't matter)

mine is: NUC8i7BEH

is there way to use you EFI to switch from Clover to OpenCore? i mean without new installation?
 
that's Great brother!

i have already Clover Catalina 10.15.7
all works fine except Handoff (doesn't matter)

mine is: NUC8i7BEH

is there way to use you EFI to switch from Clover to OpenCore? i mean without new installation?
in case i change Serial/UUID/Board Serial in EFI/config.plist and replacing my current EFI (clover) with your EFI, should it sorks without any more modifications ?
 
hey @micsell - I appreciate your post here and am inspired to get thunderbolt hotplug functioning on my upcoming build. I am new to hackintosh and will be using threads like yours to find my way through it, but I'm looking forward to getting my hands dirty. I intend on putting my nuc in the fanless Akasa Turing housing after I get OSX nice and stable. I intend on using the thunderbolt port to pair with an Apogee Ensemble Thunderbolt audio interface and ideally I will be able to daisy-chain an Apple Thunderbolt Display (my understanding is that I will not be able to get the display running without something like OSY86's 'thunderboltpatcher', however I may be able to get my Apogee audio interface working without this process).

I do have a question here: @micsell I'm assuming the entire section in your post about the bluetooth+wifi card is unrelated to flashing thunderbolt firmware; is this correct?

I'm hoping not to **** anything up with this build and am new to this, so forgive any stupid questions, and if anyone has any advice for me, please shoot. FYI I do intend of using OpenCore.

Most of my build is in the mail, but I'll keep yall posted ;P
Big thanks again to @micsell

Here is a list of my components:

computer: Intel NUC NUC8i7BEH
RAM: OLOy DDR4 RAM 32GB (2x16GB) 2400 MHz CL17 1.2V 260-Pin Laptop Gaming SODIMM for Intel (MD4S162417IZDC)
PCIe drive: XPG SX8200 Pro 512GB 3D NAND NVMe Gen3x4 PCIe M.2 2280 Solid State Drive R/W 3500/3000MB/s SSD (ASX8200PNP-512GT-C)
SATA drive: Samsung 860 EVO 500GB 2.5 Inch SATA III Internal SSD (MZ-76E500B/AM)
display (hopefully): Apple Thunderbolt Display (i believe a TB1 device)
audio interface (hopefully): Apogee Ensemble Thunderbolt (TB2 device)
 
Status
Not open for further replies.
Back
Top