Contribute
Register

[SUCCESS] Gigabyte Designare Z390 (Thunderbolt 3) + i7-9700K + AMD RX 580

Here's my EFI partition. This requires unlocked MSR register and it has some differences from the one in the mini guide regarding DSDT patches, so please backup before trying it.
Oh ****, sometimes it is so easy but you don't see it. Thank you very much for your hint. Now my native NVRAM on Clover works perfect.

For Others:
unlock MSR register (do it again after every BIOS Update)
Delete EmuVariableUefi.efi, NVRAM.plist on EFI
Delete rc.boot.d, rc.clover.lib, rc.shutdown.d on /etc (root on System Drive)
Put SSDT-PMC.aml on ACPI/patched/

!!!!!!native NVRAM on Clover confirmed!!!!!!!! Yiiieeehaaa
 

Attachments

  • SSDT-PMC.aml
    143 bytes · Views: 162
That's great. Can you provide instructions to unlock the MSR register?
 
That's great. Can you provide instructions to unlock the MSR register?
Of course:


Read the part starting with "Modifying the Firmware"
 
Interesting, and frustrating at the same time That yours is rock solid.

I do have a lot of things plugged into this machine. I’ve been using 1 application (Cubase 10.5) almost exclusively over the past few weeks (trying to catch up on work), and it’s a relatively new update, so I’m going to check and see if it’s just that first and move on to hardware. The crashes happen when I’m using Cubase, but I’m always using Cubase so it’s hard to tell If it’s OS or the App.

i juuuust checked the Cubase forums after typing above, and my exact issues are reported in Cubase (red screen/screen glitches, GUI/system freezing/memory leak etc in 10.5 reported) Everyone seems angry. I’m hoping it’s just Cubase then! Will have to use a previous version and other apps to find out. I think I’ve gone around in so many circles that I don’t even know what to check any more, you get obsessed with blaming the hardware or the OS and forget about the latest fancy App update you started using. Arrrg.

If it is indeed Cubase 10.5.x you are using, I would go back to 10.0.40 or 10.0.50. Steinberg has admitted 10.5.0 and 10.5.5 have problems on Mac. Update arriving(10.5.10) soon, so they say, with a fix.

10.0.40 is the most stable version for now.
 
** Interim Thunderbolt Update: Overall Summary of Tests **

The purpose of this post is to summarize the results of various tests conducted so far, in order to determine the most appropriate next steps. All tests conducted on Test Bench that was built yesterday:
  • Catalina 10.15.2 fresh install (with very few third-party apps -- only the ones necessary for testing and analysis)
  • MSR 0xE2 Locked
  • Firmware version F7
  • All tests done with GPIO3 Force Power disabled
Abbreviations:
  • TNODE = Thunderbolt Local Node
  • TBUS = Thunderbolt Bus
  • TB3 = Thunderbolt 3
The following SSDTs were tested:
  • SSDT-TbtOnPch_Desginare-Draft07
    • This contains an inadvertent error where SSP1 is correctly set to USB Type 0x09, but SSP2 is set to USB Type 0x03.
    • This was modified to rename the RP05._INI method in the SSDT (not in DSDT) to PINI.
    • Uses _E17 only (not _L6F).
  • SSDT-TbtOnPch_Designare-Draft08
    • Same as above, but fixes SSP2 to USB Type 0x09.
  • SSDT-TbtOnPch_Designare-Draft09
    • Uses a modified DSDT to disable calls to native Thunderbolt methods (TINI, THDR, XTBT).
    • Also introduces a new _L6F method in order to disable one of the calls to native Thunderbolt methods.
Testing Experiences / Testing Results:
  • ThunderboltConfig
    • If you see the screenshots of successful TNODE/TBUS activations, you'll find that they all use a ThunderboltConfig setting that was taken from an older MacBook Pro (w/Titan Ridge), namely:
      • 0002FFFF 04000301 01000400 05010200 03000301 01000000 03010200 02000100
    • All attempts to change this to a newer setting from iMac19,1 (below) failed to activate TNODE/TBUS.
      • 00021C00 02000503 01000400 05030200 03000503 01000000 03030200 01000200
    • Additionally, all TNODE/TBUS activations were done with Draft07.
    • Questions:
      • Do we know how to interpret these bytes?
      • TNODE/TBUS activation seems to be dependent in part on this.
  • pathcr
    • We haven't paid much attention to this NHI0 device property, but it could be significant.
  • USB (XHC2) Port Settings
    • The two USB-C ports provide USB 3 functionality only. Both Usb 3.1 Gen 1 (SuperSpeed) and USB 3.1 Gen 2 (SuperSpeedPlus) are controlled by the XHC2 device.
    • The two USB 3.x ports are SSP1 and SSP2. They do not handle USB 2.0 traffic. USB 2.0 traffic is handled by companion ports HS08 and HS13 under the control of the main XHC controller.
    • Because of the companion port/controller, it is possible that some of the problems we're encountering are due to incorrect initialization/power-management of the companion.
    • If we set both SSP1 and SSP2 to USB Type 0x09 (which is the correct Type for reversible USB-C), then TNODE/TBUS are never activated.
    • If we set one or both of SSP1 and SSP2 to Type 0x03, then TNODE/TBUS can be activated.
    • So we still have some work to do regarding XHC2/XHC companion port management.
    • In SSDT-TbtOnPch_Designare-Draft09, we make an attempt to solve some of these problems by blocking some native Thunderbolt port management calls and replacing them with ours. But TNODE/TBUS have not (yet) been able to activate with this version.
  • TNODE/TBUS Not Easy to Activate
    • On a completely cold boot (shutdown, flip power switch to OFF, disconnect all TB3 devices), TNODE/TBUS never appear.
    • A subsequent warm boot with a TB3 device attached prior to booting also fails to activate TNODE/TBUS, but the device does materialize partially in IOReg. The device is not usable, however.
    • Now we hot-unplug the device, which causes an immediate hard freeze. Nevertheless, we press the physical Reset button (without powering down the system) to reboot.
    • This time, given the right conditions, TNODE/TBUS will appear. The "right conditions" we know of so far are:
      • A valid ThunderboltDROM, which we extracted from the Winbond W25Q80 Flash ROM chip using a CH341A SPI chip reader/programmer.
      • A valid or reasonably valid ThunderboltConfig such as the one previously mentioned (taken from MacBook Pro -- but not sure):
        • 0002FFFF 04000301 01000400 05010200 03000301 01000000 03010200 02000100
      • Either SSP1 or SSP2 or both of them set to USB Type 0x03.
        • The need to do this might be due to incorrect USB companion port/controller management.
      • It is not necessary to spoof UPSB (Upstream Bridge) to Alpine Ridge.
      • Even when TNODE/TBUS are activated, we see only partial Thunderbolt device tree materialization in IOReg. Thunderbolt devices are still inoperative.
    • After struggling and failing all day to reactivate TNODE/TBUS using the PowerColor Gaming Station X (eGPU), I decided to use a simpler device instead: Apple TB-to-Gigabit-Ethernet Adapter combined with an Apple TB3-to-TB2 adapter that is needed for this older-generation Ethernet device.
      • Using SSDT-TbtOnPch_Designare-Draft07 with the old ThunderboltConfig, TNODE/TBUS appeared. Screenshots below.
The Way Forward:
  • Hopefully this information will provide hints for charting a way forward. Latest ACPIDebug logs are attached.
  • Things we can do:
    • Maybe @Elias64Fr already has a structured debug plan in mind!
    • We can add a lot more logging to the SSDT.
    • We can patch Gigabyte TB3 firmware.
    • Is someone willing to contact Gigabyte Tech Support to see if they have a newer TB3 firmware? Our motherboards have a relatively old version 33. It would be nice to get version 47 or newer, but even 45-ish will work.
    • One thing I haven't done yet is to comprehensively test the simplified version of SSDT. Will do that next.
Latest TNODE/TBUS Results with Apple TB-to-Gigabit Ethernet Adapter:
  • Let's end this post on a positive note full of TNODE/TBUS goodness! :)
  • Note the CRMW logs.
Code:
Timestamp                       (process)[PID]
2020-01-26 15:33:53.477758-0800  localhost kernel[0]: (kernel) ACPIDebug: Version 0.1.4 starting on OS X Darwin 19.2.
2020-01-26 15:33:53.477871-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x54039854
2020-01-26 15:33:53.477945-0800  localhost kernel[0]: (kernel) ACPIDebug: 0xe00e4000
2020-01-26 15:33:53.478022-0800  localhost kernel[0]: (kernel) ACPIDebug: 0xe0600000
2020-01-26 15:33:53.478094-0800  localhost kernel[0]: (kernel) ACPIDebug: 0xe0700000
2020-01-26 15:33:53.478164-0800  localhost kernel[0]: (kernel) ACPIDebug: 0xe0708000
2020-01-26 15:33:53.478232-0800  localhost kernel[0]: (kernel) ACPIDebug: 0xe0710000
2020-01-26 15:33:53.478297-0800  localhost kernel[0]: (kernel) ACPIDebug: 0xe0720000
2020-01-26 15:33:53.478363-0800  localhost kernel[0]: (kernel) ACPIDebug: 0xe0800000
2020-01-26 15:33:53.478430-0800  localhost kernel[0]: (kernel) ACPIDebug: "_INI Root Port"
2020-01-26 15:33:53.478496-0800  localhost kernel[0]: (kernel) ACPIDebug: "ICMBoot"
2020-01-26 15:33:53.478722-0800  localhost kernel[0]: (kernel) ACPIDebug: "Tbt TWIN set to One"
2020-01-26 15:33:53.478789-0800  localhost kernel[0]: (kernel) ACPIDebug: "Tbt Force Power with FPG0"
2020-01-26 15:33:53.478855-0800  localhost kernel[0]: (kernel) ACPIDebug: "Up Stream VID/DID =0000000015EA8086"
2020-01-26 15:33:53.478922-0800  localhost kernel[0]: (kernel) ACPIDebug: "Delay to appear = 185 us"
2020-01-26 15:33:53.478988-0800  localhost kernel[0]: (kernel) ACPIDebug: "ICMS"
2020-01-26 15:33:53.479054-0800  localhost kernel[0]: (kernel) ACPIDebug: "ICME_0="
2020-01-26 15:33:53.479120-0800  localhost kernel[0]: (kernel) ACPIDebug: 0xffffffff
2020-01-26 15:33:53.479339-0800  localhost kernel[0]: (kernel) ACPIDebug: "Configure NHI called"
2020-01-26 15:33:53.479406-0800  localhost kernel[0]: (kernel) ACPIDebug: "Configure NHI RP OK!"
2020-01-26 15:33:53.479473-0800  localhost kernel[0]: (kernel) ACPIDebug: "Configure NHI UPSB OK!"
2020-01-26 15:33:53.479539-0800  localhost kernel[0]: (kernel) ACPIDebug: "Configure NHI Dp 0 done"
2020-01-26 15:33:53.479606-0800  localhost kernel[0]: (kernel) ACPIDebug: "Configure NHI Dp 3 done"
2020-01-26 15:33:53.479671-0800  localhost kernel[0]: (kernel) ACPIDebug: "Configure NHI Dp 4 done"
2020-01-26 15:33:53.479737-0800  localhost kernel[0]: (kernel) ACPIDebug: "Configure NHI Dp 5 done"
2020-01-26 15:33:53.479804-0800  localhost kernel[0]: (kernel) ACPIDebug: "Configure NHI DPs done"
2020-01-26 15:33:53.479870-0800  localhost kernel[0]: (kernel) ACPIDebug: "Configure NHI0 all done"
2020-01-26 15:33:53.479936-0800  localhost kernel[0]: (kernel) ACPIDebug: "Configure NHI End"
2020-01-26 15:33:53.480003-0800  localhost kernel[0]: (kernel) ACPIDebug: "ICME_1="
2020-01-26 15:33:53.480069-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x800001a1
2020-01-26 15:33:53.480135-0800  localhost kernel[0]: (kernel) ACPIDebug: "ICME_2="
2020-01-26 15:33:53.480202-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x800001a1
2020-01-26 15:33:53.480268-0800  localhost kernel[0]: (kernel) ACPIDebug: "ICME_3="
2020-01-26 15:33:53.480334-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x800001a7
2020-01-26 15:33:53.480401-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x800003f5
2020-01-26 15:33:53.480467-0800  localhost kernel[0]: (kernel) ACPIDebug: "ICME_4="
2020-01-26 15:33:53.480533-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x800001a7
2020-01-26 15:33:53.480598-0800  localhost kernel[0]: (kernel) ACPIDebug: "ISTA="
2020-01-26 15:33:53.480666-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x800003f5
2020-01-26 15:33:53.480733-0800  localhost kernel[0]: (kernel) ACPIDebug: "Configuration delay = 1004 ms"
2020-01-26 15:33:53.533550-0800  localhost kernel[0]: (kernel) ACPIDebug: "_PS0 RP05"
2020-01-26 15:33:53.533814-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCEU RP05"
2020-01-26 15:33:53.534051-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCEU RP05- Put upstream bridge back into D0 "
2020-01-26 15:33:53.567356-0800  localhost kernel[0]: (kernel) ACPIDebug: "_PS0 UPSB"
2020-01-26 15:33:53.567655-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCED UPSB"
2020-01-26 15:33:53.568089-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCED - enable GPIO"
2020-01-26 15:33:53.568516-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - PCI wants on"
2020-01-26 15:33:53.568849-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - NHI wants on"
2020-01-26 15:33:53.569170-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - XHCI wants on"
2020-01-26 15:33:53.569272-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - TBT forced on"
2020-01-26 15:33:53.569478-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - USB forced on"
2020-01-26 15:33:53.569896-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - TBT GPIO should be on"
2020-01-26 15:33:53.570088-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - USB GPIO should be on"
2020-01-26 15:33:53.570183-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - Make sure TBT & USBC is on"
2020-01-26 15:33:53.570468-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCED UPSB- restored flag, THUNDERBOLT_PCI_LINK_MGMT_DEVICE.PRSR"
2020-01-26 15:33:53.570837-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x0
2020-01-26 15:33:53.571345-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCED UPSB- Wait for config space..."
2020-01-26 15:33:53.571672-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCED UPSB- Read VID/DID =0000000015EA8086"
2020-01-26 15:33:53.572163-0800  localhost kernel[0]: (kernel) ACPIDebug: "CRMW Read Value1"
2020-01-26 15:33:53.572534-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x4034021
2020-01-26 15:33:53.573039-0800  localhost kernel[0]: (kernel) ACPIDebug: "CRMW Write Value1"
2020-01-26 15:33:53.573234-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x4034021
2020-01-26 15:33:53.573324-0800  localhost kernel[0]: (kernel) ACPIDebug: "CRMW Read Value2"
2020-01-26 15:33:53.573396-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x4034021
2020-01-26 15:33:53.573467-0800  localhost kernel[0]: (kernel) ACPIDebug: "CRMW Success"
2020-01-26 15:33:53.573537-0800  localhost kernel[0]: (kernel) ACPIDebug: "CRMW Read Value1"
2020-01-26 15:33:53.573607-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x4034121
2020-01-26 15:33:53.573676-0800  localhost kernel[0]: (kernel) ACPIDebug: "CRMW Write Value1"
2020-01-26 15:33:53.573746-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x4034121
2020-01-26 15:33:53.573815-0800  localhost kernel[0]: (kernel) ACPIDebug: "CRMW Read Value2"
2020-01-26 15:33:53.573883-0800  localhost kernel[0]: (kernel) ACPIDebug: 0x4034121
2020-01-26 15:33:53.573951-0800  localhost kernel[0]: (kernel) ACPIDebug: "CRMW Success"
2020-01-26 15:33:53.577839-0800  localhost kernel[0]: (kernel) ACPIDebug: "_PS0 DSB0"
2020-01-26 15:33:53.577944-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCEU DSB0"
2020-01-26 15:33:53.578026-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCEU DSB0- Put upstream bridge back into D0 "
2020-01-26 15:33:53.578837-0800  localhost kernel[0]: (kernel) ACPIDebug: "_PS0 DSB2"
2020-01-26 15:33:53.578939-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCEU DSB2"
2020-01-26 15:33:53.579025-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCEU DSB2- Put upstream bridge back into D0 "
2020-01-26 15:34:17.619628-0800  localhost kernel[0]: (kernel) ACPIDebug: "RTPC NHI0 called with arg: 0000000000000000"
2020-01-26 15:34:17.620277-0800  localhost kernel[0]: (kernel) ACPIDebug: "_PS3 NHI0, Nothing to do!"
2020-01-26 15:34:17.621691-0800  localhost kernel[0]: (kernel) ACPIDebug: "_PS3 DSB0"
2020-01-26 15:34:17.621796-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCDA DSB0"
2020-01-26 15:34:17.621902-0800  localhost kernel[0]: (kernel) ACPIDebug: "POFF DSB0"
2020-01-26 15:34:17.622006-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCDA DSB0- Put upstream bridge into D3"
2020-01-26 15:34:17.622107-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCDA DSB0- Set link disable on upstream bridge"
2020-01-26 15:34:17.622208-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCDA DSB0- Wait for link to drop..."
2020-01-26 15:34:18.631643-0800  localhost kernel[0]: (kernel) ACPIDebug: "PCDA DSB0- disable GPIO"
2020-01-26 15:34:18.631747-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - PCI wants on"
2020-01-26 15:34:18.631849-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - NHI wants off"
2020-01-26 15:34:18.631950-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - XHCI wants on"
2020-01-26 15:34:18.632051-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - TBT allows off"
2020-01-26 15:34:18.632157-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - USB forced on"
2020-01-26 15:34:18.632259-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - TBT GPIO should be off"
2020-01-26 15:34:18.632360-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - USB GPIO should be on"
2020-01-26 15:34:18.632459-0800  localhost kernel[0]: (kernel) ACPIDebug: "UGIO - Make sure TBT & USBC is on"
Screenshot Gallery:
Screen Shot 2020-01-26 at 4.07.16 PM.pngScreen Shot 2020-01-26 at 5.18.49 PM.png Screen Shot 2020-01-26 at 3.41.34 PM.png Screen Shot 2020-01-26 at 3.41.37 PM.png Screen Shot 2020-01-26 at 3.41.40 PM.png Screen Shot 2020-01-26 at 3.41.44 PM.png Screen Shot 2020-01-26 at 3.42.31 PM.png Screen Shot 2020-01-26 at 3.43.22 PM.png


Just a handy quick-reference outline near the top of Post #1:

Screen Shot 2020-01-26 at 5.32.46 PM.png
 
Last edited:
Just tried both now. Still freezing at 5 minute mark.
Please see post below regarding (a) Simplification and (b) Process of Elimination. There are other suggestions at the end of the Catalina Mini-Guide.
 
Of course:


Read the part starting with "Modifying the Firmware"

Thanks for the link! I'm wondering, though, why native NVRAM might be working with OpenCore without unlocking the MSR or modifying the firmware in general? I would assume that the same is achievable with Clover?
 
Back
Top