[TRACKING] Framework AMD Ryzen 7040 Series lid wakeup behavior feedback

I just opened my backpack to once again find that my Framework 13 AMD (running firmware 3.0.5) is hot to the touch, with 30% of the battery depleted because it woke from sleep in my bag.

I’ve participated in other threads about this, and have only spotted a single months-old mention by a Framework employee acknowledging a firmware problem. Since then? Nothing.

I even switched from Arch to Fedora 41 with a complete stock installation to see if a blessed distro might solve the problem. It didn’t.

So, what I’d like to hear from someone at Framework is:

  1. Do you acknowledge that this is a defect?
  2. Do you have a plan to remedy it?
  3. By when?

I think it’s altogether reasonable to expect that my $1400 device should meet the bare minimum of functionality as a laptop, not a desk-bound device, which is to travel in a way that assures battery life is not degraded.

1 Like

Try these udev rules, disables everything from waking except the power button:

/etc/udev/rules.d/69-suspend.rules:

ACTION=="add", SUBSYSTEM=="acpi", DRIVERS=="button", ATTRS{hid}=="PNP0C0D", ATTR{power/wakeup}="disabled"
ACTION=="add", SUBSYSTEM=="serio", DRIVERS=="atkbd", ATTR{power/wakeup}="disabled"
ACTION=="add", SUBSYSTEM=="i2c", DRIVERS=="i2c_hid_acpi", ATTRS{name}=="PIXA3854:00", ATTR{power/wakeup}="disabled"

Reboot to apply.

3 Likes

It would be nice to know if there is any workaround for us poor Windows users too!

1 Like

What is achieved by the suspend rules is just that is disables the “wakeup” functions.
Windows has a way to disable wakeups.
A quick google finds:

Don’t wanna sound like I am saying the obvious, but I had a very similar issue + wake up black screen + restarts, and the way to fix it was simply to set up my own config in

/etc/systemd/logind.conf

with

[Login]
SleepOperation=suspend
HandleLidSwitch=suspend
HandleLidSwitchExternalPower=suspend
HandleLidSwitchDocked=ignore

In my case, it seemed like Fedora 41 was defaulting to suspend-then-hibernate which was breaking my laptop, as I did not set up hibernation at all

2 Likes

While these are helpful, they shouldn’t be necessary. It seems clear that Framework is avoiding taking responsibility for a defect and clearly communicating if and how they intend to remediate it. Very disappointing.

(post deleted by author)

I now understand that second rule isn’t for the keyboard and I used the udev rule from betalars for the keyboard. The keyboard backlight stays on as a couple other people have mentioned, I would be interested in a rule or script that turns it off.

You will need to install “qmk_hid” somewhere to control the backlight of the keyboard so it switches off before suspend.

This is the script I use:

#!/bin/sh
# This file should be placed in: /usr/lib/systemd/system-sleep

PATH=/sbin:/usr/sbin:/bin:/usr/bin

case "$1" in
        pre)    #echo AMDI0010:03 >/sys/bus/platform/drivers/i2c_designware/unbind
                #echo 1-4 >/sys/bus/usb/drivers/usb/unbind
                /home/qmk_hid/target/debug/qmk_hid via --backlight 0
                echo disabled > /sys/devices/pci0000:00/0000:00:08.1/0000:c1:00.3/usb1/1-4/1-4.3/power/wakeup
                echo disabled > /sys/devices/platform/AMDI0010:03/i2c-1/i2c-PIXA3854:00/power/wakeup
                echo disabled >/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4b/PNP0C09:00/PNP0C0D:00/power/wakeup
                exit 0
                ;;
        post)   #echo AMDI0010:03 >/sys/bus/platform/drivers/i2c_designware/bind
                #echo 1-4 >/sys/bus/usb/drivers/usb/bind
                exit 0
                ;;
        *)      exit 1
                ;;
esac