Leap 15 on Intel Atom 'power supply fuel gauge driver failed' endless errors

I installed a Leap 15 on an Intel Atom Z8350 mini computer, installation went well, but during boot it hangs with endless errors ''power supply fuel gauge driver failed" (see picture https://cloud.mail.ru/public/3r4d/XE2kgbXeH). It actually boots to KDE Plasma, but after a few seconds hangs. Switching to another console (Ctrl-Alt-F1) shows those errors non-stop until something overflows and the computer reboots.

I use EXT4 FS. Tried btrFS and XFS - same errors happen. Tried ‘acpi=off’ - doesn’t help. Sorry I can’t make any logs because it hangs just after a few seconds.

What can be the problem?

Thank you.

The ‘axp288_fuel_gauge’ kernel module is a battery monitoring for AXP288 power management hardware (PMIC device). It’s unlikely to be the cause of KDE crashing IMO, but maybe it wouldn’t hurt to blacklist it for now if it’s not working. You could also try starting IceWM session at the login screen perhaps?

Of topic: I’d be curious what brand and model the mini computer is if you don’t mind telling me :wink: Small form factors just always peak my interest.

It might be possible that disabling desktop effects helps. You could try removing or renaming kwinrc…

mv ~/.config/kwinrc ~/.config/kwinrc-old

…from outside the KDE session eg via a console at init 3. Then see if the Plasma 5 session is more stable again.

BTW it’s a mini PC, not a laptop, it doesn’t have a battery.

KDE is not crashing at the start, the fuel gauge errors start as soon as it starts booting, long in advance of KDE.

Would you mind telling me how I can blacklist that? And how to start IceWM?

BTW, the mini PC is X5. That’s all there is on it.

I can’t do anything in any console because the errors are just running like mad and all consoles just hang

KDE is not crashing at the start, the fuel gauge errors start as soon as it starts booting, long in advance of KDE.

Yes, got that already. However, it’s not clear to me that the module errors have anything to do with your KDE issue.

Would you mind telling me how I can blacklist that?

Try blacklisting via a custom file in /etc/modprobe.d/ directory eg blacklist-axp288.conf with the following entry

blacklist axp288_fuel_gauge

And how to start IceWM?

At the login screen you should be able to choose your preferred desktop session. Logging out of the KDE session will get you there, or press and hold CTRL+ALT+Backspace.

You could also configure it with update-alternatives…

sudo update-alternatives --config default-xsession.desktop

and it will take effect the next time the X-server is (re)started.

I’m telling you I can’t do anything neither in KDE, nor in any console, nor anywhere because the PC simply hangs. There is just nothing I can go and change anything, it’s unresponsive. The only place I can do anything is the boot menu before it boots. That’s it. After I press the boot button, it spits out thousand of those errors until it restarts. All I’ve got is that black screen with thousands of errors going by.

If I press Ctrl-Alt-F1 - I’ve got the running errors. If I press Ctrl-Alt-F5 - I’ve got the running errors. If I press Ctrl-Alt-Backspace(x2) - I’ve got the running errors.

Can I disable the module at boot time?

Just FYI: I did a network install form a USB. If that matters in any way…

If you’re comfortable working at runlevel 3, you can boot to it with an “on the fly” edit of the grub2 boot entry. Hit ‘e’ as soon as you have the grub boot screen, and scroll down with arrow keys unitl you get to the linux entry. Press the ‘end’ key to get to the end of the line and add a space then a ‘3’, then press F10 to boot.

Here’s a graphical guide if it’s still not clear…
https://www.if-not-true-then-false.com/2012/howto-change-runlevel-on-grub2/

You’ll need to fire up a CLI editor (eg nano or pico) to make the required changes. Once you’re done, reboot so that the blacklist takes effect. See how that goes.

Excuse my ignorance, when I’m at level 3, what should I do? How do I change files from there? What’s nano or pico? Can I use Norton Commander editor? That’s the only editor I could use

Could it be that the axp288 module was not installed or loaded? Or on the other hand maybe it has to be disabled at boot?

Ok, I’m in! I’ve installed a Midnight Commander through Yast at RL3, changed the name of the kwinrc.

Now what do I do? What should I disable/enable/install?

Well, you could also create the blacklist file as already described.

That worked! Thank you very much!!!

But now another problem appeared. The PC had an Android and Windows 10 preinstalled. I installed openSuse Leap 15 after deleting all previous partitions. And now (this didn’t happen before I blacklisted the axp288 and removed the kwinrc) the first screen I see is a logo of Android, then it says boot failed press any key, I press any key and only then it goes to the Leap 15 boot screen.

Why hasn’t the default boot loader installed as usual on other PCs?

Good to know.

But now another problem appeared. The PC had an Android and Windows 10 preinstalled. I installed openSuse Leap 15 after deleting all previous partitions. And now (this didn’t happen before I blacklisted the axp288 and removed the kwinrc) the first screen I see is a logo of Android, then it says boot failed press any key, I press any key and only then it goes to the Leap 15 boot screen.

Why hasn’t the default boot loader installed as usual on other PCs?

You should start another thread for that issue.

Hi, I’m an upstream kernel developer and the maintainer of the axp288_fuel_gauge driver.

I just discovered this thread today, this is a known issue with some of these Intel Atom based boxes, they use an AXP288 PMIC and often the BIOS does not turn off the fuel-gauge (battery monitoring) part of this chip.

The driver for the AXP288 fuel-gauge contains a list of devices which are known to have this issue: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/power/supply/axp288_fuel_gauge.c#n679 and it will automatically disable itself for devices on this list.

So the proper fix for this, which will make future Linux versions work out of the box without needing manual configuration, is to add your device to this list.

I can do this for you, but I need some information about your model to be able to do this. Please as a regular user in a terminal run:

grep . /sys/class/dmi/id/* 2> /dev/null

On the device and then copy and paste the output here, or send me an email with it at “Hans de Goede <hdegoede@redhat.com>”.

That will give me the info which I need to add your device to the no-fuel-gauge list.

Also a kind request to the kind people who have helped the reporter of this issue before, if the solution ends up to be blacklisting a kernel driver, or specifying some module parameter, then please send the upstream kernel driver maintainer for the kernel-module in question an email.

The maintainer(s) may very well not always have time to look at the issue, but sometimes they do and if we can get these kind of things fixed in the kernel, then for newer Linux distro releases things will just work without users needing to manually fix things in arcane ways.

Regards,

Hans