ACPI Error on boot

Hello,

Been getting the below error on bootup for awhile. I've read the other posts regarding "ACPI" but none of them seem applicable. Searches didn't help either. When I first installed 20.04 I did not get this error. I checked the journalctl log but nothing there seemed to apply. What should I begin with to fix this issue?

Thanks

1.7750121 ACPI Error: Aborting method _SB.PCI0.GPP2.PTXH.RHUB.POT7._PLD.due to previous error (AE_AML_UNINITIALIZED_ELEMENT) (20220331/psparse-529)

ACPI is kernel territory.
Boot with a previous kernel. See if you get the same errormessage.
You might also try the kerneloption: acpi=strict

1 Like

Regarding "Boot with a previous kernel. See if you get the same errormessage", brings another question to mind that I've been wondering about. When do you update the kernel? Every time a new kernel shows up? I'm newer to Linux and still getting use to some of the best practices. However, I seem to be caught up in what I call "update anxiety", where everything is running great (from few days to couple of weeks), then I get an update and the "crashing" starts all over again. Is there a way to prevent the kernel from being updated? Are there best practices as to when to update the kernel? How do I rollback the kernel to a previous version?

Where would I update kernel option: acpi=strict?

Thanks

I just let it happen automatically and don't think about it too much.

In case of a kernel bug, I downgrade to the last known working version (but it was probably 15 years ago since I needed that).

I only update manually to a newer version if hardware is too new to be recognized by an older kernel (had to do that once, about 10 years ago).

Yes, it is called "pinning" but be careful. Only do it when you really need it.
Since I'm a lazy person I use 'synaptic' to pin packages.

Synaptic needs an extra link to be able to cooperate with apt with respect to pinning. This is what you do before anything else (and only the first time):

sudo touch /var/lib/synaptic/preferences 
sudo ln -s /var/lib/synaptic/preferences /etc/apt/preferences.d/locked_in_synaptic

In Synaptic you can now select your kernelversion an lock it (see picture):

Just leave it to the packetmanager. You actually don't even have to think about it.

In the bootloader (Grub) there is always a menu entry to boot the previous kernel.

When during boot the manufacturer logo shows up, press Esc. and you are in the grub bootmenu. Choose "Advanced options for ubuntu" and press enter.
You will be able to choose the current kernel and the previous kernel in either normal or recovery mode.

Boot the older kernel, pin/lock the older kernel in synaptic and maybe remove the newer one that didn't work.

sudo pluma /etc/default/grub

Just change the the following line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Into this:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=strict"

Save it and then run:

sudo update-grub

If you want the bootmenu to always show, you might as well change this line:

GRUB_TIMEOUT_STYLE=hidden

Either comment it out by prepending it with a '#' or change it into this:

GRUB_TIMEOUT_STYLE=menu

(and afterwards run 'sudo update-grub' again)

Some extra info, just for the sake of completeness:

You can also enter the kerneloption during pre-boot which will only last until powerdown or the next reboot:
Enter Grub bootmenu like you did before, select kernel and press 'e'.
You can now manually temporarily change the bootmenu option.
The line to edit starts with 'Linux'. You can append your kerneloption there.

Also good to know is this:
ACPI is a standard to communicate with hardware.
Microsoft Windows has an incompatible implementation.
Result: A part of the hardware manufacturers changed their own implementation to appease Microsoft thereby deviating from (and corrupting) the standard.

So you will often see some non-important pre boot errors due to a buggy or otherwise non standard compliant ACPI implementation

2 Likes