Hello @maXterm,
We were indeed able to activate ThunderboltEX 3 on Asus Prime Z370A. It will not be perfect, but the limitations could be worked around. I would encourage you to try the solution presented below, but keep this in mind:
- First perform a cold boot with no TB devices connected.
- Check if Thunderbolt Bus is activated (System Information --> Thunderbolt).
- If so, hot plug a TB device. Does it connect and work?
- If not, keep the device connected and reboot the system.
- Does it work now?
- Try USB-C devices as well. They may or may not need to be connected prior to boot.
- Also check sleep/wake behavior with TB devices connected.
In other words, the SSDT can enable Thunderbolt Bus, but it's up to you to find the limitations and see if you can work around those limitations.
Thanks very much Casey for pointing me in the right direction. I followed the procedures specified in the links for the ASUS Prime Z370A (my motherboard is the original Prime, not the Prime-II) and now have a working software-only TB bus and local node implementation - fantastic result! To improve things a bit, I tweaked the SSDT file SSDT-TbtOnPch-Asus-Z370-A.aml in the following ways:
1. Under device XHC2, added HS and SS support for the USB-C port on the card (note the default SSDT only enabled the Type A port using USB-C properties - I corrected this). I also added model, device_type, and slot naming so the TB USB Controller shows up in System Information under PCI. The names I used are taken from Hackintool patch info. In addition, I added _PRW and _RMV methods in case these were needed for power management of the USB ports for proper sleep and wake-up. I am not sure if these are necessary - perhaps you can comment.
2. Updated the ThunderboltDROM (using HackinDROM) since the default SSDT seemed to have a mismatch between the DROM length bytes and the overall DROM buffer size (ref your post "Thunderbolt ROM Decoded"). I also wanted to match the DROM 9-byte preamble to my SMBIOS choice of the iMac18,3 model. I am not sure if these changes were completely necessary, but I proceeded anyways for consistency. I also updated the Thunderbolt Controller model, device_type, and slot-name to match Hackintool patch info.
With these changes, I get the following very positive result:
1. TB Bus and Local Node are enabled after boot. I can see this under System Information and in the IO Registry.
2. Hot Plug of another Mac in Target Disk Mode works perfectly. I used the Apple TB3 (USB-C) to TB2 adaptor with a TB2 cable connected to a MacBookPro9,2 booted in Target Disk Mode. The MacBook Pro drives show up immediately on the Hack. I can eject them, remove the cable and reattach at will. The drives are remounted.
3. Thunderbolt Bridge shows up as a connection type under System Prefs->Network. I presume if I had an Apple TB to ethernet adaptor I would be able to establish a network connection (not tested).
4. I don't have any DAW hardware, so unfortunately I cannot test any pro audio solutions with my setup.
5. The USB-C and Type A ports work correctly with both HS and SS usb sticks. Mounted thumb drives survive sleep and wake-up without ejection. USB-C and USB Type A drives are remounted automatically on wake-up.
6. Computer sleep and wake-up are working properly (ie. not prevented by this setup).
However, there are two significant failures/limitations:
7. The TB bus and local node do not appear to survive sleep and wake-up. TB-connected drives (i.e. my test Mac in Target Disk Mode) are force-ejected on sleep. After wake-up, I cannot reconnect the drives even by removing and reinserting the TB adaptor and/or cable. Clearly some of the Thunderbolt power management properties of the setup (hardware?, firmware?, SSDT?) are not working.
8. The TB bus and local node do not appear to come up at all if my test drive (i.e. Mac in Target Disk Mode) is attached to the TB card at boot time.
Note that I am using Clover 5107 with an iMac18,3 SMBIOS (very stable) and am running MacOS Mojave 10.14.6 (also very stable).
Do you have any insight or suggestions regarding the final limitations (TB bus sleep/wake problem, TB failure on boot with drive attached) in an otherwise almost-perfect setup. Are these limitations correctable, or are they limitations of the software-only approach? For instance, would flashing the firmware on the card overcome these, or could it possibly introduce other different problems?
I would like to say how impressed I am regarding the progress you and others have made on making very a complex Thunderbolt scenario a real working possibility on Hacks.
I have attached my updated SSDT-TbtOnPch-Asus-Z370-A-v2.aml file below for your comments or in case others may benefit.