Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

It is part of the USB 3 hub that includes SS08. Why IOREG has it that way, I don’t know.

Not possible. A USB3 hub will have only 1x SSxx and 1x HSxx (never 2x SSxx).
 
I'm back.
Thought I'd start from scratch.
I have spent the morning doing a fresh install of High Sierra (10.13.6) onto a spare SSD. Multibeast was used only for the bare essentials (Clover, eSATA, NullCPUPowerManagement, FakeSMC and network drivers) Nothing USB was selected.

I then proceeded to manually install USBInjectAll.kext and XHCI-unsupported.kext but NOT the port patch.
Following the guide I applied the -uia_exclude_hs uia_include=HS03,HS04 flag and rebooted. Using IORegistryExplorer I got the relevant SS port detail, then changed that flag to -uia_exclude_ss exclude=USR1,USR2 and got the relevant HS port details. Making notes all the time.
I then edited the SSDT-UIAC-ALL.dsl appropriately.

Following the instructions to the letter I created the AML file, placing it in /clover/acpi/patched, renaming it to SSDT-UIAC.aml
Still does not work. The HS side of things is fine, no USB3 (SS) ports are functioning.
I have included both the debug files PRIOR to SSDT creation and POST creation, thinking that you may see where I'm going wrong.

Again, thank you for you time.
 

Attachments

  • 29207-BEFORE.zip
    1.2 MB · Views: 58
  • 30518-AFTER.zip
    1.3 MB · Views: 53
I created an SSDT based on this thread.

Great.
But that doesn't entitle you to ask questions that are not related to USB port configuration in this thread.
 
I'm back.
Thought I'd start from scratch.
I have spent the morning doing a fresh install of High Sierra (10.13.6) onto a spare SSD. Multibeast was used only for the bare essentials (Clover, eSATA, NullCPUPowerManagement, FakeSMC and network drivers) Nothing USB was selected.

I then proceeded to manually install USBInjectAll.kext and XHCI-unsupported.kext but NOT the port patch.
Following the guide I applied the -uia_exclude_hs uia_include=HS03,HS04 flag and rebooted. Using IORegistryExplorer I got the relevant SS port detail, then changed that flag to -uia_exclude_ss exclude=USR1,USR2 and got the relevant HS port details. Making notes all the time.
I then edited the SSDT-UIAC-ALL.dsl appropriately.

Following the instructions to the letter I created the AML file, placing it in /clover/acpi/patched, renaming it to SSDT-UIAC.aml
Still does not work. The HS side of things is fine, no USB3 (SS) ports are functioning.
I have included both the debug files PRIOR to SSDT creation and POST creation, thinking that you may see where I'm going wrong.

Again, thank you for you time.

Off-topic, but you should not use NullCPUPowerManagement.kext.

Your SSDT-UIAC.aml is incorrect. The port addresses are wrong. Do not change the port addresses from those in SSDT-UIAC-ALL.dsl. The ones in SSDT-UIAC-ALL.dsl are correct.
 
Off-topic, but you should not use NullCPUPowerManagement.kext.
Many thanks for that

Your SSDT-UIAC.aml is incorrect. The port addresses are wrong. Do not change the port addresses from those in SSDT-UIAC-ALL.dsl. The ones in SSDT-UIAC-ALL.dsl are correct.
The port numbers in the SSDT-UIAC.aml ARE EXACTLY the port numbers that were reported by IORegistryExplorer. I can do again with screen caps if that helps.

p.s. the first time round I thought exactly what you are saying, changing the ports accordingly. Made not a jot of diference.
 
The port numbers in the SSDT-UIAC.aml ARE EXACTLY the port numbers that were reported by IORegistryExplorer.

You are wrong.

Note, correct port address for SS01 is 0x11, from IOACPIPlane:
Screen Shot 2018-11-23 at 6.58.23 AM.png


Port address for SS01, coded in SSDT-UIAC-ALL.dsl for a12f:
Code:
                    "SS01", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 17, 0, 0, 0 },
                    },

Note: 17 is 0x11.

What you coded is 0x0b for SS01 which is wrong (it is the port address for HS11):
Code:
                    "SS01",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x0B, 0x00, 0x00, 0x00                        
                        }
                    },

It is simple: The port asssigments in SSDT-UIAC-All.dsl are already correct. If you're changing the port assignments from those provided in SSDT-UIAC-ALL.dsl, you are doing something wrong.
 
You are wrong.

Note, correct port address for SS01 is 0x11, from IOACPIPlane:
View attachment 367370

Port address for SS01, coded in SSDT-UIAC-ALL.dsl for a12f:
Code:
                    "SS01", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 17, 0, 0, 0 },
                    },

Note: 17 is 0x11.

What you coded is 0x0b for SS01 which is wrong (it is the port address for HS11):
Code:
                    "SS01",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x0B, 0x00, 0x00, 0x00                       
                        }
                    },

It is simple: The port asssigments in SSDT-UIAC-All.dsl are already correct. If you're changing the port assignments from those provided in SSDT-UIAC-ALL.dsl, you are doing something wrong.
I have to eat my words, you are correct, I was wrong. So many thanks for your help and sorry for being such a noob.
 
Great.
But that doesn't entitle you to ask questions that are not related to USB port configuration in this thread.
Sorry about that.
 
Back
Top