Shutdown and Wake up from Suspend are Broken

Hi,

I have recently replaced Qubes 4.0.4 with 4.1.1 by performing a clean installation on my Librem 14, updated Pureboot to Release 24, EC to 1.11

There are two things that no longer work:

  1. Shutdown - although the Qubes shuts down, the hardware remains running and I had to press power button to make sure the hardware is off.

  2. Wake up from Suspend - the OS suspends, but again, the power on hardware remains on. Pressing any keys, won’t wake up the laptop. The only way out it to press and hold power button to shut the laptop completely and start again.

Observations:

DKSM

Instructions to install librem-ec-acpi-dkms in Qubes no longer work at the below step:

[user@dom0 5.15.81-1.fc32.qubes.x86_64]$ sudo make prepare
SYNC include/config/auto.conf.cmd
make[1]: *** No rule to make target ‘arch/x86/entry/syscalls/syscall_32.tbl’, needed by ‘arch/x86/include/generated/uapi/asm/unistd_32.h’. Stop.
make: *** [arch/x86/Makefile:217: archheaders] Error 2

GRUB

I have switched the graphical interface off in GRUB and updated it. When rebuilding initrd I get this error:

[user@dom0 boot$ sudo dracut -f
cat: /sys/power/resume: no such file or directory

Who has wake from suspend working in the same environment? I need your help to make it work please :relaxed: :kissing_heart: :stuck_out_tongue_winking_eye:

Notify @Kyle_Rankin and @jonathon.hall

Update: 01/18/2023 - this issue is probably not related to the OS nor the EC. I will update the post as soon as the cause is identified.

I updated that snippet a few months back because the instructions are different on Qubes 4.0.x and 4.1.x. Did you get those results when running the new Qubes 4.1.x instructions?

As far as suspend, at least so far I haven’t run into your issue at least as far as I can tell, although I don’t often suspend this laptop (it tends to live on my desk). I did an upgrade from Qubes 4.0.x to an early version of 4.1 and then have been doing the standard dom0 updates since then, although I haven’t yet run the very latest update.

1 Like

Yes.

I will leave Librem 14 running 24x7 until a solution can be found.

I have performed a clean installation of Qubes 4.1.1

@kate.mason I just ran through this with PB 24, EC 1.11, Qubes 4.1.x:

For the DKMS module, you should be able to skip the sudo make prepare. Wisdom online says that this is not needed for building external modules, and it won’t work without full kernel sources. The module built and installed successfully for me after that.

Shutdown and suspend are working for me, could you try booting a PureOS live USB and see if you can suspend / shut down there? That should indicate whether we need to look deeper in the OS or firmware.

I get the same error from dracut also about /sys/power/resume - sounds like this file in /sys is used to resume from hibernate. Qubes doesn’t support hibernate, so this is probably normal.

2 Likes

I have booted into PureOS live USB and tested both suspend & shutdown and, unfortunately, got the same behavior: does not shutdown, just stuck at a black screen with the last message:

reboot: Power down

On suspend, it suspends but won’t wake up.

I note, that restart works normally both in Qubes and PureOS.

The issue appears not OS related… Please tell me what further debugging we can do…

:confused:

1 Like

What brands and storage capacity is ur nvme?
Keep updated the gnu system: “sudo apt update; sudo apt upgrade” then downgrading e.c version go to ec-v10 test powering/restarting then go to e.c-v9 test again.
check too: “sudo apt install librem-ec-acpi-dkms
I dont think is a hardware issue but software.

My Gnu Librem-14 work really good here, zero complaints.

1 Like

@kate.mason, thanks for the update! I think the next step to take here is to enable the flash console in the firmware to collect logs from the failed wake. I’ll need to prepare and test a firmware build for this and get those instructions over to you.

1 Like

Thanks for this advice. I have rolled back al the way back to EC 1.6 and the issues with shutdown still exist. :frowning:

@jonathon.hall could this shutdown issue be unrelated to the EC? I am still happy to try to collect the logs with your instructions.

FYI - I have updated EC from 1.6 that I installed during debugging, to EC 1.11.

This is not a critical or urgent issue, but would be nice to at least understand why the shutdown is broken. Whatever attention you can give - I would appreciate. :smiling_face_with_three_hearts:

Hi @kate.mason, I just finished putting all this together! I don’t think it’s related to the EC, I would like to collect the coreboot logs, so I’ve put together a PureBoot build enabling the SPI flash console and added a tool to extract the log. It will take a bit longer than normal to boot or resume because I turned up debug logging, but it’s still pretty quick.

It’s important to reproduce the issue within the first few boots after flashing, because the logs will stop writing once the console space is full. I allocated a lot of space (1 MB) since we have plenty of room in flash, so you should have room to boot a handful of times.

Could you please do the following?

  • Get this PureBoot build: https://source.puri.sm/firmware/releases/-/blob/PureBoot-Librem14-flashconsole-1/librem_14/pureboot-librem_14-Librem14-flashconsole-1.rom.gz
  • Extract and copy to a USB flash drive, flash it normally from PureBoot (you can keep settings if desired)
  • Boot the OS. (The first boot after flashing always takes longer due to memory re-training, just wait a minute or so.)
  • Suspend from the OS and attempt to resume, confirm that this reproduces the failure
  • Shut off system, boot to PureBoot and enter recovery shell
  • Insert a USB flash drive and run: extract_console.sh, this will read back the console from flash and save it on the flash drive. (Run reboot to reboot from the recovery console.)

Then send me the console.log created on the flash drive. (If you’d like to see it for yourself, tr -d '\377' | less <console.log - there will be a lot of empty space filled with FF and the log levels are not written as text, but less displays it reasonably.) At that point you can flash the PureBoot release again.

I’m focusing on the failure to resume rather than shutdown first because shutdown doesn’t produce any coreboot logs, if they are both caused by the same root issue it will be easier to troubleshoot this way.

2 Likes

emailed :+1:

1 Like

Oddly, there is no coreboot tracing from the attempt to resume in the log - it just shows the successful boot, then another boot later. This probably means the CPU is not coming out of S3, one way or another.

I noticed you said “Pressing any keys, won’t wake up the laptop” - you tried pressing (but not holding) the power button right? Librem EC does not wake for other keys on the internal keyboard.

Thinking out loud, having already rolled back all the way to EC 1.6 suggests it is probably not the EC firmware either, flashing the firmware also resets the EC so it is probably not the EC getting stuck in a state preventing wake / shutoff either.

When you suspend the system, does the keyboard backlight turn off and does the charge LED start pulsing?

and

When the OS gets suspended all the lights under they keyboard and webcam/mic and power stay on. Usually I would see a power light start pulsing on the successful suspend.

I am confused myself as to why the suspend/shutdown has suddenly stopped working. Are you aware of any hardware issue that can prevent the computer from going to suspend mode?