Contribute
Register

Xwak

Status
Not open for further replies.
Joined
Jun 21, 2010
Messages
269
Motherboard
Gigabyte Z490 Aorus Elite AC-F22 OC 0.8.2
CPU
i7-11700K
Graphics
RX 580
Mac
  1. MacBook Air
Classic Mac
  1. iMac
Mobile Phone
  1. Android
  2. iOS
What about this XWAK tweak if I don't have a DSDT file?
I think I would need it becaus of prblems waking up from sleep but unsure what to do.
 
What about this XWAK tweak if I don't have a DSDT file?
I think I would need it becaus of prblems waking up from sleep but unsure what to do.

All computers have a DSDT.

There are (advanced) ways to implement a fix for XWAK but you should test with patched DSDT first.
 
Okay, I installed may patched (füor my motherboard) DSDT.aml into /EFI/Clover/ACPI/patched/
No difference.
Then I searched for XWAK in DSDT but there is none.
What shall I do now?
I wonder if I'm alone with this problem because the Gigybyte Z77-DS3H was very popular.
 

Attachments

  • DSDT.aml
    39.8 KB · Views: 114
I'm running into the same wake from sleep issues. I would like to disable XWAK as recommended in several threads but my DSDT doesn't contain any reference to the call.

There is an extended section for _WAK, which reads as follows:
Code:
    Method (_WAK, 1, Serialized)
    {
        P8XH (One, 0xAB)
        WAK (Arg0)
        If (NEXP)
        {
            If (And (OSCC, 0x02))
            {
                \_SB.PCI0.NHPG ()
            }

            If (And (OSCC, 0x04))
            {
                \_SB.PCI0.NPME ()
            }
        }

        If (LEqual (Arg0, 0x03))
        {
            If (LEqual (Zero, ACTT))
            {
                If (LEqual (ECON, One))
                {
                    Store (Zero, \_SB.PCI0.LPCB.H_EC.CFAN)
                }
            }
        }

        If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
        {
            If (LAnd (DTSE, LGreater (TCNT, One)))
            {
                TRAP (TRTD, 0x14)
            }

            If (LEqual (OSYS, 0x07D2))
            {
                If (And (CFGD, One))
                {
                    If (LGreater (\_PR.CPU0._PPC, Zero))
                    {
                        Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                        PNOT ()
                        Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                        PNOT ()
                    }
                    Else
                    {
                        Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                        PNOT ()
                        Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                        PNOT ()
                    }
                }
            }

            If (LEqual (ECON, One))
            {
                If (LNotEqual (LIDS, \_SB.PCI0.LPCB.H_EC.LSTE))
                {
                    Store (\_SB.PCI0.LPCB.H_EC.LSTE, LIDS)
                    If (IGDS)
                    {
                        If (\_SB.PCI0.GFX0.GLID (LIDS))
                        {
                            Or (0x80000000, \_SB.PCI0.GFX0.CLID, \_SB.PCI0.GFX0.CLID)
                        }
                    }

                    Notify (\_SB.LID0, 0x80)
                }

                If (LNotEqual (\_SB.PCI0.LPCB.H_EC.DOCK, DSTS))
                {
                    Store (\_SB.PCI0.LPCB.H_EC.DOCK, DSTS)
                    If (LAnd (\_SB.PCI0.HDEF.DCKS, One))
                    {
                        Store (DSTS, \_SB.PCI0.HDEF.DCKA)
                    }

                    If (LEqual (DSTS, One))
                    {
                        If (LEqual (Arg0, 0x03))
                        {
                            Sleep (0x03E8)
                            Store (PDBR, SSMP)
                            Sleep (0x03E8)
                        }

                        Notify (\_SB.PCI0.DOCK, Zero)
                    }
                    Else
                    {
                        Notify (\_SB.PCI0.DOCK, One)
                    }
                }

                If (LEqual (BNUM, Zero))
                {
                    If (LNotEqual (\_SB.PCI0.LPCB.H_EC.VPWR, PWRS))
                    {
                        Store (\_SB.PCI0.LPCB.H_EC.VPWR, PWRS)
                        PNOT ()
                    }
                }
                Else
                {
                    If (LNotEqual (\_SB.PCI0.LPCB.H_EC.RPWR, PWRS))
                    {
                        Store (\_SB.PCI0.LPCB.H_EC.RPWR, PWRS)
                        PNOT ()
                    }
                }
            }

            If (LEqual (RP1D, Zero))
            {
                Notify (\_SB.PCI0.RP01, Zero)
            }

            If (LEqual (RP2D, Zero))
            {
                Notify (\_SB.PCI0.RP02, Zero)
            }

            If (LEqual (RP3D, Zero))
            {
                Notify (\_SB.PCI0.RP03, Zero)
            }

            If (LEqual (RP4D, Zero))
            {
                Notify (\_SB.PCI0.RP04, Zero)
            }

            If (LEqual (RP5D, Zero))
            {
                Notify (\_SB.PCI0.RP05, Zero)
            }

            If (LEqual (RP6D, Zero))
            {
                Notify (\_SB.PCI0.RP06, Zero)
            }

            If (LEqual (RP7D, Zero))
            {
                If (LEqual (DSTS, Zero))
                {
                    Notify (\_SB.PCI0.RP07, Zero)
                }
            }

            If (LEqual (RP8D, Zero))
            {
                If (LEqual (DSTS, Zero))
                {
                    Notify (\_SB.PCI0.RP08, Zero)
                }
            }
        }

        Return (Package (0x02)
        {
            Zero, 
            Zero
        })
    }
There is also a section for WAK, which has the following:
Code:
    Method (WAK, 1, NotSerialized)
    {
        \_SB.PCI0.LPCB.SWAK (Arg0)
        \_SB.PCI0.NWAK (Arg0)
        \_SB.PCI0.LPCB.SIOW (Arg0)
    }
To which section should I add "Return(0)"? Do I create a new section altogether? I have attached my unpatched DSDT.aml if it would be helpful.

Any guidance would be appreciated.

View attachment Unpatched DSDT.aml
 
I'm running into the same wake from sleep issues. I would like to disable XWAK as recommended in several threads but my DSDT doesn't contain any reference to the call.

It appears to me that only XSEL modifies PR2. You should probably use ACPIDebug to determine if XSEL is being called after wake. In my experience, it is unlikely... which indicates your unspecified "sleep issues" are probably some other problem.
 
Status
Not open for further replies.
Back
Top