Sleep issue on HP Omen 16 – Debian 13.2

I solved the first real problem I’ve had with my hardware/OS combo

Trying to use sleep had issues – first the wireless adapter putting the device to sleep, then the video card failing to resume

First lets fix the mt7925e wireless adapter by using modprobe

mt7925e wireless adapter

Single-file solution: one sleep hook script (pre + post)

Create the file:

sudo nano /lib/systemd/system-sleep/mt7925e-wifi

Paste this:

#!/bin/sh
# Unload/reload MediaTek mt7925e around suspend/hibernate to avoid PM timeout (-110)

case "$1" in
  pre)
    # Optional but helps the unload succeed cleanly
    systemctl stop NetworkManager 2>/dev/null || true

    # Unload wifi module (ignore errors if already unloaded)
    /usr/sbin/modprobe -r mt7925e 2>/dev/null || true
    ;;
  post)
    # Reload wifi module
    /usr/sbin/modprobe mt7925e 2>/dev/null || true

    # Bring networking back
    systemctl start NetworkManager 2>/dev/null || true
    ;;
esac

exit 0

Make it executable:

sudo chmod +x /lib/systemd/system-sleep/mt7925e-wifi

That’s it — no systemctl enable needed. systemd automatically runs it on suspend/resume and hibernate/resume.

NVIDIA resume

Enable VRAM preservation (common “black screen on resume” fix)

Create:

sudo nano /etc/modprobe.d/nvidia-s2idle.conf

Add:

options nvidia NVreg_PreserveVideoMemoryAllocations=1
options nvidia NVreg_TemporaryFilePath=/var/tmp

Then rebuild initramfs and reboot:

sudo update-initramfs -u
sudo reboot

Done! Hopefully your sleep issues are resolved.

Edit: 2025-1-5
Welp, that didn’t get the job done.
Put it to sleep last night and when I tried to boot it up today I couldn’t. Power LED was still breathing, but nothing caused it to resume. Hard shutdown and reboot

journalctl showed a couple different things mucking up


Disable hibernate attempts and keep pure suspend

sudo mkdir -p /etc/systemd/sleep.conf.d
sudo tee /etc/systemd/sleep.conf.d/00-no-hibernate.conf >/dev/null <<'EOF'
[Sleep]
AllowHibernation=no
AllowSuspendThenHibernate=no
EOF
sudo systemctl daemon-reload

Fix the AMDGPU soft lockups

Add this kernel parameter (start conservative):

  1. Edit /etc/default/grub, add to GRUB_CMDLINE_LINUX_DEFAULT:
amdgpu.dcdebugmask=0x10
  1. Apply + reboot:
sudo update-grub
sudo reboot

This is a widely-used workaround for laptop-panel PSR/idle issues in amdgpu’s DC path.

If you still hit lockups after long uptime, escalate to:

amdgpu.dcdebugmask=0x12

Alright. Hope that solves it! We’ll leave it sleep overnight again and see what happens. If you don’t see any updates after this, I’ve solved it, or disabled sleep entirely

Update:
Two days later and no errors resuming from sleep so far!

Leave a Comment