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

Bug #1909115 reported by Daniele
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

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

Revision history for this message
Daniele (ghost82) wrote :
Revision history for this message
Daniele (ghost82) wrote :
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. It seems that your bug report is not filed about a specific source package though, rather it is just filed against Ubuntu in general. It is important that bug reports be filed about source packages so that people interested in the package can find the bugs about it. You can find some hints about determining what package your bug might be about at https://wiki.ubuntu.com/Bugs/FindRightPackage. You might also ask for help in the #ubuntu-bugs irc channel on Freenode.

To change the source package that this bug is filed about visit https://bugs.launchpad.net/ubuntu/+bug/1909115/+editstatus and add the package name in the text box next to the word Package.

[This is an automated message. I apologize if it reached you inappropriately; please just reply to this message indicating so.]

tags: added: bot-comment
Daniele (ghost82)
affects: ubuntu → linux (Ubuntu)
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1909115

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Daniele (ghost82) wrote :

Nothing to see in the log files, nothing is logged as the issue comes after logging to files.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

A took a quick look and _PTS simply sets some variables for EC. So please contact Asus, because we don't know what EC expects.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.