Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

No, it's a USB 3 hub, connected to HS10/SSP06,

Something is wrong then... your ioreg shows nothing at SSP6.
If this is a USB3 hub and HS10/SSP6 are associated, expect to see a hub also at SSP6 with that device plugged in.
Maybe it was a one-off glitch.
 
Something is wrong then... your ioreg shows nothing at SSP6.
If this is a USB3 hub and HS10/SSP6 are associated, expect to see a hub also at SSP6 with that device plugged in.
Maybe it was a one-off glitch.
So I opened IOReg and connected/disconnected a USB 2 Stick to my 4 port Anker Hub and I saw this on HS10:

Screen Shot 2018-10-22 at 20.37.45.png


Then connected a USB 3 Stick in the same slot on the hub and saw this:

Screen Shot 2018-10-22 at 20.37.13.png


Is that as expected? Copy of IOReg these images taken from attached
 

Attachments

  • iMac.zip
    1 MB · Views: 54
So I opened IOReg and connected/disconnected a USB 2 Stick to my 4 port Anker Hub and I saw this on HS10:

View attachment 359678

Then connected a USB 3 Stick in the same slot on the hub and saw this:

View attachment 359679

Is that as expected? Copy of IOReg these images taken from attached

Are you trying to say the hub at SSP6 doesn't show until you plug something (eg. a USB3 device) into it?
If that is the case, then it is working fine. It is probably some sort of power saving mechanism built in to the device.
 
@RehabMan Tried again so here goes
Code:
USB LayOut Z77X-UD5H rev.1
MotherBoard Rear IO
4 USB3 Ports (Blue)
2 USB2 Ports (Red)

Case
2 Front USB3 Ports connected to USB3 Header on MB
2 Front USB2 Pors connected to USB2 Header on MB

Port Identification
USB2
2 Front USB2 Ports > EH01>PR11>HP15(Left@1d150000) | EH01>PR11>HP16(Right@@1d160000)
2 Rear USB2 Ports  > EH02>PR21>HP22(Left@1a120000) | EH02>PR21>HP21(Right@@1a110000)

USB3
2 Front USB3 Ports > XHC>SSP7(Left@14740000/Right@14730000)
4 Rear USB3 Ports > XHC>SSP8 ([email protected]@14820000) | ([email protected]@14840000)

USB3 Stick Inserted into Front USB2 Ports (Case)
EH01>PR11>HP15(Left@1d150000) EH01>PR11>HP16(Right@@1d160000)

USB3 Stick Inserted into Rear USB2 (MB)
EH02>PR21>HP22(Left@1a120000) | EH02>PR21>HP21(Right@@1a110000)

USB2 Stick Inserted into Rear USB3 (MB)
EH02>PR21>HP23(T.Left@1a130000) | EH02>PR21>HP24(T.Right@1a140000)
EH01>PR11>PRT3(B.Left@1d130000) | EH01>PR11>HP14(B.Right@1d140000)

USB2 Stick Inserted into Front USB3 Ports (Case)
EH02>PR21>HP25(Left@1a1540000) | EH02>PR21>HP25(Right@@1a1530000)

Attached is IOReg Dump with nothing plugged inland as I go along (Remote Desktop).From that dump looks like EH02>PR21>HP22/HP26 are internal Hubs so that should be 255 or left at 0?As for XHC>SSP7/SSP8 that must be 255 right?Here is what I came up with
Code:
// Initial trimmed SSDT-UIAC.dsl for Z77X-UD5H Rev.1.0
//
// Note:
// PRT1-3 Needs to be removed due to SMBIOS Definition.Edit Info.plist
// in S/L/E.IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBHub.kext
// When a USB2 Stick is Plugged into the Rear Left USB3 Port it comes up in
// PRT3.
//

DefinitionBlock ("", "SSDT", 2, "hack", "UIAC-ALL", 0)
{
    Device(UIAC)
    {
        Name(_HID, "UIA00000")

        Name(RMCF, Package()
        {
            "HUB1", Package()
            {
                "port-count", Buffer() { 8, 0, 0, 0 },
                "ports", Package()
                {
                    "HP14", Package() // Rear Bottom Right USB3, USB2 Plugged In
                    {
                        //"UsbConnector", 0,
                        "portType", 0,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "HP15", Package() // Front Left USB2
                    {
                        //"UsbConnector", 0,
                        "portType", 0,
                        "port", Buffer() { 5, 0, 0, 0 },
                    },
                    "HP16", Package() // Front Right USB2
                    {
                        //"UsbConnector", 0,
                        "portType", 0,
                        "port", Buffer() { 6, 0, 0, 0 },
                    },
                },
            },
            "HUB2", Package()
            {
                "port-count", Buffer() { 6, 0, 0, 0 },
                "ports", Package()
                {
                    "HP21", Package() // Rear Right USB2
                    {
                        //"UsbConnector", 0,
                        "portType", 0,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                    "HP22", Package() // Rear Left USB2
                    {
                        //"UsbConnector", 0,
                        "portType", 0,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "HP23", Package() // Rear Top Left USB3, USB2 Plugged In
                    {
                        //"UsbConnector", 0,
                        "portType", 0,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "HP24", Package() // Rear Top Right USB3, USB2 Plugged In
                    {
                        //"UsbConnector", 0,
                        "portType", 0,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "HP25", Package() // Front Left/Right USB3 Port, USB2 Plugged In
                    {
                        //"UsbConnector", 255,
                        "portType", 0,
                        "port", Buffer() { 5, 0, 0, 0 },
                    },
                },
            },
            "EH01", Package()
            {
                "port-count", Buffer() { 8, 0, 0, 0 },
                "ports", Package()
                {
                    "PR11", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                },
            },
            "EH02", Package()
            {
                "port-count", Buffer() { 6, 0, 0, 0 },
                "ports", Package()
                {
                    "PR21", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                },
            },
            "8086_1e31", Package()
            {
                "port-count", Buffer() { 8, 0, 0, 0 },
                "ports", Package()
                {
                    "SSP7", Package() // Front 2USB3
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 7, 0, 0, 0 },
                    },
                    "SSP8", Package() // Rear 4USB3
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 8, 0, 0, 0 },
                    },
                },
            },
        })
    }
}
//EOF

As for PRT3 I'm not sure which entries exactly I must remove.Is it Both entries under Ports? Remove Ports>PRT1,2,3 then remove Ports>PRT1?
View media item 191127View media item 191127
 

Attachments

  • iRebel’s iMac IOReg Dump USB2 (2Rear:2Front) Plugged In.ioreg
    6.6 MB · Views: 64
  • iRebel’s iMac IOReg Dump USB3 (4Rear:2Front) Plugged In.ioreg
    6.7 MB · Views: 63
  • iRebel’s iMac IOReg Dump USB2 Stick into(4Rear:2Front) USB3 Ports.ioreg
    6.7 MB · Views: 91
  • iRebel’s iMac IOReg Dump USB3 Stick into(2Rear:2Front) USB2 Ports.ioreg
    6.5 MB · Views: 66
  • iRebel’s iMac IOReg Dump Nothing Plugged In.ioreg
    6.4 MB · Views: 60
As for PRT3 I'm not sure which entries exactly I must remove.Is it Both entries under Ports? Remove Ports>PRT1,2,3 then remove Ports>PRT1?

If you're referring to Apple's port injectors for the iMac13,2 use a different SMBIOS or simply remove all port injectors from that kext. You will probably have to repeat after each update, ...
 
OK,Does the SSDT look correct?
 
Debug attached.I left HP25 as 255 as I'm not sure.
 

Attachments

  • debug_32733.zip
    4.4 MB · Views: 54
Debug attached.I left HP25 as 255 as I'm not sure.

There is no SSDT-UIAC.aml in ACPI/patched. (no files there at all).

HP25 is a hub port. UsbConnector does not apply to hub ports (only to controller ports). Hub ports use portType (portType=2 for internal).
 
Back
Top