Public bug reported:

Running Ubuntu server 20.04.1 LTS (CLI only), after switching from other
distro (Manjaro and Artix) which present the same issue; basically I
tried the debian based, arch based and systemd free distro.

Issue description: issuing the command "shutdown -h now" or "poweroff -f" 
doesn't shutdown the system properly, the system hangs is S5.
This doesn't happen all the time, but randomly, let's say in about 30% of cases.
This happens not only with an installed system but also with the bootable usb 
installer.

How to replicate: I really don't know, it seems very random, without a
pattern.

Motherboard: ASUS Z9PE-D8 WS with bios v. 5802 (dated 2015/10/15)
CPU: 2x intel Xeon E5-2687w (SR0KG)

After trying different proposed solutions for the "hanging at shutdown"
issue (mostly by enabling/disabling things in grub and different kernels
down to 4.9) I found out that only a DSDT fix solves the issue, and in
particular in the _PTS method.

Basically this is the original part of the extracted DSDT:

    Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
    {
        If (((Arg0 == 0x04) && (OSFL () == 0x02)))
        {
            Sleep (0x0BB8)
        }

        PTS (Arg0)
        DBG8 = Arg0
        WAKP [Zero] = Zero
        WAKP [One] = Zero
        WSSB = ASSB /* \ASSB */
        WOTB = AOTB /* \AOTB */
        WAXB = AAXB /* \AAXB */
        ASSB = Arg0
        AOTB = OSFL ()
        AAXB = Zero
        \_SB.SLPS = One
    }


The fix (or better call it workaround) includes a "do nothing" if Arg0 is 0x05 
(state S5):

    Method (_PTS, 1, NotSerialized)
    {
       If (LEqual (Arg0, 0x05)) {}
       Else
       {
           Store (Arg0, DBG8)
           If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
           {
               Sleep (0x0BB8)
           }

           PTS (Arg0)
           Store (Zero, Index (WAKP, Zero))
           Store (Zero, Index (WAKP, One))
           Store (ASSB, WSSB)
           Store (AOTB, WOTB)
           Store (AAXB, WAXB)
           Store (Arg0, ASSB)
           Store (OSFL (), AOTB)
           Store (Zero, AAXB)
           Store (One, \_SB.SLPS)
       }
    }

I really don't know why without injecting the DSDT fix it hangs randomly at 
shutdown.
I reported the issue to the kernel bugtracker too, but it seems there's not 
much movement there :D

I hope this can be fixed kernel side:
For reference, this is the link to the kernel bugtracker:
https://bugzilla.kernel.org/show_bug.cgi?id=210689

** Affects: ubuntu
     Importance: Undecided
         Status: New


** Tags: acpi dsdt hang shutdown

** Attachment added: "Original dumped DSDT.dsl of Asus Z9pe-d8 ws - bios 5802 - 
without errors fix"
   
https://bugs.launchpad.net/bugs/1909115/+attachment/5446218/+files/DSDT-Z9PED8-WS-v5802.dsl

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1909115

Title:
  ASUS Z9PE-D8 WS needs custom DSDT fix to properly shutdown (random)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+bug/1909115/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to