Contribute
Register

[In progress] SSDT for Thunderbolt 3 Hotplug

Joined
Nov 26, 2012
Messages
1,520
Motherboard
Gigabyte Z370 Aorus Gaming 5
CPU
i7-8700K
Graphics
RX 580
Mac
iMac, MacBook Pro
Mobile Phone
iOS

Attachments

Joined
Nov 26, 2012
Messages
1,520
Motherboard
Gigabyte Z370 Aorus Gaming 5
CPU
i7-8700K
Graphics
RX 580
Mac
iMac, MacBook Pro
Mobile Phone
iOS
Ah, but there's a hitch. Even after running Hackintool, the 10.15.3 drive still will not stay in sleep, nor will it sleep automatically. So the problem persists. I thought that if I copied the functioning EFI folder from 10.14.6 to the Catalina drive that that would fix the problem. Not so much. Very confusing. I'm back to Mojave and will stay here for now. Maybe I will create a fresh install on a blank SSD one day when I have nothing else to do.
 
Joined
Sep 8, 2011
Messages
63
Motherboard
Asus Rampage VI Extreme
CPU
i9-7960X
Graphics
Radeon VII
Mac
MacBook Pro
Mobile Phone
iOS
In this Link uploaded SSDT files for modified Titan Ridge AIC.
 
Joined
Feb 4, 2011
Messages
57
Motherboard
Gigabyte GA-Z170N-WiFi
CPU
i7-6700K
Graphics
GT 640
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android
Hello all.
I know this thread is mostly about thunderbolt 3 on desktop but I'm hoping someone here can guide/help me with making the Type-C USB3.1 Gen2/Thunderbolt 3 work non ASUS Zenbook Pro UX580GE.

The USB3.1 Gen2/Thunderbolt 3 IC is "JHL6540 Thunderbolt 3 USB Controller (C step) [Alpine Ridge 4C 2016] with hardware ID: 8086:15D4.

The USB 2.0 is routed to the other USB3.1 Gen2 IC (8086:A36D) and they are working (hotplug, power ...)

If I start the laptop with no device connected to the 2 USB3/TB3 ports there the IC is not shown in IOReg and no USB3 device is detected but USB2 are (as they are routed to the other USB IC).

If I start the laptop with USB 3 flash drive connected to the 2 USB3/TB3 ports they appear in IOReg and the device gets mounted but if I remove and reconnect the device is no longer detected (so no hotplug).

I've read all the posts related to Thunderbolt 3 power/hot plug and most of them refer to USB3/TB3 on desktop configs and the ones I found for laptops are already compiled SSDTs with nothing in common with my config so I cant figure it out on how to do it on this platform.

Any help/hints are welcome

Attached is my debug dump with a dongle connected to USB3/TB3 port so the IC is shown in IOReg.
 

Attachments

Joined
Apr 5, 2016
Messages
807
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
Apple, LC, Power Mac
Mobile Phone
iOS
Hello all.
I know this thread is mostly about thunderbolt 3 on desktop but I'm hoping someone here can guide/help me with making the Type-C USB3.1 Gen2/Thunderbolt 3 work non ASUS Zenbook Pro UX580GE.

The USB3.1 Gen2/Thunderbolt 3 IC is "JHL6540 Thunderbolt 3 USB Controller (C step) [Alpine Ridge 4C 2016] with hardware ID: 8086:15D4.

The USB 2.0 is routed to the other USB3.1 Gen2 IC (8086:A36D) and they are working (hotplug, power ...)

If I start the laptop with no device connected to the 2 USB3/TB3 ports there the IC is not shown in IOReg and no USB3 device is detected but USB2 are (as they are routed to the other USB IC).

If I start the laptop with USB 3 flash drive connected to the 2 USB3/TB3 ports they appear in IOReg and the device gets mounted but if I remove and reconnect the device is no longer detected (so no hotplug).

I've read all the posts related to Thunderbolt 3 power/hot plug and most of them refer to USB3/TB3 on desktop configs and the ones I found for laptops are already compiled SSDTs with nothing in common with my config so I cant figure it out on how to do it on this platform.

Any help/hints are welcome

Attached is my debug dump with a dongle connected to USB3/TB3 port so the IC is shown in IOReg.
Is there a force power Thunderbolt setting in the laptop bios?
 
Joined
Feb 4, 2011
Messages
57
Motherboard
Gigabyte GA-Z170N-WiFi
CPU
i7-6700K
Graphics
GT 640
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android
Unfortunately no.
It has a minimal set of options and for Thunderbolt 3 it has only the security options as it can be seen in attached screenshot
P_20200306_223745.jpg

But if I open the bios file I have the following hidden options
Screen Shot 2020-03-06 at 10.44.57 PM.png
Screen Shot 2020-03-06 at 10.45.21 PM.png
Screen Shot 2020-03-06 at 10.45.45 PM.png
Screen Shot 2020-03-06 at 10.45.59 PM.png
Screen Shot 2020-03-06 at 10.46.06 PM.png

I can do a BIOS mod if it is required but I'd prefer to have stock BIOS and go with ACPI patching.

During my research I found a post regarding Thunderbolt 3 power but it refers to _PS0 method that I do not have inside _SB.PCI0.RP21 where the thunderbolt definition can be found on this laptop plus NHI0 device inside DSB0 and that chain I do not have and cant find a reference on what is the relation between that ACPI chain and the one this laptop has.
 
Last edited by a moderator:
Joined
Apr 5, 2016
Messages
807
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
Apple, LC, Power Mac
Mobile Phone
iOS
Unfortunately no.
It has a minimal set of options and for Thunderbolt 3 it has only the security options as it can be seen in attached screenshot

But if I open the bios file I have the following hidden options
What's the name of the exe that lets you see the hidden options? In macOS, I use UEFIExtract and Universal IFR Extractor.

I can do a BIOS mod if it is required but I'd prefer to have stock BIOS and go with ACPI patching.

During my research I found a post regarding Thunderbolt 3 power but it refers to _PS0 method that I do not have inside _SB.PCI0.RP21 where the thunderbolt definition can be found on this laptop plus NHI0 device inside DSB0 and that chain I do not have and cant find a reference on what is the relation between that ACPI chain and the one this laptop has.
BIOS mod might be the easiest way.
Another option would be to use ifrextract, find where the GPIO3 Force Pwr option is saved, then search output of uefiextract for efi drivers that read from that location to see how it forces power. That might not be necessary if GPIO3 is a specific GPIO with a standard method for modifying it (there may be Linux or Acpi or EFI code that does that).
 
Joined
Feb 4, 2011
Messages
57
Motherboard
Gigabyte GA-Z170N-WiFi
CPU
i7-6700K
Graphics
GT 640
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android
What's the name of the exe that lets you see the hidden options? In macOS, I use UEFIExtract and Universal IFR Extractor.
The screen shots are from AMIBCP done in Windows. I do not know of an app that dose the same thing for MacOS.

BIOS mod might be the easiest way.
True, but the manufacturer rolls out new updates to improve some of the features this laptop has and then I need to do them all over again.

Another option would be to use ifrextract, find where the GPIO3 Force Pwr option is saved, then search output of uefiextract for efi drivers that read from that location to see how it forces power. That might not be necessary if GPIO3 is a specific GPIO with a standard method for modifying it (there may be Linux or Acpi or EFI code that does that).
Thanks for the hints. I will ding into this and see what I can find. On the post I was talking about it did not say what tools were used to find the data used in making the DSDT patch.

From what I see it seems that this controller is detected under Linux so I will also look into the kernel source code and see what I can find.
 
Top