Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

Just to clarify, should I just remove that method from the defaulter device in ACPI ? Sorry, even though I come from Computer Science background but never did any low level programming but I am learning a lot, your guides are awesome and very technical not just a dirty hack. You know the big picture to fix things, You have a knack for it boy !!!

And, btw I have an Asus X99 Pro board, any ideas for BIOS related options ?

You can remove _PRW or change it such that it returns 0 for the second item in the return package.
If you do that for all _PRW that use the same GPE index, it should effectively disable wake for that GPE.

I don't have your board, so I'm not familiar with what BIOS settings you may have...
 
No "Problem Reporting" files attached.
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 tool mentioned in the FAQ, that way it is less likely you'll omit something.

I've attached all the proper files below along with my Clover folder. Hopefully these will help you with solving my issue! I'm having an issue where my computer instantly wakes from sleep right after I select sleep in the drop down menu. Sometimes it works, others it does not.

I also have a USB 3.1 Gen 2 Type-A Port that is not located under my HSxx or SSxx ports so I was not able to integrate that into my SSDT. Could this be part of my problem? Below is a screenshot of my IOreg regarding that port.

Here is a shot of my terminal report for "Wake reason"


Below is my .dsl

Code:
DefinitionBlock ("SSDT-USB.aml", "SSDT", 1, "sample", "USBFix", 0)
{
    // "USBInjectAllConfiguration" : override for USBInjectAll.kext
    Device(UIAC)
    {
        Name(_HID, "UIA00000")
        // "RehabManConfiguration"
        Name(RMCF, Package()
        {
            // XHC overrides for 300-series boards
            "8086_a2af", Package()
            {
                "port-count", Buffer() { 0xd, 0, 0, 0}, // Highest port number is HS10 at 0x0a
                "ports", Package()
                {
                    "HS03", Package() // USB 3.1 Gen 1 port, port <03 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x03, 0, 0, 0 },
                    },
                    "HS04", Package() // USB 3.1 Gen 1 port, port <04 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x04, 0, 0, 0 },
                    },
                    "HS05", Package() // USB3 port on case #1 , port <05 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x05, 0, 0, 0 },
                    },
                    "HS06", Package() // USB3 port on case #2 , port <06 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x06, 0, 0, 0 },
                    },
                    "HS07", Package() // USB 3.1 Gen 1 port , port <07 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x07, 0, 0, 0 },
                    },
                    "HS08", Package() // USB 3.1 Gen 1 port , port <08 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x08, 0, 0, 0 },
                    },
                    "HS09", Package() // USB 2.0/1.1 port, port <09 00 00 00>
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x09, 0, 0, 0 },
                    },
                    "HS10", Package() // USB 2.0/1.1 port, port <0a 00 00 00>
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x0a, 0, 0, 0 },
             
                   },
                },
            },
        })
    }
}
//EOF

Below is my .asl

Code:
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20140926-64 [Oct 24 2014]
* Copyright (c) 2000 - 2014 Intel Corporation
*
* Disassembly of iASLhgkXl3.aml, Thu Jan 25 22:23:30 2018
*
* Original Table Header:
*     Signature        "SSDT"
*     Length           0x000001A8 (424)
*     Revision         0x01
*     Checksum         0x41
*     OEM ID           "sample"
*     OEM Table ID     "USBFix"
*     OEM Revision     0x00000000 (0)
*     Compiler ID      "INTL"
*     Compiler Version 0x20140926 (538183974)
*/
DefinitionBlock ("iASLhgkXl3.aml", "SSDT", 1, "sample", "USBFix", 0x00000000)
{
    Device (UIAC)
    {
        Name (_HID, "UIA00000")  // _HID: Hardware ID
        Name (RMCF, Package (0x02)
        {
            "8086_a2af",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x0D, 0x00, 0x00, 0x00                           /* .... */
                },

                "ports",
                Package (0x10)
                {
                    "HS03",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS04",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS05",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x05, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS06",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x06, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS07",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x07, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS08",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x08, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS09",
                    Package (0x04)
                    {
                        "UsbConnector",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x09, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS10",
                    Package (0x04)
                    {
                        "UsbConnector",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x0A, 0x00, 0x00, 0x00                           /* .... */
                        }
                    }
                }
            }
        })
    }
}
 

Attachments

  • ioreg.ioreg
    14.7 MB · Views: 115
  • CLOVER 2.zip
    2.6 MB · Views: 64
Last edited:
I've attached all the proper files below along with my Clover folder. Hopefully these will help you with solving my issue! I'm having an issue where my computer instantly wakes from sleep right after I select sleep in the drop down menu. Sometimes it works, others it does not.

I also have a USB 3.1 Gen 2 Type-A Port that is not located under my HSxx or SSxx ports so I was not able to integrate that into my SSDT. Could this be part of my problem? Below is a screenshot of my IOreg regarding that port.

Here is a shot of my terminal report for "Wake reason"


Below is my .dsl

Code:
DefinitionBlock ("SSDT-USB.aml", "SSDT", 1, "sample", "USBFix", 0)
{
    // "USBInjectAllConfiguration" : override for USBInjectAll.kext
    Device(UIAC)
    {
        Name(_HID, "UIA00000")
        // "RehabManConfiguration"
        Name(RMCF, Package()
        {
            // XHC overrides for 300-series boards
            "8086_a2af", Package()
            {
                "port-count", Buffer() { 0xd, 0, 0, 0}, // Highest port number is HS10 at 0x0a
                "ports", Package()
                {
                    "HS03", Package() // USB 3.1 Gen 1 port, port <03 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x03, 0, 0, 0 },
                    },
                    "HS04", Package() // USB 3.1 Gen 1 port, port <04 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x04, 0, 0, 0 },
                    },
                    "HS05", Package() // USB3 port on case #1 , port <05 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x05, 0, 0, 0 },
                    },
                    "HS06", Package() // USB3 port on case #2 , port <06 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x06, 0, 0, 0 },
                    },
                    "HS07", Package() // USB 3.1 Gen 1 port , port <07 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x07, 0, 0, 0 },
                    },
                    "HS08", Package() // USB 3.1 Gen 1 port , port <08 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x08, 0, 0, 0 },
                    },
                    "HS09", Package() // USB 2.0/1.1 port, port <09 00 00 00>
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x09, 0, 0, 0 },
                    },
                    "HS10", Package() // USB 2.0/1.1 port, port <0a 00 00 00>
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x0a, 0, 0, 0 },
            
                   },
                },
            },
        })
    }
}
//EOF

Below is my .asl

Code:
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20140926-64 [Oct 24 2014]
* Copyright (c) 2000 - 2014 Intel Corporation
*
* Disassembly of iASLhgkXl3.aml, Thu Jan 25 22:23:30 2018
*
* Original Table Header:
*     Signature        "SSDT"
*     Length           0x000001A8 (424)
*     Revision         0x01
*     Checksum         0x41
*     OEM ID           "sample"
*     OEM Table ID     "USBFix"
*     OEM Revision     0x00000000 (0)
*     Compiler ID      "INTL"
*     Compiler Version 0x20140926 (538183974)
*/
DefinitionBlock ("iASLhgkXl3.aml", "SSDT", 1, "sample", "USBFix", 0x00000000)
{
    Device (UIAC)
    {
        Name (_HID, "UIA00000")  // _HID: Hardware ID
        Name (RMCF, Package (0x02)
        {
            "8086_a2af",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x0D, 0x00, 0x00, 0x00                           /* .... */
                },

                "ports",
                Package (0x10)
                {
                    "HS03",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS04",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS05",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x05, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS06",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x06, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS07",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x07, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS08",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x08, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS09",
                    Package (0x04)
                    {
                        "UsbConnector",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x09, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS10",
                    Package (0x04)
                    {
                        "UsbConnector",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x0A, 0x00, 0x00, 0x00                           /* .... */
                        }
                    }
                }
            }
        })
    }
}

"Problem Reporting" files are incomplete/wrong (missing content, and wrong version of IORegistryExplorer used).
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 tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
1."EHC1->EH01 and EHC2->EH02 rename"
Do I still need to do this when I don't have ECH? I have H170 motherboard.

2."If you plan to use it, install FakePCIID.kext + FakePCIID_XHCIMux.kext"
I don't understand what you mean, Does UIAC need FakePCIID.kext + FakePCIID_XHCIMux.kext in order to work correctly? Currently I have only UIAC and USBInjectAll.kext, haven't notice any issue.

3. I heard 10.13.4 removed port limit, or changed port limit code. If this is true, do I need to redo this SSDT?Because port name may change? What actions should I take for this change in 10.13.4?


Thanks.
 
1."EHC1->EH01 and EHC2->EH02 rename"
Do I still need to do this when I don't have ECH? I have H170 motherboard.

Of course not.

2."If you plan to use it, install FakePCIID.kext + FakePCIID_XHCIMux.kext"
I don't understand what you mean, Does UIAC need FakePCIID.kext + FakePCIID_XHCIMux.kext in order to work correctly? Currently I have only UIAC and USBInjectAll.kext, haven't notice any issue.

FakePCIID_XHCIMux.kext is not applicable to 100-series and later (no EHCI).

3. I heard 10.13.4 removed port limit, or changed port limit code. If this is true, do I need to redo this SSDT?Because port name may change? What actions should I take for this change in 10.13.4?

10.13.4 is not released.
If you stay within the 15-port limit (by creating a SSDT for USBInjectAll), when you update to 10.13.4, there will be no issue with the changes related to the port limit (assuming they did not make the limit smaller than 15).
 
"Problem Reporting" files are incomplete/wrong (missing content, and wrong version of IORegistryExplorer used).
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 tool mentioned in the FAQ, that way it is less likely you'll omit something.


Hopefully these are all the correct files you were looking for. I went through each step on the "Problem Reporting" section. I used the version of IOreg provided in the attached post, provided each terminal output, the RehabMan downloads .zip and my Clover.

I'm having an issue where my computer instantly wakes from sleep right after I select sleep in the drop down menu. Sometimes it works, others it does not.

I also have a USB 3.1 Gen 2 Type-A Port that is not located under my HSxx or SSxx ports so I was not able to integrate that into my SSDT. Could this be part of my problem? Below is a screenshot of my IOreg regarding that port.

Here is a shot of my terminal report for "Wake reason"


Below is my .dsl

Code:
DefinitionBlock ("SSDT-USB.aml", "SSDT", 1, "sample", "USBFix", 0)
{
    // "USBInjectAllConfiguration" : override for USBInjectAll.kext
    Device(UIAC)
    {
        Name(_HID, "UIA00000")
        // "RehabManConfiguration"
        Name(RMCF, Package()
        {
            // XHC overrides for 300-series boards
            "8086_a2af", Package()
            {
                "port-count", Buffer() { 0xd, 0, 0, 0}, // Highest port number is HS10 at 0x0a
                "ports", Package()
                {
                    "HS03", Package() // USB 3.1 Gen 1 port, port <03 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x03, 0, 0, 0 },
                    },
                    "HS04", Package() // USB 3.1 Gen 1 port, port <04 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x04, 0, 0, 0 },
                    },
                    "HS05", Package() // USB3 port on case #1 , port <05 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x05, 0, 0, 0 },
                    },
                    "HS06", Package() // USB3 port on case #2 , port <06 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x06, 0, 0, 0 },
                    },
                    "HS07", Package() // USB 3.1 Gen 1 port , port <07 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x07, 0, 0, 0 },
                    },
                    "HS08", Package() // USB 3.1 Gen 1 port , port <08 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x08, 0, 0, 0 },
                    },
                    "HS09", Package() // USB 2.0/1.1 port, port <09 00 00 00>
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x09, 0, 0, 0 },
                    },
                    "HS10", Package() // USB 2.0/1.1 port, port <0a 00 00 00>
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x0a, 0, 0, 0 },
            
                   },
                },
            },
        })
    }
}
//EOF

Below is my .asl

Code:
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20140926-64 [Oct 24 2014]
* Copyright (c) 2000 - 2014 Intel Corporation
*
* Disassembly of iASLhgkXl3.aml, Thu Jan 25 22:23:30 2018
*
* Original Table Header:
*     Signature        "SSDT"
*     Length           0x000001A8 (424)
*     Revision         0x01
*     Checksum         0x41
*     OEM ID           "sample"
*     OEM Table ID     "USBFix"
*     OEM Revision     0x00000000 (0)
*     Compiler ID      "INTL"
*     Compiler Version 0x20140926 (538183974)
*/
DefinitionBlock ("iASLhgkXl3.aml", "SSDT", 1, "sample", "USBFix", 0x00000000)
{
    Device (UIAC)
    {
        Name (_HID, "UIA00000")  // _HID: Hardware ID
        Name (RMCF, Package (0x02)
        {
            "8086_a2af",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x0D, 0x00, 0x00, 0x00                           /* .... */
                },

                "ports",
                Package (0x10)
                {
                    "HS03",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS04",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS05",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x05, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS06",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x06, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS07",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x07, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS08",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x08, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS09",
                    Package (0x04)
                    {
                        "UsbConnector",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x09, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS10",
                    Package (0x04)
                    {
                        "UsbConnector",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x0A, 0x00, 0x00, 0x00                           /* .... */
                        }
                    }
                }
            }
        })
    }
}
 

Attachments

  • Archive.zip
    190.7 KB · Views: 58
  • CLOVER.zip
    2.6 MB · Views: 66
  • ioreg.zip
    761.2 KB · Views: 60
  • Terminal Output.zip
    1.7 KB · Views: 66
  • Terminal Output 2.zip
    1.3 KB · Views: 54
Hopefully these are all the correct files you were looking for. I went through each step on the "Problem Reporting" section. I used the version of IOreg provided in the attached post, provided each terminal output, the RehabMan downloads .zip and my Clover.

I'm having an issue where my computer instantly wakes from sleep right after I select sleep in the drop down menu. Sometimes it works, others it does not.

I also have a USB 3.1 Gen 2 Type-A Port that is not located under my HSxx or SSxx ports so I was not able to integrate that into my SSDT. Could this be part of my problem? Below is a screenshot of my IOreg regarding that port.

Here is a shot of my terminal report for "Wake reason"


Below is my .dsl

Code:
DefinitionBlock ("SSDT-USB.aml", "SSDT", 1, "sample", "USBFix", 0)
{
    // "USBInjectAllConfiguration" : override for USBInjectAll.kext
    Device(UIAC)
    {
        Name(_HID, "UIA00000")
        // "RehabManConfiguration"
        Name(RMCF, Package()
        {
            // XHC overrides for 300-series boards
            "8086_a2af", Package()
            {
                "port-count", Buffer() { 0xd, 0, 0, 0}, // Highest port number is HS10 at 0x0a
                "ports", Package()
                {
                    "HS03", Package() // USB 3.1 Gen 1 port, port <03 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x03, 0, 0, 0 },
                    },
                    "HS04", Package() // USB 3.1 Gen 1 port, port <04 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x04, 0, 0, 0 },
                    },
                    "HS05", Package() // USB3 port on case #1 , port <05 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x05, 0, 0, 0 },
                    },
                    "HS06", Package() // USB3 port on case #2 , port <06 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x06, 0, 0, 0 },
                    },
                    "HS07", Package() // USB 3.1 Gen 1 port , port <07 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x07, 0, 0, 0 },
                    },
                    "HS08", Package() // USB 3.1 Gen 1 port , port <08 00 00 00>
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 0x08, 0, 0, 0 },
                    },
                    "HS09", Package() // USB 2.0/1.1 port, port <09 00 00 00>
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x09, 0, 0, 0 },
                    },
                    "HS10", Package() // USB 2.0/1.1 port, port <0a 00 00 00>
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 0x0a, 0, 0, 0 },
           
                   },
                },
            },
        })
    }
}
//EOF

Below is my .asl

Code:
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20140926-64 [Oct 24 2014]
* Copyright (c) 2000 - 2014 Intel Corporation
*
* Disassembly of iASLhgkXl3.aml, Thu Jan 25 22:23:30 2018
*
* Original Table Header:
*     Signature        "SSDT"
*     Length           0x000001A8 (424)
*     Revision         0x01
*     Checksum         0x41
*     OEM ID           "sample"
*     OEM Table ID     "USBFix"
*     OEM Revision     0x00000000 (0)
*     Compiler ID      "INTL"
*     Compiler Version 0x20140926 (538183974)
*/
DefinitionBlock ("iASLhgkXl3.aml", "SSDT", 1, "sample", "USBFix", 0x00000000)
{
    Device (UIAC)
    {
        Name (_HID, "UIA00000")  // _HID: Hardware ID
        Name (RMCF, Package (0x02)
        {
            "8086_a2af",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x0D, 0x00, 0x00, 0x00                           /* .... */
                },

                "ports",
                Package (0x10)
                {
                    "HS03",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS04",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS05",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x05, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS06",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x06, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS07",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x07, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS08",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x08, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS09",
                    Package (0x04)
                    {
                        "UsbConnector",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x09, 0x00, 0x00, 0x00                           /* .... */
                        }
                    },

                    "HS10",
                    Package (0x04)
                    {
                        "UsbConnector",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x0A, 0x00, 0x00, 0x00                           /* .... */
                        }
                    }
                }
            }
        })
    }
}

USB ports connected to thunderbolt controllers are not addressed by this guide.
Your USB configuration is wrong (no SSxx ports injected).
Note also (off-topic), CPU PM is not implemented.
 
USB ports connected to thunderbolt controllers are not addressed by this guide.
Your USB configuration is wrong (no SSxx ports injected).
Note also (off-topic), CPU PM is not implemented.

Thank you for your reply.

When I did the port discovery I used the patch you provided to show they were there. All SSxx ports were present at that time. The port discovery showed none of the ports on my motherboard used SSxx. I disabled them in Clover since I read your first about how disabling ports not in use can provide slight power saving. Should I change this?

How would I go about implementing CPU PM?
 
Back
Top