Fixing ACPI Errors and Suspend Issues on HP EliteBook 845 G7 with AMD Ryzen Pro
Understanding the HP EliteBook 845 G7 Suspend Problem on Linux
The HP EliteBook 845 G7 with AMD Ryzen Pro 4750U is a capable laptop, but Linux users have reported frustrating suspend issues since day one. If you’re seeing the system enter a partial sleep state where the screen turns off and media pauses, but the fan stays audibly on and the system consumes 3–5W of power, you’re experiencing a common incompatibility between this hardware and how Linux handles modern laptop power management.
The ACPI BIOS errors in your system logs—particularly the symbol resolution failures (_SB.PCI0.BUSB.SAT1, _SB.PEP._STA.TPOS) and the missing EmbeddedControl region handler—hint at the underlying cause. But here’s the thing: those errors are firmware quirks that don’t directly prevent sleep. The real issue is more subtle and has to do with how your laptop’s BIOS defines sleep states and how the Linux kernel manages them.
S3 vs. S0ix: What’s the Difference?
Traditional laptop suspend on Linux uses the S3 sleep state (Sleep mode), where the CPU powers down almost completely, RAM stays powered, and the system consumes almost no energy. Most older laptops and many business systems support S3 through the BIOS.
The EliteBook 845 G7, however, only supports S0ix and S2idle—these are newer Intel and AMD “modern standby” modes where the CPU stays in a low-power state but remains partially active, allowing for instant wake and background activity. S0ix promises longer standby without the deep power loss of S3, but it requires the operating system to actively manage the power state, and Linux’s support for AMD Ryzen S0ix has been a moving target.
Why Your System Stays Partially Awake
When you press suspend on the EliteBook 845 G7 with an older Linux kernel, the system typically enters a state that looks like sleep on the surface—display off, keyboard unresponsive—but doesn’t fully engage the AMD power state management that would drop CPU frequency and voltage to the minimum. Instead, the CPU idles at its lowest frequency (likely a few hundred MHz), which explains the steady 4W power draw you’re seeing.
This isn’t a bug in your hardware or Ubuntu—it’s a compatibility gap. The kernel’s amd_pmc driver, which handles AMD Ryzen power management, didn’t fully support S0ix suspend on consumer and business Ryzen systems until Linux 5.11. Even then, it required fixes and refinements that continued through kernels 5.14, 5.15, and into 5.16.
The ACPI Errors Explained
Symbol resolution errors like “Could not resolve symbol [_SB.PCI0.BUSB.SAT1]” mean the BIOS’s ACPI table (a firmware data structure that describes hardware and power states) references a device or method that isn’t actually defined. This is a firmware bug, usually from incomplete BIOS development or testing. It’s annoying and gets logged, but it usually doesn’t prevent basic functionality.
The EmbeddedControl region error (“No handler for Region [ECRM]”) means the kernel can’t communicate with the embedded controller—a small chip on the motherboard that handles keyboard, battery, thermal management, and other low-level tasks. Again, this is a firmware definition issue. If the EC isn’t actually missing, the system falls back to other methods and keeps running.
None of these errors directly cause your suspend problem. They’re noise in the logs, symptoms of the BIOS not being written with modern Linux in mind.
How to Fix Suspend on Your EliteBook 845 G7
1. Verify your kernel version
Ubuntu 20.10 ships with kernel 5.8 or later (depending on your exact update), but you may be running 5.4 from Ubuntu 20.04 initially. Check your current version:
uname -r
If it shows 5.8 to 5.13, your amd_pmc driver is either missing or incomplete. The fixes didn’t land until 5.14.
2. Upgrade to kernel 5.15 or later
This is the most direct fix. On Ubuntu 20.10, you can use the Ubuntu Kernel Mainline builds:
# Visit https://kernel.ubuntu.com/~kernel-ppa/mainline/
# Download the latest -generic .deb files for your architecture (amd64)
# Then install:
sudo dpkg -i linux-image-*.deb linux-modules-*.deb
sudo reboot
Alternatively, upgrade to Ubuntu 22.04 LTS, which ships with kernel 5.15+ and has better AMD Ryzen suspend support built in from day one.
3. Check if amd_pmc is loaded
Verify the driver is actually present and active:
sudo modprobe amd_pmc
grep amd_pmc /proc/modules
# Should return a non-empty result if the module loaded
If the module loads successfully, you should see suspend power consumption drop closer to 0.5–1W instead of 4W.
4. Update your BIOS (optional but helpful)
Check the HP support site for the latest BIOS update for your EliteBook 845 G7. HP has released BIOS updates that address ACPI table issues and improve S0ix support. You’ll need to download the update on another system (or from Windows if you have a dual-boot setup) and flash it from a USB drive.
5. Test suspend behavior
After upgrading the kernel, test suspend in a few ways:
# Option 1: Via the GUI menu (Close lid or click Suspend)
# Option 2: From the command line:
sudo systemctl suspend
# Monitor power consumption while suspended:
# On a USB power meter or by checking battery drain over time
Suspend should now consume 0.5–1W. If you close the lid and wake the system with a key press, it should wake nearly instantly (one of the benefits of S0ix).
Why the ACPI Errors Don’t Matter (Much)
Those ACPI BIOS errors will likely remain in your dmesg output even after upgrading the kernel and fixing suspend. They’re part of your firmware and won’t go away unless HP issues a BIOS patch. But here’s the important part: they don’t prevent suspend from working. Linux is resilient enough to skip missing symbols and proceed. The errors are logged for debugging purposes and to remind vendors to fix their BIOS, but modern operating systems don’t fail just because the firmware is a bit sloppy.
When to Report This to HP
If you’ve upgraded to kernel 5.15+ and suspend still doesn’t work properly, this is worth reporting to HP support. Provide them with:
- Your exact BIOS version (check in System Settings or run
dmidecode -s system-firmware-version) - The output of
dmesg | grep -i acpi - Confirmation that you’re running the latest kernel for your Ubuntu version
HP may release a BIOS patch that fixes the symbol resolution errors or enables better S0ix support. Business-class laptops like the EliteBook are more likely to get vendor support than consumer models.
The Long-Term Picture
AMD Ryzen S0ix suspend support on Linux is stable as of kernel 5.15+ and continues to improve. If you’re on an older Ubuntu LTS release that ships with kernel 5.4, you’re simply too far behind the fixes. Upgrading to Ubuntu 22.04 LTS (kernel 5.15+) or using the Ubuntu Kernel Mainline PPA to get a newer kernel is the most reliable path forward.
The EliteBook 845 G7 is a solid machine once you get past this initial hurdle. The combination of AMD Ryzen Pro and Linux is powerful for development and productivity work. You’re not dealing with broken hardware—you’re dealing with the growing pains of Linux support for the latest mobile processor platforms. With the right kernel, your suspend will work reliably.
Sources
- docs.kernel.org
- bugs.launchpad.net
- bbs.archlinux.org
- kernel.org
- dev.to
- wiki.ubuntu.com
- uefi.org
- en.wikipedia.org
