Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

The Intel XHCI controller is the USB3 controller provided by Intel.
Special requirements with USB-C as the cable can be turned upside down, and it is handled in different ways depending on hardware (some details in the ACPI spec).

My head is spinning again. So I just went through everything I did to this point and realized I never did anything with the MaciASL file that I downloaded from your repository. I opened it and see a bunch of stuff that makes no sense to me and I don't see anywhere in this guide were it describes in detail for a noob like me when I use this and where. Did I miss it?
 

Attachments

  • Screen Shot 2017-02-20 at 4.43.39 PM.png
    Screen Shot 2017-02-20 at 4.43.39 PM.png
    983.5 KB · Views: 109
Sounds like a hub. Nothing unusual or unexpected about internal hubs...
Port injection as described here is only for the ports on the controller. Ports on attached hubs are a separate matter.
OK thanks! I am still confused about syntax in this instance though, since my device ID isn't close to the ones in the template.

Do i create a new entry and then just fill out as desired? Do they need to go in a certain order? Do physical ports go next to each other?

Thanks
 
My head is spinning again. So I just went through everything I did to this point and realized I never did anything with the MaciASL file that I downloaded from your repository. I opened it and see a bunch of stuff that makes no sense to me and I don't see anywhere in this guide were it describes in detail for a noob like me when I use this and where. Did I miss it?

Why are you looking at your DSDT code? Your Intel XHCI controller is likely already named XHC, and Skylake has no EHCI controllers (so no need to rename EHCx->EH0x).
The only remaining ACPI task as it relates to USB is to insure that _OSI emulates a suitable version of Windows. For that, you use the _OSI->XOSI patch in config.plist and SSDT-XOSI.aml in ACPI/patched. No need to touch DSDT directly.

But to your question, if you're curious about ACPI code and your DSDT, read the ACPI specification.
 
OK thanks! I am still confused about syntax in this instance though, since my device ID isn't close to the ones in the template.

What device-id are you referring to?

Do i create a new entry and then just fill out as desired? Do they need to go in a certain order? Do physical ports go next to each other?

What do you mean by "new entry"? Creating a custom SSDT never involves creating new "port" entries... only deleting existing entries provided in SSDT-UIAC-ALL.dsl.
 
What device-id are you referring to?

What do you mean by "new entry"? Creating a custom SSDT never involves creating new "port" entries... only deleting existing entries provided in SSDT-UIAC-ALL.dsl.
I am confused because in the .dsl file I don't really see a configuration that matches mine.
3. None of the templates match my device ID <31 8d 00 00> so do I just create a whole new entry for that?
4. For the sake of my sanity, would the syntax for the AML be something like:
Code:
"8086_318d", Package()
            {
                "port-count", Buffer() { 26, 0, 0, 0 },
                "ports", Package()
                {
                    "HS01", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                    "SSP1", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
}
etc, etc?
I am confused what number to put inside the array. Does the array number match the physical port number or the logical one?
5. For my board, would SSP5 and HS09 have the same array numbers even though there are 4 physical ports?
6. Would SSP1 and HS01 have the same array numbers or different? Sorry I'm very not clear on syntax here.
So my device ID would be 318d but nothing really matches that and the ports seem much different than what's laid out already in the .dsl, so I'm confused on how to customize appropriately.

ty!
 
I am confused because in the .dsl file I don't really see a configuration that matches mine.

So my device ID would be 318d but nothing really matches that and the ports seem much different than what's laid out already in the .dsl, so I'm confused on how to customize appropriately.

ty!

No idea what you're referring to as you did not provide any files.
Read post #1, "Problem Reporting".
 
No idea what you're referring to as you did not provide any files.
Read post #1, "Problem Reporting".
There isn't a problem or files as i haven't made any custom file yet. I'm asking for clarification on the guide before I attempt. You say to choose the template appropriate for my device ID and customize but my device ID isn't listed so I'm asking if i should make an entirely new set of entries or modify a different one
 
There isn't a problem or files as i haven't made any custom file yet. I'm asking for clarification on the guide before I attempt. You say to choose the template appropriate for my device ID and customize but my device ID isn't listed so I'm asking if i should make an entirely new set of entries or modify a different one

It is not possible to have a discussion without the "Problem Reporting" files.
Read, "Problem Reporting". Attach requested files.
 
It is not possible to have a discussion without the "Problem Reporting" files.
Read, "Problem Reporting". Attach requested files.
 

Attachments

  • problems.zip
    22.9 MB · Views: 77
IOACPIPlane seems to imply SSP5 and SSP6 may be connected to an internal 4 port hub.
It means SSP5 and SSP6 should be marked internal (UsbConnector=255).
You might try that setup. The UsbConnector values can be changed in SSDT-UIAC-ALL.dsl.

Also, your ACPI configuration is wrong. It is NOT valid to use the _OSI->XOSI patch without the SSDT that implements the XOSI method (SSDT-XOSI.aml). Using that patch without the SSDT will cause ACPI abort on any reference to _OSI in original ACPI files. That is not a good thing...
I used SSDT-XOSI.aml and used SSP5 and 6 as internal 255. Still no go. I see on port HS09 and HS10 AppleUSB2Hubs?
Now that should be USB3 hub.?
 

Attachments

  • Screen Shot 2017-02-21 at 13.00.29.png
    Screen Shot 2017-02-21 at 13.00.29.png
    203.6 KB · Views: 90
Back
Top