Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

"Problem Reporting" files are incomplete/wrong (PR files should not be 22.5mb)
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
It contains two set of clover files that generated by the tool you mentioned

edit: i trimmed it a little, removed those unused kext etc
 

Attachments

  • Archive.zip
    18.9 MB · Views: 84
Last edited:
It contains two set of clover files that generated by the tool you mentioned

edit: i trimmed it a little, removed those unused kext etc

Your kextcache output proves kexts are not installed correctly.
All kexts you need must be installed to the system volume.
Read post #2 of the Clover guide for details:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/

Only "essential" kexts should be in EFI/Clover/kexts/Other. This is why your PR files are so huge (a bunch of non-essential kexts on EFI).

With Haswell, best to put everything on XHC. Your EHCI controllers are disabled anyway.
 
is this custom usb SSDT still recommended with 10.13.4 ?
 
Got this working after a few tries. Device ID is 8086_8cb1 and first tried 8086_9cb1 (seemed closer than 8086_8xxx) but that only enabled USB 2. Then used the _8xxx version and bingo, Intel USB 3 lit up. Deleted port limit increase patch per instructions. One question: do we keep the PMHeart 10.13.4 patch?
 
Last edited:
Got this working after a few tries. Device ID is 8086_8cb1 and first tried 8086_9cb1 (seemed closer than 8086_8xxx) but that only enabled USB 2. Then used the _8xxx version and bingo, Intel USB 3 lit up. Deleted port limit increase patch per instructions. One question: do we keep the PMHeart 10.13.4 patch?

As per post #1, use of the port limit patch is only for port discovery.
 
Hi, I have a problem with my Gigabyte Z370 UG configuration.
Everything works perfectly with the new patch for HS 10.13.4, but if I connect a USB 3.0 device (no problem with USB 2.0), when I turn off my computer it turns on again after a few seconds.
If I use Fix Shutdown the problem is solved, but I would like to avoid it for other reasons (I use darkwake = 8).
Are there any other solutions? I attach my IOReg with the connected devices.
 

Attachments

  • LT IOReg.zip
    774.4 KB · Views: 64
Hi, I have a problem with my Gigabyte Z370 UG configuration.
Everything works perfectly with the new patch for HS 10.13.4, but if I connect a USB 3.0 device (no problem with USB 2.0), when I turn off my computer it turns on again after a few seconds.
If I use Fix Shutdown the problem is solved, but I would like to avoid it for other reasons (I use darkwake = 8).
Are there any other solutions? I attach my IOReg with the connected devices.

Your USB configuration is wrong. Read post #1.
 
Your USB configuration is wrong. Read post #1.
I created my custom SSDT (thanks for your guide), now I see only the ports that I have enabled (missing the USB-C because I do not have devices to test it, while the USB 3.1 is under RP19.PXSX and I have not changed it).
Unfortunately the problem is not solved: reboot after shutdown when an USB 3 device is connected. While sleep works fine like before.
Did I neglect something? Sorry but I'm not an expert.

Code:
DefinitionBlock ("SSDT-USB.aml", "SSDT", 1, "hack", "USBFix", 0)
{
    // "USBInjectAllConfiguration" : override settings for USBInjectAll.kext
    Device(UIAC)
    {
        Name(_HID, "UIA00000")
        // "RehabManConFiguration"
        Name(RMCF, Package()
        {
            "8086_a2af", Package()
            {
                "port-count", Buffer() { 0x18, 0, 0, 0},
                "ports", Package()
                {  
                    "HS03", Package() // HS USB3 DAC-UP rear left <03 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x03, 0, 0, 0 },
                    },
                    "HS04", Package() // HS USB3 DAC-UP rear right <04 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x04, 0, 0, 0 },
                    },
                    "HS05", Package() // HS USB3 front left <05 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x05, 0, 0, 0 },
                    },
                    "HS06", Package() // HS USB3 front right <06 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x06, 0, 0, 0 },
                    },
                    "HS07", Package() // HS USB3 rear left <07 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x07, 0, 0, 0 },
                    },
                    "HS08", Package() // HS USB3 rear right <08 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x08, 0, 0, 0 },
                    },
                    "HS09", Package() // HS USB2 rear left <09 00 00 00>
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x09, 0, 0, 0 },
                    },
                    "HS10", Package() // HS USB2 rear right <0a 00 00 00>
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x0a, 0, 0, 0 },
                    },
                    "HS13", Package() // Bluetooth <0d 00 00 00>
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 0x0d, 0, 0, 0 },
                    },
                    "SS03", Package() // SS USB3 DAC-UP rear left <13 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x13, 0, 0, 0 },
                    },
                    "SS04", Package() // SS USB3 DAC-UP rear right <14 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x14, 0, 0, 0 },
                    },
                    "SS05", Package() // SS USB3 front left <15 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x11, 0, 0, 0 },
                    },
                    "SS06", Package() // SS USB3 front right <16 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x16, 0, 0, 0 },
                    },
                    "SS07", Package() // SS USB3 rear left <17 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x17, 0, 0, 0 },
                    },
                    "SS08", Package() // SS USB3 rear right <18 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x18, 0, 0, 0 },
                    },
                },
            },
        })
    }
}
 

Attachments

  • IOReg SSDT-USB.zip
    751.8 KB · Views: 74
I created my custom SSDT (thanks for your guide), now I see only the ports that I have enabled (missing the USB-C because I do not have devices to test it, while the USB 3.1 is under RP19.PXSX and I have not changed it).
Unfortunately the problem is not solved: reboot after shutdown when an USB 3 device is connected. While sleep works fine like before.
Did I neglect something? Sorry but I'm not an expert.

Code:
DefinitionBlock ("SSDT-USB.aml", "SSDT", 1, "hack", "USBFix", 0)
{
    // "USBInjectAllConfiguration" : override settings for USBInjectAll.kext
    Device(UIAC)
    {
        Name(_HID, "UIA00000")
        // "RehabManConFiguration"
        Name(RMCF, Package()
        {
            "8086_a2af", Package()
            {
                "port-count", Buffer() { 0x18, 0, 0, 0},
                "ports", Package()
                {
                    "HS03", Package() // HS USB3 DAC-UP rear left <03 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x03, 0, 0, 0 },
                    },
                    "HS04", Package() // HS USB3 DAC-UP rear right <04 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x04, 0, 0, 0 },
                    },
                    "HS05", Package() // HS USB3 front left <05 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x05, 0, 0, 0 },
                    },
                    "HS06", Package() // HS USB3 front right <06 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x06, 0, 0, 0 },
                    },
                    "HS07", Package() // HS USB3 rear left <07 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x07, 0, 0, 0 },
                    },
                    "HS08", Package() // HS USB3 rear right <08 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x08, 0, 0, 0 },
                    },
                    "HS09", Package() // HS USB2 rear left <09 00 00 00>
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x09, 0, 0, 0 },
                    },
                    "HS10", Package() // HS USB2 rear right <0a 00 00 00>
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x0a, 0, 0, 0 },
                    },
                    "HS13", Package() // Bluetooth <0d 00 00 00>
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 0x0d, 0, 0, 0 },
                    },
                    "SS03", Package() // SS USB3 DAC-UP rear left <13 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x13, 0, 0, 0 },
                    },
                    "SS04", Package() // SS USB3 DAC-UP rear right <14 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x14, 0, 0, 0 },
                    },
                    "SS05", Package() // SS USB3 front left <15 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x11, 0, 0, 0 },
                    },
                    "SS06", Package() // SS USB3 front right <16 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x16, 0, 0, 0 },
                    },
                    "SS07", Package() // SS USB3 rear left <17 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x17, 0, 0, 0 },
                    },
                    "SS08", Package() // SS USB3 rear right <18 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x18, 0, 0, 0 },
                    },
                },
            },
        })
    }
}

"auto restart" after shutdown is probably some other issue.
BIOS settings/ACPI issues, etc.

You might look into the "XHC.PMEE fix" (see laptop ACPI patching guide, and my laptop MaciASL patch repo) if BIOS settings don't help.

Note also that you didn't implement USB power properties. Read here:
https://www.tonymacx86.com/threads/guide-usb-power-property-injection-for-sierra-and-later.222266/
 
Back
Top