Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Questions about the Thunderbolt 3 bus display? #9

Open
CrazyPegasus opened this issue Nov 18, 2020 · 9 comments
Open

Questions about the Thunderbolt 3 bus display? #9

CrazyPegasus opened this issue Nov 18, 2020 · 9 comments
Labels
question Further information is requested

Comments

@CrazyPegasus
Copy link

To make the Thunderbolt 3 bus display the Thunderbolt device information: Is it necessary to plug in the Thunderbolt device? If the device is not plugged in, the Thunderbolt 3 bus is empty and does not display. In addition, how does the domain-uuid of the Thunderbolt 3 bus come from?

@CrazyPegasus CrazyPegasus changed the title Questions about the Raiden 3 bus display? Questions about the Thunderbolt 3 bus display? Nov 18, 2020
@benbender
Copy link
Owner

benbender commented Nov 18, 2020

Hey,

no its not needed to have a device connected.
It is shown as soon as the OSX-drivers are correctly loaded (which in turn needs the ACPI-devices, the ICM in the expected state and a matching DROM injected via DeviceProperties).

The UUID is basically random and should generally be unique per system as it is used in TB-based networking between machines which would not work if two, via thunderbolt connected, machines have the same UUID. ATM I ignore this fact basically to not make things even more complicated.

@benbender benbender added the question Further information is requested label Nov 18, 2020
@CrazyPegasus
Copy link
Author

The SSDT-4-RVP7Rtd3 of my T580 does not have _PS0: Power State 0 and _PS3: Power State 3 power switch states. Although my Thunderbolt 3 hot swap is normal, the egpu is also normal, just the Thunderbus bus. That is not displayed. I want it to be displayed now. So are _PS0 and _PS3 important? It depends on the _PS used in your Raiden ssdt.

@CrazyPegasus
Copy link
Author

@benbender
Copy link
Owner

The thing is that your devices are probably running as simple PCI-devices behind a PCIe-bridge. The connections are handled inside the ICM and not the OSX-driver. Have a look at the init()-method of DSB0 - thats where the ICM is resetted.

@CrazyPegasus
Copy link
Author

CrazyPegasus commented Nov 19, 2020

You mean to put
If (OSDW)
{
ICMD ()
}
Else
{
ICMS ()
}Change to
If (OSDW)
{
ICMS ()
}
Else
{
ICMD ()
} in SSDT-DSB0

@benbender
Copy link
Owner

benbender commented Nov 19, 2020

That's where the ICM is handled, yes. Real work for OSX is done in ICMD(). But you need the whole, fitting setup (bios, acpi, icm-setup, drom-config) to make it load/work.

PS: Is the T580 like the T480 with only one TB-port and a JHL6240?

@CrazyPegasus
Copy link
Author

Yes, P52s, T480s, T580, T480 are all JHL6240 ports

@benbender
Copy link
Owner

Those would at least need a different DROM and I'm unsure if those machines, without an integrated TB-switch, are (fully) supported by apples drivers at all. It may be needed to have a look at the original ACPI-implementation on those first generation macbookair with only one port. My ACPI-patches are a relative straight port of the implementation of the macbookpro14,1-ACPI for TB-handling, which has two ports and an integrated switch.

@whatnameisit
Copy link

Hi. I'm looking at your Thunderbolt 3 implementation in macOS, and I was wondering if I could port it to my HP Elite X2 1012 G2 with one Thunderbolt 3 port, JHL6540.
What I've tried:

  • Use OSY's ThunderboltReset: not working.
  • Use your bare code with modified device names: not working.
  • Use your debugging code to see what happens: Thunderbolt device is not turning on.
  • Look at BIOS for Thunderbolt 3 settings: only security level exists; None, User Authorization, and Full.
    I'm guessing more work needs to be done on the ACPI side and DROM.
    May I ask a series of questions?
  • What does integerated TB-switch mean?
  • Is ThunderboltUtil.sh how you mod DROM? But how do I use it?
  • I have about zero knowledge in reverse engineering. I can at least look up ACPI methods to see what it executes. Is this whole getting Thunderbolt 3 to work worth the try?

By the way, I think this needs to be inside _UPC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants