Contribute
Register

ACPI Patching With Clover Hotpatch

Status
Not open for further replies.
I think I've done it now. How does this look mate?

Code:
Scope (\_SB.PCI0.PEGP.GFX0)
        {
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                      
                    })
                }

                Return (Package (0x0E)
                {
                    "@0,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                    
                    },

                    "@1,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                    
                    },

                    "@2,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                    
                    },

                    "@3,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                    
                    },

                    "@4,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                    
                    },

                    "@5,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                    
                    },

                    "hda-gfx",
                    Buffer (0x0A)
                    {
                        "onboard-2"
                    }
                })
            }
        }

        Device (_SB.PCI0.PEG0.HDAU)
        {
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                      
                    })
                }

                Return (Package (0x04)
                {
                    "hda-gfx",
                    Buffer (0x0A)
                    {
                        "onboard-2"
                    }
                })
            }
        }
    }

I would probably write it like this:
Code:
DefinitionBlock ("", "SSDT", 2, "hack", "GFX0_HDAU", 0)
{
    External(_SB_.PCI0.PEG0, DeviceObj)
    External(_SB_.PCI0.PEG0.GFX0, DeviceObj)
 
    Scope(_SB.PCI0.PEG0)
    {
        Scope(GFX0)
        {
            Method (_DSM, 4)
            {
                If (!Arg2) { Return (Buffer() { 0x03 }) }
                Return (Package()
                {
                    "@0,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@1,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@2,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@3,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@4,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@5,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "hda-gfx", Buffer () { "onboard-2" },
                })
            }
        }
        Device(HDAU)
        {
            Name(_ADR, 1)
            Method(_DSM, 4)
            {
                If (!Arg2) { Return (Buffer() { 0x03 }) }
                Return (Package()
                {
                    "hda-gfx",Buffer() { "onboard-2" },
                })
            }
        }
    }
}
//EOF
 
I would probably write it like this:
Code:
DefinitionBlock ("", "SSDT", 2, "hack", "GFX0_HDAU", 0)
{
    External(_SB_.PCI0.PEG0, DeviceObj)
    External(_SB_.PCI0.PEG0.GFX0, DeviceObj)
 
    Scope(_SB.PCI0.PEG0)
    {
        Scope(GFX0)
        {
            Method (_DSM, 4)
            {
                If (!Arg2) { Return (Buffer() { 0x03 }) }
                Return (Package()
                {
                    "@0,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@1,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@2,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@3,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@4,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@5,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "hda-gfx", Buffer () { "onboard-2" },
                })
            }
        }
        Device(HDAU)
        {
            Name(_ADR, 1)
            Method(_DSM, 4)
            {
                If (!Arg2) { Return (Buffer() { 0x03 }) }
                Return (Package()
                {
                    "hda-gfx",Buffer() { "onboard-2" },
                })
            }
        }
    }
}
//EOF

Omg thats worked thank you mate. What was i doing wrong? Quick question i have COPR in ioreg what should i do about that? if i give you the files can you check if anything else needs to be done mate?
 
I would probably write it like this:
Code:
DefinitionBlock ("", "SSDT", 2, "hack", "GFX0_HDAU", 0)
{
    External(_SB_.PCI0.PEG0, DeviceObj)
    External(_SB_.PCI0.PEG0.GFX0, DeviceObj)
 
    Scope(_SB.PCI0.PEG0)
    {
        Scope(GFX0)
        {
            Method (_DSM, 4)
            {
                If (!Arg2) { Return (Buffer() { 0x03 }) }
                Return (Package()
                {
                    "@0,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@1,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@2,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@3,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@4,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "@5,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },
                    "hda-gfx", Buffer () { "onboard-2" },
                })
            }
        }
        Device(HDAU)
        {
            Name(_ADR, 1)
            Method(_DSM, 4)
            {
                If (!Arg2) { Return (Buffer() { 0x03 }) }
                Return (Package()
                {
                    "hda-gfx",Buffer() { "onboard-2" },
                })
            }
        }
    }
}
//EOF

Ive noticed that the USB just works at the login screen now also shutdown and restart works properly there must of been something in that DSDT that was causing a issue.
 
Ive noticed that the USB just works at the login screen now also shutdown and restart works properly there must of been something in that DSDT that was causing a issue.

You had a lot of unneeded USB related patches (and other patches that were either wrong or not needed).
 
You had a lot of unneeded USB related patches (and other patches that were either wrong or not needed).

Yep. Ive made SSDT-EH01, SSDT-EH02, SSDT-XHC for both USB 2.0, USB 3.0. About to work on SSDT-UIAC. This is how far I've got. Ive looked in ioreg for the device ID for XHC 8086_1e31.

Code:
Name(RMCF, Package()
        {
             "EH01", Package()
            {
                "port-count", Buffer() { 8, 0, 0, 0 },
                "ports", Package()
                {
                    "PR11", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                    "PR12", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "PR13", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "PR14", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "PR15", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 5, 0, 0, 0 },
                    },
                    "PR16", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 6, 0, 0, 0 },
                    },
                    "PR17", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 7, 0, 0, 0 },
                    },
                    "PR18", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 8, 0, 0, 0 },
                    },
                },
            },
            "EH02", Package()
            {
                "port-count", Buffer() { 6, 0, 0, 0 },
                "ports", Package()
                {
                    "PR21", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                    "PR22", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "PR23", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "PR24", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "PR25", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 5, 0, 0, 0 },
                    },
                    "PR26", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 6, 0, 0, 0 },
                    },
                },
            },
            "8086_1e31", Package()
            {
                "port-count", Buffer() { 8, 0, 0, 0 },
                "ports", Package()
                {
                    "HS01", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                    "HS02", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "HS03", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "HS04", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "SSP5", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 5, 0, 0, 0 },
                    },
                    "SSP6", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 6, 0, 0, 0 },
                    },
                    "SSP7", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 7, 0, 0, 0 },
                    },
                    "SSP8", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 8, 0, 0, 0 },
                    },
                },
            },
        })
    }
}
//EOF
 
Yep. Ive made SSDT-EH01, SSDT-EH02, SSDT-XHC for both USB 2.0, USB 3.0. About to work on SSDT-UIAC. This is how far I've got. Ive looked in ioreg for the device ID for XHC 8086_1e31.

Code:
Name(RMCF, Package()
        {
             "EH01", Package()
            {
                "port-count", Buffer() { 8, 0, 0, 0 },
                "ports", Package()
                {
                    "PR11", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                    "PR12", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "PR13", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "PR14", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "PR15", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 5, 0, 0, 0 },
                    },
                    "PR16", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 6, 0, 0, 0 },
                    },
                    "PR17", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 7, 0, 0, 0 },
                    },
                    "PR18", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 8, 0, 0, 0 },
                    },
                },
            },
            "EH02", Package()
            {
                "port-count", Buffer() { 6, 0, 0, 0 },
                "ports", Package()
                {
                    "PR21", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                    "PR22", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "PR23", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "PR24", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "PR25", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 5, 0, 0, 0 },
                    },
                    "PR26", Package()
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 6, 0, 0, 0 },
                    },
                },
            },
            "8086_1e31", Package()
            {
                "port-count", Buffer() { 8, 0, 0, 0 },
                "ports", Package()
                {
                    "HS01", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                    "HS02", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "HS03", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "HS04", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "SSP5", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 5, 0, 0, 0 },
                    },
                    "SSP6", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 6, 0, 0, 0 },
                    },
                    "SSP7", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 7, 0, 0, 0 },
                    },
                    "SSP8", Package()
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 8, 0, 0, 0 },
                    },
                },
            },
        })
    }
}
//EOF

The process is detailed pretty well in the USBInjectAll SSDT guide...

See guide: https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
 
The process is detailed pretty well in the USBInjectAll SSDT guide...

See guide: https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/

Hi mate. I'm trying to install Sierra on my desktop. But I'm having this issue would you have any ideas? I've removed all the patches. Modified the config but no luck. I can get into the installer just fine tho that's the weird thing.

IMG_0125.JPG
 
Hi mate. I'm trying to install Sierra on my desktop. But I'm having this issue would you have any ideas? I've removed all the patches. Modified the config but no luck. I can get into the installer just fine tho that's the weird thing.

View attachment 244560

"Waiting for DSMOS" without a corresponding "DSMOS has arrived" implies that FakeSMC is missing or not loading.
 
"Waiting for DSMOS" without a corresponding "DSMOS has arrived" implies that FakeSMC is missing or not loading.

I thought the same. Im re-creating the Pen Drive. Im using your FakeSMC from your fork which I've always used.
 
Status
Not open for further replies.
Back
Top