Hello everyone,
Since I updated my kernel to version 6.5, my laptop doesn't turn off completely. The screen turns off and the fan stops (Edit: The fan sometimes keeps spinning, sometimes starts spinning faster), but the power button and one of the LEDs stay on. I need to hold the power button for a few seconds to be able to turn it off completely. This only happens when I try to shut down (using either poweroff, shutdown, or XFCE's shut down menu). Rebooting works without any problem.
When I reinstall a version before 6.5 from Pacman's cache or when I boot using an LTS version, there is no problem.
I tried a few versions. Here are the versions that shut down properly:
- linux-lts-6.1.54-1
- linux-6.4.7.artix1-3
- Everything before
And here are the versions that don't:
- linux-6.5.2.artix1-1
- linux-6.5.5.artix1-1
My init system is Runit, my laptop is an old Acer Aspire, and my CPU is a 2nd gen Intel i5 (Sandy Bridge), if it helps.
Interestingly, I have another laptop which is almost the same model, just a bit older, that doesn't have this problem. That laptop has a Pentium (Arrandale) and uses Dinit.
I did some tests with the four base weekly live ISOs. They all come with linux-6.5.5-artix1-1, and they all have the same problem as my installed system. The only ISOs that showed an error message at the end that could maybe be helpful is the one with OpenRC:
mount-ro | * Remounting remaining filesystems read-only ...
mount-ro | * Remounting / read-only ...
mount-ro | * Remounting /run/artix/bootmnt read-only ...
mount-ro | * in use but fuser finds nothing
mount-ro | * ERROR: mount-ro failed to start
Sending the final term signal
Sending the final kill signal
And then the screen turns off but the computer stays on. Any idea what I should look at to diagnose this problem? Thanks
Here are some logs:
When running the LTS kernel 6.1.54-1 (no problem in this case):
dmesg: https://paste.artixlinux.org/view/b5716f75
lsmod: https://paste.artixlinux.org/view/874e2e7c
lspci -v: https://paste.artixlinux.org/view/76a2cbbd
lsusb: https://paste.artixlinux.org/view/a22ebbf7
When running the standard kernel 6.5.5-artix1-1 (won't shutdown in this case):
dmesg: https://paste.artixlinux.org/view/6a543244
lsmod: https://paste.artixlinux.org/view/2a7db4c5
lspci -v: https://paste.artixlinux.org/view/bf9738a2
lsusb: https://paste.artixlinux.org/view/3e8689ac
and i thought it was just me
Do you experience the same problem? Were you able to solve it?
Try this to shutdown maybe it does a better job 🤷🏻♂️
# init 0
For me it worked but I'm not having those shutdown issues.
You can try the hardened kernel 'linux-hardened' that's way more supple. Also from your logs I can see more kernel modules that fired up vs the older kernels 99 vs 101. Could be a module that has some problems that hangs the whole system instead of exiting nicely.
No luck, it does the same as
poweroff,
shutdown, etc.
Also, I booted without the
quiet parameter given to Linux by Grub and with a higher
loglevel (dunno what the max is, I gave it 10 instead of 3). There is a small difference in what the kernel prints just before the screen turns off. With the LTS kernel, I see this:
- runit: leave stage: /etc/runit/3
- runit: sending KILL signal to all processes...
- runit: power off...
[ 80.910333] kvm: exiting hardware virtualization
[ 81.039265] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 81.040055] sd 0:0:0:0: [sda] Stopping disk
With the standard kernel, the line about kvm is not printed. Can it be related to my problem?
If you don't use virtualization try to blacklist kvm module and the best way to do that is like this.
Edit /etc/modprobe.d/modprobe.conf if you don't have that file create it. And add whatever module has problems.
install kvm-amd /bin/true
install kvm-intel /bin/true
install kvm /bin/true
You have to
# mkinitcpio -P
for that to take effect.
The two extra modules loaded with the standard kernel are
i2c_algo_bit (related to the communication bus) and
uvc (USB Video Class driver). I wasn't able to unload
i2c_algo_bit, but unloading
uvc didn't change anything.
I just tried
linux-hardened and
linux-zen, but I get the same result :(
Thanks for the idea, I will try tomorrow!
Unfortunately, blacklisting the kvm modules doesn't change anything.
lsmod doesn't list them and powering off with kernel logging on shows the same output as when I use the lts kernel, but still the laptop doesn't shutdown entirely.
I see another module called 'irqbypass' that's being called by the kvm. Try this
# modprobe -r irqbypass
After that try to shutdown, if it works ok blacklist 'irqbypass' module the same way you did with the kvm module.
But first try find some info about that module
# modinfo irqbypass
From my knowledge 'irqbypass' is still linked with virtualization thing so that may be the thing it hangs your system.
$ modinfo irqbypass
filename: /lib/modules/6.5.5-artix1-1/kernel/virt/lib/irqbypass.ko.zst
description: IRQ bypass manager utility module
license: GPL v2
...
Good suggestion, however it doesn't change anything. Both using
modprobe -r and blacklisting it from the initramfs yields the same problem. At this point, I guess I should try blacklisting more and more modules and see if one of them changes something :o
If you enjoy problem solving then crack on.
But otherwise, unless the newer kernel brings something to the table you want or need, why not just use an older kernel which works ?
I've been using the LTS kernel since I discovered the problem, but I'm just worried about what happens when it reaches version 6.5. If it also doesn't shutdown properly, I prefer to have found a solution before I get there. I could also ignore the updates for my kernel, but it's usually not a good idea security-wise.
Plus, I'm also learning about modules and initramfs by tinkering with this, so it's not so bad :D
The only notable change between those two kernels seems to be in the kernel config.
# CONFIG_SYSFB_SIMPLEFB is not set
CONFIG_SYSFB_SIMPLEFB=y
first line belongs to the working kernel and second is the way they changed that config on the later versions.
Found these on arch version of the kernels as older changes on artix kernel are not available.
check here (https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/commits/main)
edit: found it here (https://gitea.artixlinux.org/packages/linux/commits/branch/master)
look on lts and see what changed at the kernel level
Along with 'uvc' module you can try unload 'uvcvideo' too.
I think it is most likely an issue from BIOS. Upgrading it can solve some problems, but probably not all. In that case, you have to stick with an LTS kernel.
There are kernel parameters acpi.debug_level and acpi.debug_layer that may help you locate the problematic hw/fw.