ACPI BIOS Error and suspend don't work on HP EliteBook G7

romain

New Member
Credits
79
I get a new laptop one week ago (an HP EliteBook 845 g7 with an AMD Ryzen Pro 4750U). The first problem I had was with the GPU and I fixed it by updating it to Ubuntu 20.10. This a beta version but it works pretty well for now (I needed newer kernel than the 5.4 which is the default one in Ubuntu 20.04).

Now, I'm trying to solve the second problem which is related to suspend : I can't get my laptop to sleep mode. If I close the lid or click on the suspend button in the menu, the PC pauses all media, lock and turn off the screen but the fan stay on and consume about 4W (which correspond to the CPU consumption at his lowest frequency). I have this problem since I installed Ubuntu 20.04 and I really don't know what to do, I searched on the internet but I found nothing that's worked for me. When I look to dmesg errors I get that :

Code:
[email protected]:~$ sudo dmesg | grep Error
[sudo] password for romain:
[    0.391619] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.BUSB.SAT1], AE_NOT_FOUND (20200528/dswload2-162)
[    0.391625] ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200528/psobject-220)
[    0.420184] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PEP._STA.TPOS], AE_NOT_FOUND (20200528/psargs-330)
[    0.420190] ACPI Error: Aborting method \_SB.PEP._STA due to previous error (AE_NOT_FOUND) (20200528/psparse-529)
[    0.426317] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PEP._STA.TPOS], AE_NOT_FOUND (20200528/psargs-330)
[    0.426323] ACPI Error: Aborting method \_SB.PEP._STA due to previous error (AE_NOT_FOUND) (20200528/psparse-529)
[    0.427799] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PEP._STA.TPOS], AE_NOT_FOUND (20200528/psargs-330)
[    0.427805] ACPI Error: Aborting method \_SB.PEP._STA due to previous error (AE_NOT_FOUND) (20200528/psparse-529)
[    0.430807] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PEP._STA.TPOS], AE_NOT_FOUND (20200528/psargs-330)
[    0.430807] ACPI Error: Aborting method \_SB.PEP._STA due to previous error (AE_NOT_FOUND) (20200528/psparse-529)
[    0.430807] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PEP._STA.TPOS], AE_NOT_FOUND (20200528/psargs-330)
[    0.430807] ACPI Error: Aborting method \_SB.PEP._STA due to previous error (AE_NOT_FOUND) (20200528/psparse-529)
[    0.445731] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PEP._STA.TPOS], AE_NOT_FOUND (20200528/psargs-330)
[    0.445739] ACPI Error: Aborting method \_SB.PEP._STA due to previous error (AE_NOT_FOUND) (20200528/psparse-529)
[    0.662718] ACPI BIOS Error (bug): AE_AML_PACKAGE_LIMIT, Index (0x000000005) is beyond end of object (length 0x5) (20200528/exoparg2-393)
[    0.662735] ACPI Error: Aborting method \_TZ.GTTP due to previous error (AE_AML_PACKAGE_LIMIT) (20200528/psparse-529)
[    0.662738] ACPI Error: Aborting method \_TZ.CHGZ._TMP due to previous error (AE_AML_PACKAGE_LIMIT) (20200528/psparse-529)
[    0.663121] ACPI BIOS Error (bug): AE_AML_PACKAGE_LIMIT, Index (0x000000005) is beyond end of object (length 0x5) (20200528/exoparg2-393)
[    0.663135] ACPI Error: Aborting method \_TZ.GTTP due to previous error (AE_AML_PACKAGE_LIMIT) (20200528/psparse-529)
[    0.663139] ACPI Error: Aborting method \_TZ.CHGZ._TMP due to previous error (AE_AML_PACKAGE_LIMIT) (20200528/psparse-529)
[    0.813940] RAS: Correctable Errors collector initialized.
[    0.818130] ACPI Error: No handler for Region [ECRM] (0000000040948e9b) [EmbeddedControl] (20200528/evregion-127)
[    0.818136] ACPI Error: Region EmbeddedControl (ID=3) has no handler (20200528/exfldio-261)
[    0.818144] ACPI Error: Aborting method \_SB.GPIO._EVT due to previous error (AE_NOT_EXIST) (20200528/psparse-529)
I think it's related to my problem as ACPI manage the sleep mode.
 


spire123

New Member
Credits
36
Hello,

I have the exact same laptop (HP Elitebook 845 G7 with AMD 4750u), and I also encounter such suspend issue.

My problem is that when I suspend the laptop (manually suspend or close the lid), the laptop will either go to sleep but consume high power and drain the battery, or will just simply can't be woke by pressing the keyboard and can't enter TTY by ctrl + alt + f3.

I have tried various distributions, incluging Ubuntu, Fedora, Pop OS, Manjaro. And I have also updated to the latest kernel, which are 5.8.11 (stable) and 5.9-rc6 (mainline). But the same issue keeps happening.

I found that it is because these new AMD Ryzen laptops with 4000 series CPU will use "suspend to idle (or called S0 suspend)" as default. Such S0 suspend will either consume high power (since it's just put hardware into idle) or even worse cannot wake from suspend.

The unusable S0 suspend problem is common in these new AMD Ryzen laptops. I found that several laptops with 4000 series CPU all have such problem, including Lenovo Ideapad 14ARE05, Lenovo Yoga 14s, Asus UM425IA, HP ENVY 13, etc.

One solution is tried to utilize "suspend to ram (or called S3 suspend)". But unfortunately, these new AMD laptops disable the S3 mode in BIOS. By using the sudo dmesg | grep "ACPI: (supports", our HP Elitebook will only shows ACPI: (supports S0 S4 S5). No S3 state available.

With the instruction in "Ideapad 14ARE05 S3 sleep fix" and "A good night's sleep for the Lenovo X1 Carbon Gen6", we can tried to add S3 state back to our system by patching ACPI DSDT. Following the steps, I have modded my DSDT from
Code:
    If (Zero)
    {
        Name (_S3, Package (0x04)  // _S3_: S3 System State
        {
            0x03,
            0x03,
            Zero,
            Zero
        })
    }
to
Code:
    Name (_S3, Package (0x04)  // _S3_: S3 System State
    {
        0x03,
        0x03,
        Zero,
        Zero
    })
by removing the If statement part. After the patch, my sudo dmesg | grep "ACPI: (supports" now does show ACPI: (supports S0 S3 S4 S5) with S3 available. I then add mem_sleep_default=deep into my kernel parameter by editing /etc/default/grub. By checking cat /sys/power/mem_sleep and having [s2idle] deep, system now set into S3 suspend mode.

But even with I successfully patching the S3 suspend back and sleep with S3, there still has some serious problems. When I do a S3 suspend by manually pressing the suspend button or close the lid, the system does enter S3 state. But when I tried to wake the laptop by opening the lid and pressing the keyboard, the laptop can't be woke.

Other people also mention this problem in "HP Envy x360 w/ 4700U failing to suspend". It seems that HP Envy x360, Asus UM425IA, and our HP Elitebook 845 G7 just not able to wake even if we patch our ACPI DSDT and get into S3 suspend mode.

So I am still looking for possible solution to such suspend issue.
 
Last edited:

wizardfromoz

Super Moderator
Staff member
Gold Supporter
Credits
6,059
G'day @romain

A brief bit of research indicates that the problem is a bug that has been around for 3 to 4 years, and can affect a number of different brands of computers, using a number of different Linux distributions - Ubuntu, Redhat, Mageia, Arch and others.

A solution was found in a number of cases by flashing (upgrading) the BIOS.

Other than that, I have nothing further.

There is a Post I am approving which will precede or follow my Post, from a person who has some input.

Good luck, and welcome @spire123 :)

Chris Turner
wizardfromoz
 

romain

New Member
Credits
79
Thanks for your replies,

@wizardfromoz I already have the latest BIOS version and tried the solutions related to the bug in Ubuntu but that not solve my problem. I suppose that it's another problem because the sleep mode does not work even by clicking on suspend in the menu.

@spire123 I tried the solution on the link you shared but I get an error when running iasl -e *.dat -d dsdt.dat (for about the first twenty files everything is fine) :

Code:
Input file ssdt10.dat, Length 0x19B (411) bytes
ACPI: SSDT 0x0000000000000000 00019B (v01 HP     HPNBCONV 00001000 INTL 20160527)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file         slic.dat
Input file slic.dat, Length 0x176 (374) bytes
    slic.dat: Table [SLIC] is not an AML table - ignoring
External object resolution file         rtma.dat
Input file rtma.dat, Length 0x9E (158) bytes
    rtma.dat: Table [RTMA] is not an AML table - ignoring
External object resolution file         oeml.dat
Input file oeml.dat, Length 0x28 (40) bytes
ACPI: OEML 0x0000000000000000 000028 (v03 HPQOEM EDK2     00000002      01000013)
Pass 1 parse of [OEML]
Pass 2 parse of [OEML]
ACPI Error: Unknown opcode 0xE0 at table offset 0x0025, ignoring (20190509/psobject-119)
/*
Error: Unknown opcode 0xE0 at table offset 0x0025, context:
ACPI Error: Aborting disassembly, AML byte code is corrupt (20190509/psobject-134)
    0015: 20 20 20 02 00 00 00 20 20 20 20 13 00 00 01 00  //    ....    .....
    0025: E0 DD B3 61 00 00 00 00 00 00 00 A0 E0 69 2F C1  // ...a.........i/.
    0035: 55 00 00 0F 04 00 01 58 50 53 53 70 9A 69 2F C1  // U......XPSSp.i/.
 */
Could not parse external ACPI tables, AE_AML_BAD_OPCODE
Which distro do you use and did you update the kernel provided with it ? Do you plan to keep this laptop ? I'm studying the option to resend it to HP because I don't want to end up with an unusable laptop in my hands.
 

spire123

New Member
Credits
36
acpidump will copy all ACPI files to the current location. But if you do iasl -e *.dat -d dsdt.dat while the file OEML is in current location, it will pop up the error message you just mentioned. I just remove the copied OEML file from current location and then run iasl -e *.dat -d dsdt.dat again, it should now run successfully. But I don't know lack of OEML will result any problem or not in dumping/compiling DSDT.

Also, make sure you mod the part
Code:
DefinitionBlock ("", "DSDT", 2, "HPQOEM", "8760    ", 0x00000000)
to
Code:
DefinitionBlock ("", "DSDT", 2, "HPQOEM", "8760    ", 0x00000001)
Otherwise, the system won't detect ACPI override.

The distributions I use is Manjaro and Ubuntu, with kernel 5.9-rc6.

I don't think I can send the laptop back to HP, because I bought it oversea and has been over a month. So my current plan is keep trying for few weeks and looking for solution. Maybe wait for BIOS update from HP, or following the post I mentioned above and see if people with other laptops can fix the problem. If I still can't figure it out, selling this machine might be the option left then.
 

romain

New Member
Credits
79
Thanks,
I reinstalled Ubuntu 20.10 beta to have a clean install and then successfully done theses ACPI modifications.

The result I have is the same as you : I can get my laptop to sleep mode but it can't wake from suspend.

I hope that a solution will be available in the next weeks else I will resend to HP the computer.

If anyone finds something about that, let us know, that will be a great help for us.
 


Members online

No members online now.

Latest posts

Top