Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

Attachments

  • debug_23673.zip
    2.8 MB · Views: 112
Here is my debug files.

thanks,

Native ACPI uses XHC, so no need for XHC1/XHCI patches.
Note:
Code:
NUC6i7KYK:origin rehabman$ grep Device.*XHC.* *.dsl
DSDT.dsl:        Device (XHC)
 
xHCI mode is BIOS option.

In my bios I see XHCI hand-off and EHCI hand-off, enable/disabled. Both are enabled right now.

So I should enable XHCI and disable EHCI? Does this seem like the right setting in bios?
 
In my bios I see XHCI hand-off and EHCI hand-off, enable/disabled. Both are enabled right now.

So I should enable XHCI and disable EHCI? Does this seem like the right setting in bios?

XHCI handoff has nothing to do with XHCI mode.
 
XHCI handoff has nothing to do with XHCI mode.

I found the XHCI mode in BIOS, when I set it to enabled, at the OSX login screen the mouse and keyboard to not work at all. I tried other ports, nothing. The odd time the machine reboots during black boot screen. So I put the XHCI mode back to smart auto.
 
Last edited:
Not possible to know in advance. There is not necessarily a numeric correlation between SSxx and HSxx.
As per post #1, USB3 device is required.
Got it, thank you。:thumbup:
 
The use or non-use of FakePCIID_XHCIMux.kext is really your decision. If you read post #1, you will see how with my u430 I did it both ways.

If I use XHCIMux method, after I compile my new SSDT do I disable all the port limiter patches? I have three in my config.plist

AppleUSBXHCIPCI change 83bd8cfe ffff10 to 83bd8cfe ffff1f
com.apple.driver.usb.AppleUSBXHCIPCI change 83bd8cfe ffff10 to 83bd8cfe ffff1bc
com.apple.driver.usb.AppleUSBXHCIPCI change 83bd74ff ffff10 to 83bd74ff ffff1b
 
I found the XHCI mode in BIOS, when I set it to enabled, at the OSX login screen the mouse and keyboard to not work at all. I tried other ports, nothing. The odd time the machine reboots during black boot screen. So I put the XHCI mode back to smart auto.

If your SSDT-UIAC excludes the HSxx ports on XHC, USB2 devices will not work.
Also, XHCI mode set to "enabled" will likely disable the EHCI controllers. So, if you left FakePCIID_XHCIMux installed, it will route USB2 pins to EHCI, which is disabled, which of course won't work.

So... be careful with what you're doing... as I mention above, there are several configurations that don't make sense.

If I use XHCIMux method, after I compile my new SSDT do I disable all the port limiter patches? I have three in my config.plist

AppleUSBXHCIPCI change 83bd8cfe ffff10 to 83bd8cfe ffff1f
com.apple.driver.usb.AppleUSBXHCIPCI change 83bd8cfe ffff10 to 83bd8cfe ffff1bc
com.apple.driver.usb.AppleUSBXHCIPCI change 83bd74ff ffff10 to 83bd74ff ffff1b

As per guide, after you create your custom SSDT to live within the 15-port limit, there is no need for any port limit patch.
 
As per guide, after you create your custom SSDT to live within the 15-port limit, there is no need for any port limit patch.

Ok I've completed my custom SSDT, removed the port limit patches and restarted machine.

Silly question, but how do i know if this is working? Previously before implementing this procedure all my USB ports worked and a USB 3.0 external hard drive also worked in both USB 2 and USB 3 ports.

I thought that with this custom SSDT I would get USB3 speeds but the same 4TB Seagate External drive that gets around 80-100MB/s transfer speed on my Windows boot only gets 50MB/s here in Mac OSX 10.11.6.

Also I have this Sony XQD memory card reader which is USB 3 and it shows up on USB 2 port (as seen on HP17 screen shot) but does not show up at all on SSP6 where I plugged it in? any thoughts on that?

Screen Shot 2018-05-11 at 9.16.04 AM.png

Results from my port tests:
z97 gaming 3 motherboard. USB 2.0 device: HP13,HP14,HP15,HP16,HP17,HP18 under EH01, and HP21,HP22,HP25 under EH02. Under XHC was when I used a USB 3 device, it showed SSP3, SSP4, SSP5, SSP6.

Code:
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20161210-64(RM)
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembling to non-symbolic legacy ASL operators
*
* Disassembly of iASLBHHSSx.aml, Fri May 11 09:03:17 2018
*
* Original Table Header:
*     Signature        "SSDT"
*     Length           0x00000352 (850)
*     Revision         0x02
*     Checksum         0x14
*     OEM ID           "hack"
*     OEM Table ID     "UIAC-ALL"
*     OEM Revision     0x00000000 (0)
*     Compiler ID      "INTL"
*     Compiler Version 0x20161210 (538317328)
*/
DefinitionBlock ("", "SSDT", 2, "hack", "UIAC-ALL", 0x00000000)
{
    Device (UIAC)
    {
        Name (_HID, "UIA00000")  // _HID: Hardware ID
        Name (RMCF, Package (0x0A)
        {
            "HUB1",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x08, 0x00, 0x00, 0x00                        
                },

                "ports",
                Package (0x0C)
                {
                    "HP13",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HP14",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HP15",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x05, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HP16",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x06, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HP17",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x07, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HP18",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x08, 0x00, 0x00, 0x00                        
                        }
                    }
                }
            },

            "HUB2",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x06, 0x00, 0x00, 0x00                        
                },

                "ports",
                Package (0x08)
                {
                    "HP21",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HP22",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x02, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HP23",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HP25",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x05, 0x00, 0x00, 0x00                        
                        }
                    }
                }
            },

            "EH01",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x08, 0x00, 0x00, 0x00                        
                },

                "ports",
                Package (0x02)
                {
                    "PR11",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0xFF,
                        "port",
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                        
                        }
                    }
                }
            },

            "EH02",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x06, 0x00, 0x00, 0x00                        
                },

                "ports",
                Package (0x02)
                {
                    "PR21",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0xFF,
                        "port",
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                        
                        }
                    }
                }
            },

            "8086_8xxx",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x15, 0x00, 0x00, 0x00                        
                },

                "ports",
                Package (0x08)
                {
                    "SSP3",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x12, 0x00, 0x00, 0x00                        
                        }
                    },

                    "SSP4",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x13, 0x00, 0x00, 0x00                        
                        }
                    },

                    "SSP5",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x14, 0x00, 0x00, 0x00                        
                        }
                    },

                    "SSP6",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x15, 0x00, 0x00, 0x00                        
                        }
                    }
                }
            }
        })
    }
}
 

Attachments

  • debug_5498.zip
    3 MB · Views: 101
Ok I've completed my custom SSDT, removed the port limit patches and restarted machine.

Silly question, but how do i know if this is working? Previously before implementing this procedure all my USB ports worked and a USB 3.0 external hard drive also worked in both USB 2 and USB 3 ports.

I thought that with this custom SSDT I would get USB3 speeds but the same 4TB Seagate External drive that gets around 80-100MB/s transfer speed on my Windows boot only gets 50MB/s here in Mac OSX 10.11.6.

Also I have this Sony XQD memory card reader which is USB 3 and it shows up on USB 2 port (as seen on HP17 screen shot) but does not show up at all on SSP6 where I plugged it in? any thoughts on that?

View attachment 330716

Results from my port tests:
z97 gaming 3 motherboard. USB 2.0 device: HP13,HP14,HP15,HP16,HP17,HP18 under EH01, and HP21,HP22,HP25 under EH02. Under XHC was when I used a USB 3 device, it showed SSP3, SSP4, SSP5, SSP6.

Code:
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20161210-64(RM)
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembling to non-symbolic legacy ASL operators
*
* Disassembly of iASLBHHSSx.aml, Fri May 11 09:03:17 2018
*
* Original Table Header:
*     Signature        "SSDT"
*     Length           0x00000352 (850)
*     Revision         0x02
*     Checksum         0x14
*     OEM ID           "hack"
*     OEM Table ID     "UIAC-ALL"
*     OEM Revision     0x00000000 (0)
*     Compiler ID      "INTL"
*     Compiler Version 0x20161210 (538317328)
*/
DefinitionBlock ("", "SSDT", 2, "hack", "UIAC-ALL", 0x00000000)
{
    Device (UIAC)
    {
        Name (_HID, "UIA00000")  // _HID: Hardware ID
        Name (RMCF, Package (0x0A)
        {
            "HUB1",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x08, 0x00, 0x00, 0x00                       
                },

                "ports",
                Package (0x0C)
                {
                    "HP13",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HP14",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HP15",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x05, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HP16",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x06, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HP17",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x07, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HP18",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x08, 0x00, 0x00, 0x00                       
                        }
                    }
                }
            },

            "HUB2",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x06, 0x00, 0x00, 0x00                       
                },

                "ports",
                Package (0x08)
                {
                    "HP21",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HP22",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x02, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HP23",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HP25",
                    Package (0x04)
                    {
                        "portType",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x05, 0x00, 0x00, 0x00                       
                        }
                    }
                }
            },

            "EH01",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x08, 0x00, 0x00, 0x00                       
                },

                "ports",
                Package (0x02)
                {
                    "PR11",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0xFF,
                        "port",
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                       
                        }
                    }
                }
            },

            "EH02",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x06, 0x00, 0x00, 0x00                       
                },

                "ports",
                Package (0x02)
                {
                    "PR21",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0xFF,
                        "port",
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                       
                        }
                    }
                }
            },

            "8086_8xxx",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x15, 0x00, 0x00, 0x00                       
                },

                "ports",
                Package (0x08)
                {
                    "SSP3",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x12, 0x00, 0x00, 0x00                       
                        }
                    },

                    "SSP4",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x13, 0x00, 0x00, 0x00                       
                        }
                    },

                    "SSP5",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x14, 0x00, 0x00, 0x00                       
                        }
                    },

                    "SSP6",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x15, 0x00, 0x00, 0x00                       
                        }
                    }
                }
            }
        })
    }
}

The ioreg you attached shows no such USB storage device connected.
 
Back
Top