Contribute
Register

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

Almost everything is working beautifully for me with full system stability. Including native NVRAM! This is awesome!

I do experience a few issues:

1. I dual booth with Windows and use Clover. I use the Magic Mouse 2 and the Magic Keyboard, both Bluetooth based. Every time I switch to Windows, I have to go through a lot of configuration to get scrolling working with Apple's AppleWirelessMouse driver package extracted from the BootCamp support package for the iMac19,1. Sometimes it just won't work. Even Magic Utilities doesn't work. But then, usually after installing, uninstalling, and replacing drivers here and there for some time, it will eventually work and persist after reboot, but only until I boot into mac OS and then go back to Windows. This is really strange, as the two operating systems are completely separated. Could it be because Mac OS uses the PCI x1 Bluetooth card and Windows uses the on-board Intel chip and somehow the mouse doesn't like being paired to another Bluetooth chip? I've read something that felt related over at the Arch linux wiki:

When dual booting Windows and Linux, you may find yourself having to repair your Bluetooth mouse again and again. This will happen every time you switch OS, because when you pair your device, your Bluetooth service generates a unique set of pairing keys.

First, your computer stores the Bluetooth device's mac address and pairing key. Second, your Bluetooth device stores your computer's mac address and the matching key. This usually works fine, but the mac address for your Bluetooth port will be the same on both Linux and Windows (it is set on the hardware level). However, when you re-pair the device in Windows or Linux, it generates a new key. That key overwrites the previously stored key on the Bluetooth device. Windows overwrites the Linux key and vice versa.

However, since I'm using the on-board Bluetooth Intel chip on Windows and use a BCM94360CS2 chip on Windows, the overwriting stuff might not apply?

2. Universal Clipboard and Airdrop doesn't really work for large file transfers. Any ideas?
 
Last edited:
Hi CaseySJ,

Tthanks for your Catalina installation guide. I followed your guide with most of the recommended hardware. Everything works fine except Airplay and Sidecar. I can Airplay to my homepod but fail to Airplay to my Apple TV. When I try to Airplay to Apple TV or Sidecar to my iPad Pro (2018 version), they just go to black screen. Any idea how to solve it? Is it related to the nvram.plist in the EFI folder (I haven’t copied the nvram.plist to the EFI folder)?

Keith
 
You're right: Real iMac uses 0x05 and 0x0C, but we use 0x08 and 0x0D. Screenshot #2 is correct.

Good to know!

The ACPI tables we extract from Apple's binary images (using UEFIExtract/ifrextract) are not always the same as the actual tables. Hence I obtained the tables from a family member's 2019 iMac 5K.

Will keep this in the back of my mind in case we need to revisit it later.

Thunderbolt BIOS Screenshots:
View attachment 447047 View attachment 447048 View attachment 447046 View attachment 447049
Hi @CaseySJ,

"The ACPI tables we extract from Apple's binary images (using UEFIExtract/ifrextract) are not always the same as the actual tables. Hence I obtained the tables from a family member's 2019 iMac 5K."
Does method exist to obtain UEFI files on T2 chip Macs ? It seem that xx.fd file under EFI/APPLE/FIRMWARE aren't available on new Macs ...

About BIOS differences from Asus Maximus IX Extreme (first firmware 0906 with full access of thunderbolt configuration and when I had a full thunderbolt tree), I have the following :

Under DTBT Controller 0 :
  • Extra Bus Reserved : 106 vs 106
  • Reserved Memory : 737 vs 353
  • Memory Alignment : 26 vs 26
  • Reserved PMemory : 1184 vs 514
  • Memory Alignment : 28 vs 28
  • Reserved I/O : 0 vs 0
And another one very interesting on Maximus but seem to be hidden or unavailable on Designare (also hidden on last Maximus firmware that I have):
  • Call Pre boot smi handler : Reset and Enumerate Host router
You should try two first bolded BIOS modifications to see what happen.
 
@Elias64Fr

The following changes were made to SSDT-TbtOnPch_Designare-Draft07:
  • SSP1 and SSP2 configured with power settings and companion ports (0x08 and 0x0D).
  • USB Type changed to 0x09.
  • Added HS08 and HS13 to USB SSDT. Previously these ports were removed.
  • Added the following notify because the same is done by real iMac19,1 SSDT:
    View attachment 447062
  • Activating TNODE and TBUS is still difficult and inconsistent from boot to boot. But on last boot, TNODE/TBUS showed up, but system hanged shortly after. Nevertheless, here's the ACPIDebug log from that run:
Code:
2020-01-27 20:32:48.809308-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: Version 0.1.4 starting on OS X Darwin 19.2.
2020-01-27 20:32:48.809414-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x54039854
2020-01-27 20:32:48.809483-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0xe00e4000
2020-01-27 20:32:48.809551-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0xe0600000
2020-01-27 20:32:48.809617-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0xe0700000
2020-01-27 20:32:48.809686-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0xe0708000
2020-01-27 20:32:48.809752-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0xe0710000
2020-01-27 20:32:48.809821-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0xe0720000
2020-01-27 20:32:48.809887-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0xe0800000
2020-01-27 20:32:48.809953-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "_INI Root Port"
2020-01-27 20:32:48.810019-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "ICMBoot"
2020-01-27 20:32:48.810085-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Tbt TWIN set to One"
2020-01-27 20:32:48.810151-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Tbt Force Power with FPG0"
2020-01-27 20:32:48.810381-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Up Stream VID/DID =0000000015EA8086"
2020-01-27 20:32:48.810447-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Delay to appear = 189 us"
2020-01-27 20:32:48.810514-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "ICMS"
2020-01-27 20:32:48.810580-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "ICME_0="
2020-01-27 20:32:48.810645-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0xffffffff
2020-01-27 20:32:48.810711-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Configure NHI called"
2020-01-27 20:32:48.810778-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Configure NHI RP OK!"
2020-01-27 20:32:48.810845-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Configure NHI UPSB OK!"
2020-01-27 20:32:48.811055-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Configure NHI Dp 0 done"
2020-01-27 20:32:48.811122-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Configure NHI Dp 3 done"
2020-01-27 20:32:48.811190-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Configure NHI Dp 4 done"
2020-01-27 20:32:48.811255-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Configure NHI Dp 5 done"
2020-01-27 20:32:48.811321-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Configure NHI DPs done"
2020-01-27 20:32:48.811387-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Configure NHI0 all done"
2020-01-27 20:32:48.811453-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Configure NHI End"
2020-01-27 20:32:48.811519-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "ICME_1="
2020-01-27 20:32:48.811585-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x800001a1
2020-01-27 20:32:48.811651-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "ICME_2="
2020-01-27 20:32:48.811716-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x800001a1
2020-01-27 20:32:48.811781-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "ICME_3="
2020-01-27 20:32:48.811848-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x800001a7
2020-01-27 20:32:48.811913-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x800003f5
2020-01-27 20:32:48.811979-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "ICME_4="
2020-01-27 20:32:48.812045-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x800001a7
2020-01-27 20:32:48.812110-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "ISTA="
2020-01-27 20:32:48.812176-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x800003f5
2020-01-27 20:32:48.812241-0800 0xc8       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "Configuration delay = 1004 ms"
2020-01-27 20:32:48.869223-0800 0x76       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "_PS0 RP05"
2020-01-27 20:32:48.869475-0800 0x76       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCEU RP05"
2020-01-27 20:32:48.869688-0800 0x76       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCEU RP05- Put upstream bridge back into D0 "
2020-01-27 20:32:48.897541-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "_PS0 UPSB"
2020-01-27 20:32:48.897954-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCED UPSB"
2020-01-27 20:32:48.898385-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCED - enable GPIO"
2020-01-27 20:32:48.898797-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - PCI wants on"
2020-01-27 20:32:48.899118-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - NHI wants on"
2020-01-27 20:32:48.899431-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - XHCI wants on"
2020-01-27 20:32:48.899530-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - TBT forced on"
2020-01-27 20:32:48.899734-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - USB forced on"
2020-01-27 20:32:48.900145-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - TBT GPIO should be on"
2020-01-27 20:32:48.900345-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - USB GPIO should be on"
2020-01-27 20:32:48.900438-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - Make sure TBT & USBC is on"
2020-01-27 20:32:48.900724-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCED UPSB- restored flag, THUNDERBOLT_PCI_LINK_MGMT_DEVICE.PRSR"
2020-01-27 20:32:48.901086-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x0
2020-01-27 20:32:48.901580-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCED UPSB- Wait for config space..."
2020-01-27 20:32:48.901902-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCED UPSB- Read VID/DID =0000000015EA8086"
2020-01-27 20:32:48.902280-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CRMW Read Value1"
2020-01-27 20:32:48.902660-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x4034021
2020-01-27 20:32:48.903171-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CRMW Write Value1"
2020-01-27 20:32:48.903472-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x4034021
2020-01-27 20:32:48.903571-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CRMW Read Value2"
2020-01-27 20:32:48.903644-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x4034021
2020-01-27 20:32:48.903717-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CRMW Success"
2020-01-27 20:32:48.903786-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CRMW Read Value1"
2020-01-27 20:32:48.903855-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x4034121
2020-01-27 20:32:48.903925-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CRMW Write Value1"
2020-01-27 20:32:48.903996-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x4034121
2020-01-27 20:32:48.904066-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CRMW Read Value2"
2020-01-27 20:32:48.904135-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x4034121
2020-01-27 20:32:48.904203-0800 0xe9       Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CRMW Success"
2020-01-27 20:32:48.908989-0800 0x110      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "_PS0 DSB0"
2020-01-27 20:32:48.909133-0800 0x110      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCEU DSB0"
2020-01-27 20:32:48.909256-0800 0x110      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCEU DSB0- Put upstream bridge back into D0 "
2020-01-27 20:32:47.833898-0800 0x214      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "MODU - return = "
2020-01-27 20:32:47.833980-0800 0x214      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x1
2020-01-27 20:32:47.834768-0800 0x3d4      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "MODU - return = "
2020-01-27 20:32:47.834845-0800 0x3d4      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x1
2020-01-27 20:32:50.834489-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "MUST NHI0"
2020-01-27 20:32:50.834655-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "MUST UPSB called with arg: 0000000000000000"
2020-01-27 20:32:50.834794-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UPSB UMPE"
2020-01-27 20:32:52.026857-0800 0x814      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "MODU - return = "
2020-01-27 20:32:52.027322-0800 0x814      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x0
2020-01-27 20:32:52.027490-0800 0x814      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "MODU - return = "
2020-01-27 20:32:52.027630-0800 0x814      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x0
2020-01-27 20:32:52.327924-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "_PS3 XHC2, Nothing to do!"
2020-01-27 20:32:52.329460-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "_PS3 DSB2"
2020-01-27 20:32:52.329563-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2"
2020-01-27 20:32:52.329664-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "POFF DSB2"
2020-01-27 20:32:52.329765-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Put upstream bridge into D3"
2020-01-27 20:32:52.329866-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Set link disable on upstream bridge"
2020-01-27 20:32:52.329967-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.340910-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.352329-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.363767-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.375114-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.386536-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.397942-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.409383-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.419900-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.430422-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.441912-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.453291-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.464771-0800 0x4b8      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.476224-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.487663-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.499031-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.510457-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.521882-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.533289-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.544698-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.556139-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.566465-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.577911-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.589292-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.600718-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.611123-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.621430-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.631780-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.642185-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.652588-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.662963-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.674340-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.685759-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.697162-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.707925-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.718403-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.729796-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.741222-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.751497-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.763015-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.773751-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.785142-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.796604-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.807091-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.817609-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.827950-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.839408-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.849993-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.861436-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.872834-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.883305-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.894718-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.906147-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.917557-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.928992-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.940422-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.950920-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.961050-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.971456-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.981635-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:52.992756-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.004294-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.015707-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.027106-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.038524-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.049956-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.061373-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.071978-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.083374-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.094745-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.106178-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.117609-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.129060-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.139998-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.150322-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.161461-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.172891-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.184347-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.195745-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.207180-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.218599-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.230069-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.240472-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.250934-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.261587-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.271835-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.282297-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.293592-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.304364-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.315837-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.327218-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2- Wait for link to drop..."
2020-01-27 20:32:53.340776-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB2 - disable GPIO"
2020-01-27 20:32:53.340896-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - PCI wants on"
2020-01-27 20:32:53.341010-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - NHI wants on"
2020-01-27 20:32:53.341123-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - XHCI wants off"
2020-01-27 20:32:53.341235-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - TBT forced on"
2020-01-27 20:32:53.341348-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - USB allows off"
2020-01-27 20:32:53.341461-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - TBT GPIO should be on"
2020-01-27 20:32:53.341574-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - USB GPIO should be off"
2020-01-27 20:32:53.341688-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - Make sure TBT & USBC is on"
2020-01-27 20:32:58.130432-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "MUST NHI0"
2020-01-27 20:32:58.130565-0800 0x7b5      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "MUST UPSB called with arg: 0000000000000000"
2020-01-27 20:33:13.789748-0800 0x80a      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "RTPC NHI0 called with arg: 0000000000000000"
2020-01-27 20:33:13.790235-0800 0x80a      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "_PS3 NHI0, Nothing to do!"
2020-01-27 20:33:13.791871-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "_PS3 DSB0"
2020-01-27 20:33:13.792013-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB0"
2020-01-27 20:33:13.792128-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "POFF DSB0"
2020-01-27 20:33:13.792216-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB0- Put upstream bridge into D3"
2020-01-27 20:33:13.792338-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB0- Set link disable on upstream bridge"
2020-01-27 20:33:13.792473-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB0- Wait for link to drop..."
2020-01-27 20:33:14.797310-0800 0x80a      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA DSB0- disable GPIO"
2020-01-27 20:33:14.797405-0800 0x80a      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - PCI wants on"
2020-01-27 20:33:14.797498-0800 0x80a      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - NHI wants off"
2020-01-27 20:33:14.797598-0800 0x80a      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - XHCI wants off"
2020-01-27 20:33:14.797691-0800 0x80a      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - TBT allows off"
2020-01-27 20:33:14.797783-0800 0x80a      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - USB allows off"
2020-01-27 20:33:14.797875-0800 0x80a      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - TBT GPIO should be on"
2020-01-27 20:33:14.797968-0800 0x80a      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - USB GPIO should be on"
2020-01-27 20:33:14.798060-0800 0x80a      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - Make sure TBT & USBC is on"
2020-01-27 20:33:14.798647-0800 0x80a      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "_PS3 UPSB Nothing to do!"
2020-01-27 20:33:14.801524-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "_PS3 RP05"
2020-01-27 20:33:14.801618-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CTBT"
2020-01-27 20:33:14.801712-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CTBT - TBT domain is enabled"
2020-01-27 20:33:14.801807-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CRMW Read Value1"
2020-01-27 20:33:14.801899-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x0
2020-01-27 20:33:14.801991-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CRMW Write Value1"
2020-01-27 20:33:14.802083-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x4000000
2020-01-27 20:33:14.802174-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CRMW Read Value2"
2020-01-27 20:33:14.802265-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: 0x1c000000
2020-01-27 20:33:14.802358-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CRMW Success"
2020-01-27 20:33:14.802451-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CTBT - Set CP_ACK_POWERDOWN_OVERRIDE"
2020-01-27 20:33:14.802545-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA RP05"
2020-01-27 20:33:14.802640-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "POFF RP05"
2020-01-27 20:33:14.802739-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA RP05- Put upstream bridge into D3"
2020-01-27 20:33:14.802837-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA RP05- Set link disable on upstream bridge"
2020-01-27 20:33:14.802933-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA RP05- Wait for link to drop..."
2020-01-27 20:33:14.884815-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA RP05- No link activity"
2020-01-27 20:33:14.884908-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "PCDA RP05- disable GPIO"
2020-01-27 20:33:14.884999-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - PCI wants off"
2020-01-27 20:33:14.885089-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - NHI wants off"
2020-01-27 20:33:14.885178-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - XHCI wants off"
2020-01-27 20:33:14.885266-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - TBT allows off"
2020-01-27 20:33:14.885355-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - USB allows off"
2020-01-27 20:33:14.885445-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - TBT GPIO should be off"
2020-01-27 20:33:14.885534-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - USB GPIO should be off"
2020-01-27 20:33:14.885623-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - Make sure TBT & USBC is off"
2020-01-27 20:33:14.885713-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "CTBT"
2020-01-27 20:33:14.885802-0800 0x823      Default     0x0                  0      0    kernel: (kernel) ACPIDebug: "UGIO - Turn off TBT & USBC GPIO"

More tests are under way, but wanted to post this log now.
Nice for forgotten XHC wake on UMPE method !

We also have a serious problem with XHC2 ! :confused: It would be interesting to try to boot with only one USB-C (3.1 Gene1 or 3.1 Gen2). This test should force power-on XHC2 at boot.
 
Hi @CaseySJ and all,

Your test bench is amazing ! Love it !
As I see on the config.plist Clover configuration, there is a mistake on TunderboltConfig property compared to my previous post Here. This should be tested like that, as reminder, extracted properties are from iMac19,1.

We should also resolve XHC2 problem with SSP2 at 0x03 instead of 0x09 .. you should confirm under Windows that effectively we have Companion on XHC main USB controller by plugging (for each port) one USB3.1gen2, USB3.0 and another USB2.0 on USB-C/thunderbolt connector ! This last one should appear under XHC instead of XHC2.

UPDATE:

Like I See under original "SSDT-8-A M I.aml":
Code:
Device (SS01)
                            {
                                Name (_ADR, One)  // _ADR: Address
                                Method (_UPC, 0, NotSerialized)  // _UPC: USB Port Capabilities
                                {
                                    Return (TUPC (Zero, Zero))
                                }

                                Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
                                {
                                    Return (TPLD (Zero, Zero))
                                }
                            }

                            Device (SS02)
                            {
                                Name (_ADR, 0x02)  // _ADR: Address
                                Method (_UPC, 0, NotSerialized)  // _UPC: USB Port Capabilities
                                {
                                    Return (TUPC (Zero, Zero))
                                }

                                Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
                                {
                                    Return (TPLD (Zero, Zero))
                                }
                            }

                            Device (SS03)
                            {
                                Name (_ADR, 0x03)  // _ADR: Address
                                Method (_UPC, 0, NotSerialized)  // _UPC: USB Port Capabilities
                                {
                                    Return (TUPC (One, 0x0A))
                                }

                                Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
                                {
                                    Return (TPLD (One, 0x08))
                                }
                            }

                            Device (SS04)
                            {
                                Name (_ADR, 0x04)  // _ADR: Address
                                Method (_UPC, 0, NotSerialized)  // _UPC: USB Port Capabilities
                                {
                                    Return (TUPC (One, 0x0A))
                                }

                                Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
                                {
                                    Return (TPLD (One, 0x0D))
                                }
                            }

We have first / second port (Addr 0x1 and 0x2) seeming to be defined as USB2.0 device and third / fourth port (Addr 0x3 and 0x4) seeming to be defined as USB-C device

Another remark compared to my config (also rMac), when a thunderbolt device is plugged-in, we should have an under-tree under:
  • IOThunderboltPort@1 and/or IOThunderboltPort@2 in case of first thunderbolt connector (appearing under DSB1
  • IOThunderboltPort@3 and/or IOThunderboltPort@4 in case of second thunderbolt connector (appearing under DSB4)
Unfortunately, I can't show how it look like under IOReg, currently I'm not at home with my eGPU thunderbolt device.

Again, Great test bench Set-up !
@CaseySJ,
from my previous remark Here:
Another remark compared to my config (also rMac), when a thunderbolt device is plugged-in, we should have an under-tree under:
  • IOThunderboltPort@1 and/or IOThunderboltPort@2 in case of first thunderbolt connector (appearing under DSB1
  • IOThunderboltPort@3 and/or IOThunderboltPort@4 in case of second thunderbolt connector (appearing under DSB4)
I have the following screen shot in order to verify correct thunderbolt configuration, it may be useful :

Capture d’écran 2020-01-28 à 11.17.31.png

Capture d’écran 2020-01-28 à 11.24.14.png
 
Last edited:
Nice for forgotten XHC wake on UMPE method !

We also have a serious problem with XHC2 ! :confused: It would be interesting to try to boot with only one USB-C (3.1 Gene1 or 3.1 Gen2). This test should force power-on XHC2 at boot.
Thunderbolt BIOS parameters modified (TBT Reserved Mem / Reserved PMemory). Will insert USB-C 3.1 Gen 1 flash disk shortly and re-rest.

Meanwhile, attached is a single file containing all of the ACPI Tables from a real iMac 19,1 27-inch 5K with 6-core Intel i5-9600 (same CPU as my test bench). This file (as you probably know) opens directly with MaciASL, and we can choose which SSDT to load. The 3 most interesting ones are:
  • DSDT.aml
  • TbtOnPCH.aml
  • Xhci.aml
Next time TNODE/TBUS appears (without hanging the system!), I'll capture IOReg properties of:
  • IOThunderboltPort@1 and/or IOThunderboltPort@2 in case of first thunderbolt connector (appearing under DSB1
  • IOThunderboltPort@3 and/or IOThunderboltPort@4 in case of second thunderbolt connector (appearing under DSB4)
 

Attachments

  • Real-iMac-19-1-ACPI-Tables.acpi
    137.7 KB · Views: 98
Don't really understand why we have to change BIOS hidden variable for NVRAM, on my hackintosh (MSI and Asus boards, Asus laptop). I have a full access (only when SIP is disabled) .. and have been able to write devices properties AAPL,PathProperties0000 with the following command and find them back after Cold reboot:
sudo nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:AAPL,PathProperties0000=%xx%xx...

After preparing them Xcode/Plist and gfxutil AND using EfiDevicePathPropertyDatabase.efi EFI driver for injection.
By the way, which device path properties are you injecting via this method? Based on the quoted/linked article below, it seems some properties cannot be obtained any other way except through this method, such as ThunderboltDROM. But our recent tests show that when TNODE/TBUS appear, the Thunderbolt DROM we inject through Clover is in fact used...
Apple's EFI drivers supply device properties which are needed to support
Macs optimally. They contain vital information which cannot be obtained
any other way (e.g. Thunderbolt Device ROM). They're also used to convey
the current device state so that OS drivers can pick up where EFI
drivers left (e.g. GPU mode setting).
 
Thunderbolt BIOS parameters modified (TBT Reserved Mem / Reserved PMemory). Will insert USB-C 3.1 Gen 1 flash disk shortly and re-rest.

Meanwhile, attached is a single file containing all of the ACPI Tables from a real iMac 19,1 27-inch 5K with 6-core Intel i5-9600 (same CPU as my test bench). This file (as you probably know) opens directly with MaciASL, and we can choose which SSDT to load. The 3 most interesting ones are:
  • DSDT.aml
  • TbtOnPCH.aml
  • Xhci.aml
Next time TNODE/TBUS appears (without hanging the system!), I'll capture IOReg properties of:
  • IOThunderboltPort@1 and/or IOThunderboltPort@2 in case of first thunderbolt connector (appearing under DSB1
  • IOThunderboltPort@3 and/or IOThunderboltPort@4 in case of second thunderbolt connector (appearing under DSB4)
@CaseySJ ,

"Next time TNODE/TBUS appears (without hanging the system!),..."

You mean that you have booted from cold boot, without any system hang and full thunderbolt tree appears ?!
 
...
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.
I believe user KGP used these values from a MBP15,1.
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).
...
Will try this in a moment...
 
Last edited:
@CaseySJ ,

"Next time TNODE/TBUS appears (without hanging the system!),..."

You mean that you have booted from cold boot, without any system hang and full thunderbolt tree appears ?!
TNODE/TBUS have never appeared (a) on cold boot and (b) if there's no TB device connected. What I mean is that with modified SSDT (where we fixed SSP1 and SSP2), TNODE/TBUS appear inconsistently -- with a TB3 device connected. But when they appear, the system hangs after a few seconds.

BUT...

I don't think the system is truly and completely hanged. Instead:
  • The GUI hangs. No mouse movement. No keyboard input. Nothing on the GUI changes (e.g. time/clock on menu bar does not change).
  • Then if I unplug the Thunderbolt device and do a hard-reboot, I see ACPILogs corresponding to that unplug -- even though GUI was frozen.
  • So internal low-level (interrupt-driven) tasks still seem to be running.
  • I will re-check this as well by doing multiple plug-unplug-plug-unplug and then checking the ACPIDebug log after hard reboot.
Update: One more interesting result from last night's testing. The full Thunderbolt device tree appeared for the Apple TB-to-GbE adapter. Although drivers were loaded, the device did not actually work! But it seems like progress...
Screen Shot 2020-01-27 at 6.24.51 PM.png
Screen Shot 2020-01-27 at 6.24.19 PM.png Screen Shot 2020-01-27 at 6.23.54 PM.png
 
Last edited:
Back
Top