Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

FIXED
 
Last edited:
dear @yota79 I didn't get that what does fixed means?

Hi jionet , After few time read, I understand that I have to divide the 16 or more bit to 8 bit. I think I have do the right job ( but the patch not working in automatic but I have to patch manually).

Now on the system report I see the data / model of the battery but it didn't read the percentage, remaining always at 0% even if I load the battery or not
 
Last edited:
I've tried to disassembly my SSDT, with iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml ... but i receive error iASL:Segmentation failer iASL: Terminating. Decompiling without -da flag works but, i've tryied to compile with MaciASL and give me a lot of error and when i try o apply patch to correct them, the apply button is not active.
Attached my files
 

Attachments

  • SSDT files.zip
    77.7 KB · Views: 209
Last edited:
I've tried to disassembly my SSDT, with iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml ... but i receive error iASL:Segmentation failer iASL: Terminating. Decompiling without -da flag works but, i've tryied to compile with MaciASL and give me a lot of error and when i try o apply patch to correct them, the apply button is not active.
Attached my files

I extracted and cleaned your DSDT, Give it a try.
 

Attachments

  • SSDT files.zip
    229.7 KB · Views: 211
Hello to all,
I am trying to apply "[Controllers] I2C Controllers [SKL]" patch to my DSDT from the Voodooi2c Respository and it is causing a "PARSEOP_SCOPE, expecting $end and premature-end-of-File" error, some help from the community would be greatly appreciated
I2C Controllers Patch:
Code:
# Skylake controller patches for VoodooI2C
# Ensures that VoodooI2C can interface with I2C Controllers
# Written and maintained by Alexandre Daoud

into_all device label I2C0 remove_entry;
into_all device label I2C1 remove_entry;
into_all device label I2C2 remove_entry;
into_all device label I2C3 remove_entry;
into_all device label I2C4 remove_entry;
into_all device label I2C5 remove_entry;

into scope label _SB.PCI0 insert begin

        Device (I2C0)\n
        {\n
            Name (LINK, "\\_SB.PCI0.I2C0")\n
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current\n
            {\n
                Return (GETD (SB10))\n
            }\n
\n
            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0\n
            {\n
                LPD0 (SB10)\n
            }\n
\n
            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3\n
            {\n
                LPD3 (SB10)\n
            }\n
        }\n
\n\n
        Device (I2C1)\n
        {\n
            Name (LINK, "\\_SB.PCI0.I2C1")\n
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current\n
            {\n
                Return (GETD (SB11))\n
            }\n
\n
            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0\n
            {\n
                LPD0 (SB11)\n
            }\n
\n
            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3\n
            {\n
                LPD3 (SB11)\n
            }\n
        }\n
\n\n
        Device (I2C2)\n
        {\n
            Name (LINK, "\\_SB.PCI0.I2C2")\n
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current\n
            {\n
                Return (GETD (SB12))\n
            }\n
\n
            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0\n
            {\n
                LPD0 (SB12)\n
            }\n
\n
            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3\n
            {\n
                LPD3 (SB12)\n
            }\n
        }\n
\n\n
        Device (I2C3)\n
        {\n
            Name (LINK, "\\_SB.PCI0.I2C3")\n
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current\n
            {\n
                Return (GETD (SB13))\n
            }\n
\n
            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0\n
            {\n
                LPD0 (SB13)\n
            }\n
\n
            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3\n
            {\n
                LPD3 (SB13)\n
            }\n
        }\n
\n
        Device (I2C4)\n
        {\n
            Name (LINK, "\\_SB.PCI0.I2C4")\n
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current\n
            {\n
                Return (GETD (SB14))\n
            }\n
\n
            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0\n
            {\n
                LPD0 (SB14)\n
            }\n
\n
            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3\n
            {\n
                LPD3 (SB14)\n
            }\n
        }\n
\n
        Device (I2C5)\n
        {\n
            Name (LINK, "\\_SB.PCI0.I2C5")\n
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current\n
            {\n
                Return (GETD (SB15))\n
            }\n
\n
            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0\n
            {\n
                LPD0 (SB15)\n
            }\n
\n
            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3\n
            {\n
                LPD3 (SB15)\n
            }\n
        }\n
\n
end;

into scope label _SB.PCI0.I2C0 replace_content begin

            Name (_HID, "INT3442")  // _HID: Hardware ID\n
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision\n
            {\n
                Return (LHRV (SB10))\n
            }\n
\n
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings\n
            {\n
                Return (LCRS (SMD0, SB00, SIR0))\n
            }\n
\n
            Method (_STA, 0, NotSerialized)  // _STA: Status\n
            {\n
                Return (LSTA (SMD0))\n
            }\n
}\n
end;

into scope label _SB.PCI0.I2C1 replace_content begin

            Name (_HID, "INT3443")  // _HID: Hardware ID\n
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision\n
            {\n
                Return (LHRV (SB11))\n
            }\n
\n
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings\n
            {\n
                Return (LCRS (SMD1, SB01, SIR1))\n
            }\n
\n
            Method (_STA, 0, NotSerialized)  // _STA: Status\n
            {\n
                Return (LSTA (SMD1))\n
            }\n
}\n
end;

into scope label _SB.PCI0.I2C2 replace_content begin

            Name (_HID, "INT3444")  // _HID: Hardware ID\n
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision\n
            {\n
                Return (LHRV (SB12))\n
            }\n
\n
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings\n
            {\n
                Return (LCRS (SMD2, SB02, SIR2))\n
            }\n
\n
            Method (_STA, 0, NotSerialized)  // _STA: Status\n
            {\n
                Return (LSTA (SMD2))\n
            }\n
}\n
end;
into scope label _SB.PCI0.I2C3 replace_content begin

            Name (_HID, "INT3445")  // _HID: Hardware ID\n
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision\n
            {\n
                Return (LHRV (SB13))\n
            }\n
\n
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings\n
            {\n
                Return (LCRS (SMD3, SB03, SIR3))\n
            }\n
\n
            Method (_STA, 0, NotSerialized)  // _STA: Status\n
            {\n
                Return (LSTA (SMD3))\n
            }\n
}\n
end;

into scope label _SB.PCI0.I2C4 replace_content begin

            Name (_HID, "INT3446")  // _HID: Hardware ID\n
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision\n
            {\n
                Return (LHRV (SB14))\n
            }\n
\n
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings\n
            {\n
                Return (LCRS (SMD4, SB04, SIR4))\n
            }\n
\n
            Method (_STA, 0, NotSerialized)  // _STA: Status\n
            {\n
                Return (LSTA (SMD4))\n
            }\n
}\n
end;

into scope label _SB.PCI0.I2C5 replace_content begin

            Name (_HID, "INT3447")  // _HID: Hardware ID\n
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision\n
            {\n
                Return (LHRV (SB15))\n
            }\n
\n
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings\n
            {\n
                Return (LCRS (SMD5, SB05, SIR5))\n
            }\n
\n
            Method (_STA, 0, NotSerialized)  // _STA: Status\n
            {\n
                Return (LSTA (SMD5))\n
            }\n
}\n
end;

I cleaned up my extracted DSDT but that patch always causes an error.
 

Attachments

  • origin.zip
    272.6 KB · Views: 205
you
Hello to all,
I am trying to apply "[Controllers] I2C Controllers [SKL]" patch to my DSDT from the Voodooi2c Respository and it is causing a "PARSEOP_SCOPE, expecting $end and premature-end-of-File" error, some help from the community would be greatly appreciated
I2C Controllers Patch:
Code:
# Skylake controller patches for VoodooI2C
# Ensures that VoodooI2C can interface with I2C Controllers
# Written and maintained by Alexandre Daoud

into_all device label I2C0 remove_entry;
into_all device label I2C1 remove_entry;
into_all device label I2C2 remove_entry;
into_all device label I2C3 remove_entry;
into_all device label I2C4 remove_entry;
into_all device label I2C5 remove_entry;

into scope label _SB.PCI0 insert begin

        Device (I2C0)\n
        {\n
            Name (LINK, "\\_SB.PCI0.I2C0")\n
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current\n
            {\n
                Return (GETD (SB10))\n
            }\n
\n
            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0\n
            {\n
                LPD0 (SB10)\n
            }\n
\n
            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3\n
            {\n
                LPD3 (SB10)\n
            }\n
        }\n
\n\n
        Device (I2C1)\n
        {\n
            Name (LINK, "\\_SB.PCI0.I2C1")\n
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current\n
            {\n
                Return (GETD (SB11))\n
            }\n
\n
            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0\n
            {\n
                LPD0 (SB11)\n
            }\n
\n
            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3\n
            {\n
                LPD3 (SB11)\n
            }\n
        }\n
\n\n
        Device (I2C2)\n
        {\n
            Name (LINK, "\\_SB.PCI0.I2C2")\n
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current\n
            {\n
                Return (GETD (SB12))\n
            }\n
\n
            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0\n
            {\n
                LPD0 (SB12)\n
            }\n
\n
            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3\n
            {\n
                LPD3 (SB12)\n
            }\n
        }\n
\n\n
        Device (I2C3)\n
        {\n
            Name (LINK, "\\_SB.PCI0.I2C3")\n
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current\n
            {\n
                Return (GETD (SB13))\n
            }\n
\n
            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0\n
            {\n
                LPD0 (SB13)\n
            }\n
\n
            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3\n
            {\n
                LPD3 (SB13)\n
            }\n
        }\n
\n
        Device (I2C4)\n
        {\n
            Name (LINK, "\\_SB.PCI0.I2C4")\n
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current\n
            {\n
                Return (GETD (SB14))\n
            }\n
\n
            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0\n
            {\n
                LPD0 (SB14)\n
            }\n
\n
            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3\n
            {\n
                LPD3 (SB14)\n
            }\n
        }\n
\n
        Device (I2C5)\n
        {\n
            Name (LINK, "\\_SB.PCI0.I2C5")\n
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current\n
            {\n
                Return (GETD (SB15))\n
            }\n
\n
            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0\n
            {\n
                LPD0 (SB15)\n
            }\n
\n
            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3\n
            {\n
                LPD3 (SB15)\n
            }\n
        }\n
\n
end;

into scope label _SB.PCI0.I2C0 replace_content begin

            Name (_HID, "INT3442")  // _HID: Hardware ID\n
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision\n
            {\n
                Return (LHRV (SB10))\n
            }\n
\n
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings\n
            {\n
                Return (LCRS (SMD0, SB00, SIR0))\n
            }\n
\n
            Method (_STA, 0, NotSerialized)  // _STA: Status\n
            {\n
                Return (LSTA (SMD0))\n
            }\n
}\n
end;

into scope label _SB.PCI0.I2C1 replace_content begin

            Name (_HID, "INT3443")  // _HID: Hardware ID\n
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision\n
            {\n
                Return (LHRV (SB11))\n
            }\n
\n
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings\n
            {\n
                Return (LCRS (SMD1, SB01, SIR1))\n
            }\n
\n
            Method (_STA, 0, NotSerialized)  // _STA: Status\n
            {\n
                Return (LSTA (SMD1))\n
            }\n
}\n
end;

into scope label _SB.PCI0.I2C2 replace_content begin

            Name (_HID, "INT3444")  // _HID: Hardware ID\n
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision\n
            {\n
                Return (LHRV (SB12))\n
            }\n
\n
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings\n
            {\n
                Return (LCRS (SMD2, SB02, SIR2))\n
            }\n
\n
            Method (_STA, 0, NotSerialized)  // _STA: Status\n
            {\n
                Return (LSTA (SMD2))\n
            }\n
}\n
end;
into scope label _SB.PCI0.I2C3 replace_content begin

            Name (_HID, "INT3445")  // _HID: Hardware ID\n
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision\n
            {\n
                Return (LHRV (SB13))\n
            }\n
\n
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings\n
            {\n
                Return (LCRS (SMD3, SB03, SIR3))\n
            }\n
\n
            Method (_STA, 0, NotSerialized)  // _STA: Status\n
            {\n
                Return (LSTA (SMD3))\n
            }\n
}\n
end;

into scope label _SB.PCI0.I2C4 replace_content begin

            Name (_HID, "INT3446")  // _HID: Hardware ID\n
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision\n
            {\n
                Return (LHRV (SB14))\n
            }\n
\n
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings\n
            {\n
                Return (LCRS (SMD4, SB04, SIR4))\n
            }\n
\n
            Method (_STA, 0, NotSerialized)  // _STA: Status\n
            {\n
                Return (LSTA (SMD4))\n
            }\n
}\n
end;

into scope label _SB.PCI0.I2C5 replace_content begin

            Name (_HID, "INT3447")  // _HID: Hardware ID\n
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision\n
            {\n
                Return (LHRV (SB15))\n
            }\n
\n
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings\n
            {\n
                Return (LCRS (SMD5, SB05, SIR5))\n
            }\n
\n
            Method (_STA, 0, NotSerialized)  // _STA: Status\n
            {\n
                Return (LSTA (SMD5))\n
            }\n
}\n
end;

I cleaned up my extracted DSDT but that patch always causes an error.
don't have a skylake processor in your laptop.....
 
you

don't have a skylake processor in your laptop.....
Thank you, I was so concerned with the error that I did not stop to think the code was not needed for coffeelake.
 
Thank you, I was so concerned with the error that I did not stop to think the code was not needed for coffeelake.
Have you a coffelake? how you spoofed your uhd 620? i have a lot of problems(panic when osi to xosi enabled, but if i delete it i loose funcional VoodooI2C
 
Have you a coffelake? how you spoofed your uhd 620? i have a lot of problems(panic when osi to xosi enabled, but if i delete it i loose funcional VoodooI2C
I did not spoof it, it is recognized natively. see my config.plist
 

Attachments

  • config.plist
    14 KB · Views: 208
Back
Top