Contribute
Register

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

** Confirmed: Native NVRAM in Clover **
...
Tested and working.
Screen Shot 2020-01-27 at 14.26.36.png
 
Moderators, please bump this post or thread, etc: I have no idea where exactly to place it except for DAW experiences, etc., and I don't want to clog the build thread with a DAW troubleshooting column. Please and thank you.

Your BIOS is probably fine. Check your settings: See Post #1 of this guide and "Going the Extra Mile" to check your other work.

Spoiler:
You must connect and power-up all Thunderbolt devices and let them settle for several seconds before powering up your machine. There is no powerswap/hotswap for UAD nor other Thunderbolt-node devices. Unfortunately, there are no shortcuts. The errors are from privacy permissions not being set and from not powering up all Thunderbolt devices before cold start your machine.

If you can connect the MOTU device via USB or AVB/Ethernet then do so.

IDK what OS you're running, so go to the links below and follow the instructions. It can be tricky and you're on a clock. I recommend staying with Mojave for now. You don't need to monkey with screen savers. Just turn off your monitor. Also check your audio engine settings. Everything should be slaved/clocked to your interface unless you have an external clock. Choose an interface and avoid creating aggregate devices if you don't absolutely need them. The UAD satellites are for DSP only.

https://help.uaudio.com/hc/en-us/ar...ting-No-Devices-Found-Other-Connection-Issues

https://help.uaudio.com/hc/en-us/articles/360016096271-macOS-10-14-Mojave-Compatibility-Info

As of January 25, 2020: "Please note that Catalina is not yet fully tested with UAD software."
For some reason my UAD stuff hotswaps fine on this build. In fact, it is the first time ever that I’m able to do so. I’m on Catalina.
 
Finally, the results -- which are exactly as expected:
  • Thunderbolt/USB-C Port 1:
    • Connect USB 3.1 Gen 1 --> Port 3 of Second XHC (XHC2 ADR 0x03 == SSP1 on Mac)
    • Connect USB 3.1 Gen 2 --> Port 3 of Second XHC (XHC2 ADR 0x03 == SSP1 on Mac)
    • Connect USB 2.0 --> Port 8 of Primary XHC (Port HS08 on Mac)
  • Thunderbolt/USB-C Port 2:
    • Connect USB 3.1 Gen 1 --> Port 4 of Second XHC (XHC2 ADR 0x04 == SSP2 on Mac)
    • Connect USB 3.1 Gen 2 --> Port 4 of Second XHC (XHC2 ADR 0x04 == SSP2 on Mac)
    • Connect USB 2.0 --> Port 13 of Primary XHC (Port HS13 on Mac)
View attachment 446862 View attachment 446863

View attachment 446864 View attachment 446865
Hi @CaseySJ, I'm back and happy to continue this adventure :headbang:

Nice ! With theses informations, we should have this following code under RHUB :
Code:
                    Device (RHUB)
                    {
                        Name (_ADR, Zero)  // _ADR: Address
                        Device (SSP1)
                        {
                            Name (_ADR, 0x03)  // _ADR: Address
                            Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                            {
                                0xFF,
                                0x09,
                                Zero,
                                Zero
                            })
                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                            {
                                ToPLD (
                                    PLD_Revision           = 0x1,
                                    PLD_IgnoreColor        = 0x1,
                                    PLD_Red                = 0x0,
                                    PLD_Green              = 0x0,
                                    PLD_Blue               = 0x0,
                                    PLD_Width              = 0x0,
                                    PLD_Height             = 0x0,
                                    PLD_UserVisible        = 0x1,
                                    PLD_Dock               = 0x0,
                                    PLD_Lid                = 0x0,
                                    PLD_Panel              = "UNKNOWN",
                                    PLD_VerticalPosition   = "UPPER",
                                    PLD_HorizontalPosition = "LEFT",
                                    PLD_Shape              = "UNKNOWN",
                                    PLD_GroupOrientation   = 0x0,
                                    PLD_GroupToken         = 0x0,
                                    PLD_GroupPosition      = 0x0,
                                    PLD_Bay                = 0x0,
                                    PLD_Ejectable          = 0x0,
                                    PLD_EjectRequired      = 0x0,
                                    PLD_CabinetNumber      = 0x0,
                                    PLD_CardCageNumber     = 0x0,
                                    PLD_Reference          = 0x0,
                                    PLD_Rotation           = 0x0,
                                    PLD_Order              = 0x0,
                                    PLD_VerticalOffset     = 0x0,
                                    PLD_HorizontalOffset   = 0x0)

                            })
                            Name (FS, Package (0x02)
                            {
                                "XHC",
                                0x08
                            })
                            Name (LS, Package (0x02)
                            {
                                "XHC",
                                0x08
                            })
                            Name (HS, Package (0x02)
                            {
                                "XHC",
                                0x08
                            })
                            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                            {
                                Local0 = Package (0x06)
                                    {
                                        "kUSBWakePortCurrentLimit",
                                        0x0BB8,
                                        "kUSBSleepPortCurrentLimit",
                                        0x0BB8,
                                        "UsbCompanionPortPresent",
                                        One
                                    }
                                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                                Return (Local0)
                            }
                        }

                        Device (SSP2)
                        {
                            Name (_ADR, 0x04)  // _ADR: Address
                            Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                            {
                                0xFF,
                                0x09,
                                Zero,
                                Zero
                            })
                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                            {
                                ToPLD (
                                    PLD_Revision           = 0x1,
                                    PLD_IgnoreColor        = 0x1,
                                    PLD_Red                = 0x0,
                                    PLD_Green              = 0x0,
                                    PLD_Blue               = 0x0,
                                    PLD_Width              = 0x0,
                                    PLD_Height             = 0x0,
                                    PLD_UserVisible        = 0x1,
                                    PLD_Dock               = 0x0,
                                    PLD_Lid                = 0x0,
                                    PLD_Panel              = "UNKNOWN",
                                    PLD_VerticalPosition   = "UPPER",
                                    PLD_HorizontalPosition = "LEFT",
                                    PLD_Shape              = "UNKNOWN",
                                    PLD_GroupOrientation   = 0x0,
                                    PLD_GroupToken         = 0x0,
                                    PLD_GroupPosition      = 0x0,
                                    PLD_Bay                = 0x0,
                                    PLD_Ejectable          = 0x0,
                                    PLD_EjectRequired      = 0x0,
                                    PLD_CabinetNumber      = 0x0,
                                    PLD_CardCageNumber     = 0x0,
                                    PLD_Reference          = 0x0,
                                    PLD_Rotation           = 0x0,
                                    PLD_Order              = 0x0,
                                    PLD_VerticalOffset     = 0x0,
                                    PLD_HorizontalOffset   = 0x0)

                            })
                            Name (FS, Package (0x02)
                            {
                                "XHC",
                                0x0D
                            })
                            Name (LS, Package (0x02)
                            {
                                "XHC",
                                0x0D
                            })
                            Name (HS, Package (0x02)
                            {
                                "XHC",
                                0x0D
                            })
                            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                            {
                                Local0 = Package (0x06)
                                    {
                                        "kUSBWakePortCurrentLimit",
                                        0x0BB8,
                                        "kUSBSleepPortCurrentLimit",
                                        0x0BB8,
                                        "UsbCompanionPortPresent",
                                        One
                                    }
                                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                                Return (Local0)
                            }
                        }                      
                    }

To be sure ! when you say on pics "UPPER", this is not from your motherboard back side pics ? Because upper on this pics, is the USB Type A in red ! We should test only USB-C connectors !
 
Hi @CaseySJ, I'm back and happy to continue this adventure :headbang:
Hello @Elias64Fr. Hope you had a good weekend! I certainly enjoyed mine. :)

Nice ! With theses informations, we should have this following code under RHUB :
Code:
                    Device (RHUB)
                    {
                        Name (_ADR, Zero)  // _ADR: Address
                        Device (SSP1)
                        {
                            Name (_ADR, 0x03)  // _ADR: Address
                            Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                            {
                                0xFF,
                                0x09,
                                Zero,
                                Zero
                            })
                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                            {
                                ToPLD (
                                    PLD_Revision           = 0x1,
                                    PLD_IgnoreColor        = 0x1,
                                    PLD_Red                = 0x0,
                                    PLD_Green              = 0x0,
                                    PLD_Blue               = 0x0,
                                    PLD_Width              = 0x0,
                                    PLD_Height             = 0x0,
                                    PLD_UserVisible        = 0x1,
                                    PLD_Dock               = 0x0,
                                    PLD_Lid                = 0x0,
                                    PLD_Panel              = "UNKNOWN",
                                    PLD_VerticalPosition   = "UPPER",
                                    PLD_HorizontalPosition = "LEFT",
                                    PLD_Shape              = "UNKNOWN",
                                    PLD_GroupOrientation   = 0x0,
                                    PLD_GroupToken         = 0x0,
                                    PLD_GroupPosition      = 0x0,
                                    PLD_Bay                = 0x0,
                                    PLD_Ejectable          = 0x0,
                                    PLD_EjectRequired      = 0x0,
                                    PLD_CabinetNumber      = 0x0,
                                    PLD_CardCageNumber     = 0x0,
                                    PLD_Reference          = 0x0,
                                    PLD_Rotation           = 0x0,
                                    PLD_Order              = 0x0,
                                    PLD_VerticalOffset     = 0x0,
                                    PLD_HorizontalOffset   = 0x0)

                            })
                            Name (FS, Package (0x02)
                            {
                                "XHC",
                                0x08
                            })
                            Name (LS, Package (0x02)
                            {
                                "XHC",
                                0x08
                            })
                            Name (HS, Package (0x02)
                            {
                                "XHC",
                                0x08
                            })
                            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                            {
                                Local0 = Package (0x06)
                                    {
                                        "kUSBWakePortCurrentLimit",
                                        0x0BB8,
                                        "kUSBSleepPortCurrentLimit",
                                        0x0BB8,
                                        "UsbCompanionPortPresent",
                                        One
                                    }
                                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                                Return (Local0)
                            }
                        }

                        Device (SSP2)
                        {
                            Name (_ADR, 0x04)  // _ADR: Address
                            Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                            {
                                0xFF,
                                0x09,
                                Zero,
                                Zero
                            })
                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                            {
                                ToPLD (
                                    PLD_Revision           = 0x1,
                                    PLD_IgnoreColor        = 0x1,
                                    PLD_Red                = 0x0,
                                    PLD_Green              = 0x0,
                                    PLD_Blue               = 0x0,
                                    PLD_Width              = 0x0,
                                    PLD_Height             = 0x0,
                                    PLD_UserVisible        = 0x1,
                                    PLD_Dock               = 0x0,
                                    PLD_Lid                = 0x0,
                                    PLD_Panel              = "UNKNOWN",
                                    PLD_VerticalPosition   = "UPPER",
                                    PLD_HorizontalPosition = "LEFT",
                                    PLD_Shape              = "UNKNOWN",
                                    PLD_GroupOrientation   = 0x0,
                                    PLD_GroupToken         = 0x0,
                                    PLD_GroupPosition      = 0x0,
                                    PLD_Bay                = 0x0,
                                    PLD_Ejectable          = 0x0,
                                    PLD_EjectRequired      = 0x0,
                                    PLD_CabinetNumber      = 0x0,
                                    PLD_CardCageNumber     = 0x0,
                                    PLD_Reference          = 0x0,
                                    PLD_Rotation           = 0x0,
                                    PLD_Order              = 0x0,
                                    PLD_VerticalOffset     = 0x0,
                                    PLD_HorizontalOffset   = 0x0)

                            })
                            Name (FS, Package (0x02)
                            {
                                "XHC",
                                0x0D
                            })
                            Name (LS, Package (0x02)
                            {
                                "XHC",
                                0x0D
                            })
                            Name (HS, Package (0x02)
                            {
                                "XHC",
                                0x0D
                            })
                            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                            {
                                Local0 = Package (0x06)
                                    {
                                        "kUSBWakePortCurrentLimit",
                                        0x0BB8,
                                        "kUSBSleepPortCurrentLimit",
                                        0x0BB8,
                                        "UsbCompanionPortPresent",
                                        One
                                    }
                                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                                Return (Local0)
                            }
                        }             
                    }
I had reached the same conclusion and was about to post this...

Screen Shot 2020-01-27 at 12.55.17 PM.png

Screen Shot 2020-01-27 at 1.08.40 PM.png

I've made these changes and will test them later this evening!
To be sure ! when you say on pics "UPPER", this is not from your motherboard back side pics ? Because upper on this pics, is the USB Type A in red ! We should test only USB-C connectors !
Correct -- only the USB-C connectors. Because my system is oriented vertically, the two Thunderbolt ports are not side-by-side, but one atop the other.

Additional Observations:
I received a complete set of real iMac 19,1 ACPI tables from a family member, and have been comparing our version with Apple's original.

Screen Shot 2020-01-27 at 9.44.57 AM.png


Screen Shot 2020-01-27 at 9.46.22 AM.png


Interesting: This is why Device ID 0x15EA is okay for UPSB!
Screen Shot 2020-01-27 at 9.49.53 AM.png


CTBT method uses different technique for powering on the TB3 controller. Whereas Apple's version (on left side) seems to power on TBT and USB separately using two fields/methods, we seem to have only one field/method.

Screen Shot 2020-01-27 at 10.13.19 AM.png


Not sure if TGPE and UTLK are needed...

Screen Shot 2020-01-27 at 10.15.52 AM.png
 
Last edited:
I have updated the firmware on the EVO 970 Plus to the latest firmware as per @CaseySJ 's instruction and that seems to have enabled the progress bar under the Apple logo to go slightly further this time (one third of the way before it gets stuck).
I've updated the bios parameters as per Post #01 with the exception of choosing slot 01 for the graphics card whilst it is actually installed in slots 6-7.
I've also noticed a few times that after either switching the machine ON or rebooting the system, it switches itself off and back on again a couple of times before showing the motherboard screen.
I'm not sure what causes Catalina installation to get stuck or if it has anything to do with the sudden resetting that I've explained above.
Any advice would be much appreciated.
 
Last edited:
I have updated the firmware on the EVO 970 Plus to the latest firmware as per @CaseySJ 's instruction and that seems to have enabled the progress bar under the Apple logo to go slightly further this time (one third of the way before it gets stuck).
I've updated the bios parameters as per Post #01 with the exception of choosing slot 01 for the graphics card whilst it is actually installed in slots 6-7.
I've also noticed a few times that after either switching the machine ON or rebooting the system, it switches itself off and back on again a couple of times before showing the motherboard screen.
I'm not sure what causes Catalina installation to get stuck or if it has anything to do with the sudden resetting that I've explained above.
Any advice would be much appreciated.

Hi
Without the graphic card?
Clear CMOS?
 
Native NVRAM also working on Gigabyte Z390 Aorus Pro firmware F12d using the same CFG Lock parameter 0x5C1 :thumbup:
 
** 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:
...
Comments/Questions :
  • 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?
      • TLN/TB seems to be dependent in part on this.
Which MBP are you refer to ?
Titan Ridge with similar values seem to be MBP15,1 with two controllers and "ThunderboltConfig" parameters are the following (with bolded diff):
Controller1:
<00 02 ff ff 02 00 05 03 01 00 04 00 05 03 02 00 03 00 05 03 01 00 00 00 03 03 02 00 02 00 01 00>

Controller2:
<01 02 ff ff 02 00 05 03 01 00 04 00 05 03 02 00 03 00 05 03 01 00 01 00 03 03 02 00 04 00 03 00>

Two first bolded seem to be the controller number and last two, the port number.

Another Titan Ridge with similar values is iMac19,1 with one controller and ThunderboltConfig is the following (with bolded diff):
Controller1:
<00 02 1c 00 02 00 05 03 01 00 04 00 05 03 02 00 03 00 05 03 01 00 00 00 03 03 02 00 01 00 02 00>
We can see that the last port number are inverted from MBP15,1, like your ThunderboltConfig ! It will be interesting to test with MBP15,1 first controller parameter (closest to TR config than yours).

About all Thunderbolt parameters, I had tested with/without, this is the first following results :
  1. All parameters aren't required to have full thunderbolt tree.
  2. Without LinkDetails, thunderbolt speed that appear on System informations/Thunderbolt displays "up to 20Gb/s x2" instead of "up to 40Gb/s x1", don't know if it's only a visual information or if that really limit bus speed ! I should test with EGPU if performances decrease without this parameter. Under IOThunderboltport@1 to @4, this parameter change value of "Supported Link Width" from 0x1 to 0x3.
 
Last edited:
** 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:
...
About first picture :
We don't have correct Bus speed (0Gb/s instead of 40Gb/s), "Current Link Width" is empty AND another missed line in French text :
"Version du programme interne du contrôleur de liaison : 0.16.0" for Asus Maximus IX
with IOReg value appearing on "IOThunderboltPort@x / Micro Version" property

Capture d’écran 2020-01-27 à 22.57.48.png
Capture d’écran 2020-01-27 à 22.59.34.png


Could you send me IOReg properties screen-shot of each part of IOThunderboltSwitchType3 except DPIN and DPOUT (without port@5, @6, @A and @B) ?
 

Attachments

  • Capture d’écran 2020-01-27 à 22.59.34.png
    Capture d’écran 2020-01-27 à 22.59.34.png
    111.1 KB · Views: 147
Last edited:
this cfg-lock thing...... is it also needed for open core? I ask because I get an nvram.plist in my refi folder with ndk open core
 
Back
Top