- Joined
- Aug 22, 2018
- Messages
- 453
- Motherboard
- Gigabyte Z690 Aorus Master
- CPU
- i9-12900K
- Graphics
- RX 6800 XT
- Mac
- Classic Mac
- Mobile Phone
@genzai, it's well worth trying this approach as it works a treat in my system (built-in AR). Here's a quick summary of the approach (all credit to @Elias64Fr and @CaseySJ for their original work)
- Use the attached SSDT as a base
- Change RootPort (RPnn) number to correct value for the motherboard (in my case RP05)
- Change the address in the first line of the MMBA method to the correct value. If the RootPort PCI address is 1x,n, the correct value is (1x *8)+n. So for my RP05@1c,4 its (1c*8)+4 = E4
- Adjust the UPSB section as required. My mobo only has 1 TB port so no DSB4 device and only one XHC2 SSP/HS port pair. If you have two TB ports then add DSB4 and a second pair of XHC2 devices
- Adjust the _GPE.E2C hotplug method to the correct values for the motherboard. In a DSDT dumped directly from the bios there is a method under _GPE called YTBT. In a booted system the name of this method changes to _Exx where xx is a hex number. So in my system Method (YTBT) becomes Method(_E2C). Also change the XE2C value to XExx
- In the ACPI section of your config.plist add search and replace values to rename RPnn._INI to RPnn.XINI and _Exx to XExx (see attached config.plist from OpenCore for an example). These changes ensure the original ACPI code is used for operating systems other than macOS.
- Inject the ThunderboltDROM value from the unpatched AR firmware via Device Properties in your boot loader config.plist, using gfxutil to find the correct DevicePath for NHI0. The two byte sequence for IOThunderboltPort5 (02C3) needs to be changed to 0283 so the port is activated. Note that your byte values here might be different but the C needs to be changed to an 8. This will cause a CRC32 error and cause the DROM not to be processed correctly by macOS. Fortunately a Hackintool > Logs > System search for 'DROM' will show you the correct CRC32 value so byte-reverse it and replace the existing CRC32 bytes (bytes 10 to 13). So in my case:
Code:75 CRC8 00 00 00 00 00 00 49 18 Thunderbolt UID 74 20 31 2B CRC32 01 51 00 49 18 04 00 66 04 08 81 80 02 80 00 00 00 08 82 80 02 80 00 00 00 02 83 BYTES TO ACTIVATE IOTHUNDERBOLTPORT@5 0B 84 20 01 00 3C 00 00 00 00 00 05 85 50 00 00...
I hope this helps...
Hi! I'm really interested in this procedure. I have Alpine Ridge flashed and it's working perfect with my devices. But I'd like to use it also in other OS's. It's hard for me to follow points 4 and 5 from your guide. If you are so kind and give me a hand........ Thank you!