Suspend-then-hibernate fails with "Failed to write mode to /sys/power/disk: Invalid argument"

Hello fedora users/gurus,

I do not know why I had to update my Fedora 34 (guesses those updates available numbers in Software Center bugged me). But whatever, I did the update and it broke a few things, like, my ability to suspend-then-hibernate :sob:

Here is the status of the systemd-suspend-then-hibernate service:

systemd-suspend-then-hibernate.service - Suspend; Hibernate if not used for a period of time
     Loaded: loaded (/usr/lib/systemd/system/systemd-suspend-then-hibernate.service; static)
     Active: failed (Result: exit-code) since Sun 2021-09-19 22:29:38 EDT; 14min ago
       Docs: man:systemd-suspend.service(8)
    Process: 3550 ExecStart=/usr/lib/systemd/systemd-sleep suspend-then-hibernate (code=exited, status=1/FAILURE)
   Main PID: 3550 (code=exited, status=1/FAILURE)
        CPU: 18ms

Sep 19 22:29:38 fedora systemd[1]: Starting Suspend; Hibernate if not used for a period of time...
Sep 19 22:29:38 fedora systemd-sleep[3550]: Failed to write mode to /sys/power/disk: Invalid argument
Sep 19 22:29:38 fedora systemd[1]: systemd-suspend-then-hibernate.service: Main process exited, code=exited, status=1/FAILURE
Sep 19 22:29:38 fedora systemd[1]: systemd-suspend-then-hibernate.service: Failed with result 'exit-code'.
Sep 19 22:29:38 fedora systemd[1]: Failed to start Suspend; Hibernate if not used for a period of time.

I am unable to see why this would be so. There was another post on here where systemd-sleep fails while creating timerfd. I double checked and that is not the problem here. Infact, I don’t even get anything when I run the solution from that post:

$ sudo grep 'wake_alarm.*systemd-sleep' /var/log/audit/audit.log

This command returns nothing. Also, my systemd version is 248 (v248.7-1.fc34)
Please, if anyone can have any clue to why this is happening, I would be so much thankful.

If you need anymore information, please don’t hesitate to ask.

EDIT: Simple suspend also fails with the same error!

FIXED! UPDATE:

I finally fixed it. It turns out that if you have any “Mode” settings set in /etc/systemd/sleep.conf file, they will cause weird stuff to prop up. For example the following settings should be commented out:

#SuspendMode=suspend-then-hibernate
#HibernateMode=shutdown
#HybridSleepMode=suspend platform shutdown

Everything works after this.

1 Like