Contribute
Register

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

Status
Not open for further replies.
Thanks @micsell working great here on a NUC8i3BK. I'm using an NVME drive so I added the NVMeFix.kext. Also I'm using the built in Bluetooth with zxystd's Bluetooth kext and it works great with my Airpods. I'm not interested in Wifi so that's disabled. I'm also not using Thunderbolt yet. Haven't tested sleep yet but I don't really need it.

First time on OpenCore but it was rather easy to install...used Clover for a long time before.
 
@micsell many thanks for your walkthrough. Did you update your Nuc yet? The new Bios is v85 and for Big Sur we need OC 603.... it would be very nice if you have updated, that you post your new Bios and your EFI

Thank you
 
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

Hi @micsell thank you for your posts, this was an unexpected guide that I am eager to test out on my NUC8i7BEH !
A few procedural questions so we can learn more, if I may.

a) So we set F9 defaults before the "operation" and change whatever values we see fit as "new defaults" most notably the important few ones like disable VT-d etc.
b) Install on the boot-USB key or SSD EFI folder the intel tool and run the .efi command you post above, in some UEFI shell.
c) Per your post, we need to reboot and flash myCustomBio.bio via F7 or Visual BIOS.
d) I suppose we can use the Clover UEFI SHELL instead? (haven't migrated my Catalina to OpenCore 0.6.3 at all) or do we absolutely run it from an external boot-loader?

Questions:
1) Any newer BIOS flashing (official) from INTEL will overwrite the myCustomBio.bio defaults, yes?
2) Can we reuse that myCustomBio.bio file or is it safer to repeat the procedure with that (possible) newer BIOS from Intel?
3) Did you use 3x JPGs as in the Intel tool's ZIP or just 1xJPG?
4) As a more technical question, any idea if myCustomBio.bio is eventually just writing parts of NVRAM not accessible otherwise? I am not sure it actually modifies the BIOS itself, but rather, some memory area where defaults are stored, right?
5) Regarding the much-needed CPU CFGLock (MSR Ex02) setting that's not visually available on the firmware (BIOS) any chance you have investigated that, too? It appears that on some systems, an NVRAM similar to the one generated by the Intel Tool, has the values for MSR Lock...

Anyone with a working 0.6.3 OpenCore config.plist (especially the Quirks...!) is very welcome to post it here, too. Many thanks!
 
Last edited:
Thanks @micsell for the guide it worked, I have to do few changes because my OS was Big Sur. After BIOS flash Intel NUC Logo did not changed with Apple logo, please share the logo file url you have used.

@konsti and anyone who want to try it on Big Sur / OC 0.6.3 can use my attached EFIs
 

Attachments

  • NUC8i5BEH-with-big-sur-oc-0.6.3.zip
    33.2 MB · Views: 305

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. View attachment 491364 View attachment 491365

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)
 
nuc8i7beh
imperfection
1、Thunderbolt 3 cannot be hot pluggable and cannot be loaded after being pulled out and inserted again.
2、USB Type-C is not recognized.
 
Last edited:

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.

View attachment 491364


View attachment 491365


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)
thanks for this very interesting guide, have you get the sleep to work? I have an NUC8i7BEH, everything works, but when I try to sleep it, the machine reboots itself, it sleeps well before.
thanks
 
Thanks @micsell for the guide it worked, I have to do few changes because my OS was Big Sur. After BIOS flash Intel NUC Logo did not changed with Apple logo, please share the logo file url you have used.

@konsti and anyone who want to try it on Big Sur / OC 0.6.3 can use my attached EFIs
@manoj.admlab thank you, sleep works for you? which NUC you have?
 
@micsell thank you very much for the detailed instructions and the files.

I just tried this method on a NUC8i5BEK2 running Big Sur (11.1). Unfortunately the EFI-flash doesn't seem to fit Big Sur, as MacOs crashes/reboots during boot, when EFI-flash is installed. This continues in a boot loop. Presumably a kernel panic happens, but I cannot tell for sure, as there is not enough time to read the messages and the opencore txt in the EFI partition afterwards only has information from the early boot state but not up to the point where the crash/reboot happens.

Has anyone had success with Thunderbolt under Big Sur (11.1) ?

@micsell Next thing I will try is to try to migrate your EFI-flash into my working BigSur EFI by cherry picking the thunderbolt aspects, that I can identify. I am still learning. Or could you point my to the relevant entries in the config.plist, kexts and SSDTs that I should have to enable Thunderbolt ?

Cheers
 
Should have read this post first :)

Thank you @manoj.admlab
I will try with your setup....
Thanks @micsell for the guide it worked, I have to do few changes because my OS was Big Sur. After BIOS flash Intel NUC Logo did not changed with Apple logo, please share the logo file url you have used.

@konsti and anyone who want to try it on Big Sur / OC 0.6.3 can use my attached EFIs
 
Status
Not open for further replies.
Back
Top