Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: [SOLVED] Unable to suspend (Read 4280 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[SOLVED] Unable to suspend


Greetings,
I have been unable to suspend my computer lately by running 
Code: [Select]
loginctl suspend
  or through the regular graphical options presented by lightdm/xfce4 (also previously, sddm/LXQT). When I first noticed this, I assumed this was because of some error I made and installed Artix afresh (which is why I have xfce4 now).

I have been unable to ascertain why this is. But one curious thing that I have noticed is that since this started happening, atleast one (sometimes two) of the cores of my processor is being used 100% at all times, regardless of what I am running (picture attached). Could anyone let me know what the issue is or help me discover it?

Any and all help would be highly appreciated. Thanks. :)

Picture description: htop running within lxterminal on awesome window manager.
#FreeHongKong

Re: Unable to suspend

Reply #1
Do you know what process is actually eating away at your CPU? Maybe dbus is getting spammed with messages or something.

Re: Unable to suspend

Reply #2
"K" would show kernel threads in htop, or top would show these by default. Whatever is using the CPU is not appearing in that htop view for some reason.

Re: Unable to suspend

Reply #3
"K" would show kernel threads in htop, or top would show these by default. Whatever is using the CPU is not appearing in that htop view for some reason.
kworker/3:0+pm, kworker/2:0+pm, ksoftirqd/3, and ksoftirqd/2 are using up the CPU. I tried following the answer by tanius on <https://askubuntu.com/questions/33640/kworker-what-is-it-and-why-is-it-hogging-so-much-cpu> and discovered "Your BIOS is broken; bad RMRR [0x00000000ad800000-0x00000000afffffff]" and "no suspend buffer for LTR". I think the latter is the reason behind failure to suspend.
However, being a noob, I do not know what to do to resolve these issues. Any further assistance or guidance would be highly appreciated. :)
#FreeHongKong

Re: Unable to suspend

Reply #4
Open a root terminal and issue:
Code: [Select]
# dmesg -wHT &
# tail -f /var/log/everything.log &
The syslog daemon should capture all kernel messages and perhaps dmesg is redundant, but you never know. Also, if you're not running syslog-ng but metalog, then the logfile is /var/log/everything/current.
Then, from the same terminal try to suspend either with loginctl suspend or echo mem >| /sys/power/state and post your output here.

Re: Unable to suspend

Reply #5
Picture 1:
"K" would show kernel threads in htop, or top would show these by default.

Picture 2:
Open a root terminal and issue:
Code: [Select]
# dmesg -wHT &
# tail -f /var/log/everything.log &

Picture 3: I performed echo mem >| /sys/power/state
Then, from the same terminal try to suspend either with loginctl suspend or echo mem >| /sys/power/state and post your output here.
#FreeHongKong

Re: Unable to suspend

Reply #6
Ouch that dmesg output looks bad. It seems like some devices can't suspend and/or sending a wakeup event. It looks like a kernel bug and those processes you mentioned earlier are all kernel things. It's probably a driver bug.

Re: Unable to suspend

Reply #7
So, is there a way to solve the issue?
If yes, please tell me how or tell me where to look for the solution.
If not, do tell me how to approach diagnosing problems like these so that next time I ask any question in the forum it is much simpler and succinct.


Thanks. :)
#FreeHongKong

Re: Unable to suspend

Reply #8
If you still have older kernel versions in your cache, you can try those and see if the issue occurs. You could also try some of the other kernel packages (like linux-lts) and see if the issue occurs there. But unfortunately aside from messing around with different kernel versions and hoping they work, there's not really much you can do.

If not, do tell me how to approach diagnosing problems like these so that next time I ask any question in the forum it is much simpler and succinct.


Nah no worries, you did fine. A million things could cause suspend to fail and determining the probable cause as a kernel/driver bug in a few posts is pretty good.

Re: Unable to suspend

Reply #9
One final question, do I
Code: [Select]
 pacman -R 
or
Code: [Select]
 pacman -Rns 
when I remove the old kernel? I do not want to break anything unnecessarily.
#FreeHongKong

Re: Unable to suspend

Reply #10
Assuming you have another kernel installed, I don't think it particularly matters. You probably shouldn't remove anything though if you're just testing different kernels (linux-lts vs linux or whatever) though. Just pick the one you want to boot into in the grub screen.

 

Re: Unable to suspend

Reply #11
Hi. This is not going to solve the suspend issue but it will help you to get rid of "AER" message in your dmesg. I applied in my laptop because I have that annoying message too.

Edit /etc/default/grub.

in the line GRUB_CMDLINE_LINUX_DEFAULT add "pci=noaer" then execute:

Code: [Select]
grub-mkconfig -o /boot/grub/grub.cfg

I attached like I have if you want to check before editing anything.

About the suspend issue, I read it's a kernel problem. I see the problem is more common in Archlinux kernels.

https://www.reddit.com/r/linuxquestions/comments/53rze7/suspend_fails_because_of_usb_controller/

Artix Linux Colombia

Re: Unable to suspend

Reply #12
I have installed the new kernel and run
Code: [Select]
grub-mkconfig -o /boot/grub/grub.cfg
Output:
Code: [Select]
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/artix/theme.txt
Found linux image: /boot/vmlinuz-linux-lts
Found initrd image: /boot/initramfs-linux-lts.img
Found fallback initrd image(s) in /boot: initramfs-linux-lts-fallback.img
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
Found memtest86+ image: /boot/memtest86+/memtest.bin
done


Just pick the one you want to boot into in the grub screen.

However, I cannot find the new kernel in the grub menu. I tried to follow <https://joshtronic.com/2017/10/13/how-to-downgrade-to-the-lts-linux-kernel-on-arch/> but there is no /boot/loader/entries/  directory in my /boot/.

Also,
Hi. This is not going to solve the suspend issue but it will help you to get rid of "AER" message in your dmesg.
- this worked in removing the AER message. Thanks, @jrballesteros05 .
#FreeHongKong

Re: Unable to suspend

Reply #13
I think you need to do "mkinitcpio -p linux-lts" as well.

Re: Unable to suspend

Reply #14
I think you need to do "mkinitcpio -p linux-lts" as well.
I did that just now and rebooted but it still did not display the lts option. Do I need to re-run grub-mkconfig again to make it appear?
#FreeHongKong