This is my speculative answer:
- As we know, there are write-once registers such as CFG-Lock
- They can only be written to once, which then prevent further changes to these registers (and to the resources they control) until system is rebooted
- It is possible that there's a write-once register that controls the ability to put a Thunderbolt Controller into either (a) ICM [Internal Connection Manager] or (b) Host Connection Manager mode
- If so, Asus Thunderbolt drivers may be unique in not locking that register, which then allows macOS to toggle Host Connection Manager (i.e. Thunderbolt Local Node)
Linux source code and Apple's own Thunderbolt SSDT from iMac19,1 shows that a single bit in a Thunderbolt register switches between ICM and Host management modes.
In our early experiments, we
actually succeeded in enabling Host connection manager (i.e. Thunderbolt Local Node) even on
Gigabyte Z390 Designare using just SSDT.
Remember this post?
Do you have any other DAWs installed? Are those DAWs exhibiting the same symptoms? The reason I ask is because I was experiencing something similar and it ended up being a bug specific to the latest Cubase update which was causing a memory leak and abnormal CPU consumption of certain VST3...
www.tonymacx86.com
But we were never able to connect and disconnect devices reliably, or even recover them from sleep. And sometimes after 20 seconds, "something" would flip that register back to ICM, and Thunderbolt Local Node would disappear. But something in Asus' EFI firmware allows macOS to change whatever parameter it needs to change such that Local Node both activates and runs reliably.