Why would fans run full-time whenever the battery charger is connected?

On my laptop (Dell XPS 15 9570 w/ Fedora 36), my fans (2) run continuously at a medium speed (2500 rpm) when the power brick is plugged in. They turn off instantly when on batteries alone. This is all with the machine on low load (main package and all core temps <50C).

It’s as deterministic as a switch: power lead in, fans go on, regardless of temperature. This suggests to me that there’s something configured somewhere to just switch them on when the battery’s being charged.

So, in principle: what (services, config files etc) in Fedora 36 configures or determines when and at what speed the fans run?

First of all the Dell firmware could be one reason for your “fan spectacle”, another reason is the graphics driver you use and the third reason is the power profile you are using. I would ask Dell which role the firmware plays and afterwards check the graphics driver regarding energy efficiency and at the end check which applications you run (middle until heavy graphics load). Some machines goes automatically into energy saving when the power-supply is removed. I hope it helps you to find the reasons for your fan issue. Check also if your machine is really clean (dust-free etc.). Fedora is for me not the reason.

1 Like

Thanks for the suggestions @heliosstyx .

I’ve done a bit of reading since posting - and though info is fragmentary & scattered I found enough to realise I didn’t have the right mental model of what’s going on. I assumed the OS was in control, but it seems that the BIOS is by default, and with appropriate drivers etc the OS can take over. Fedora doesn’t do so (I think) so the behaviour I’m seeing reflects what the BIOS does. Indeed if I reboot into the BIOS config, I see exactly the same fan behaviour.

Windows, by contrast, must have the drivers & service to take over fan control, because under it fans were much more responsive (off/silent most of the time & spinning up when there’s a bit of load). Not very relevant now as I’ve expunged Windows.

I tried a package i8kutils which is supposed to offer fan control for some unspecified list of Dell laptops, but it didn’t work on mine.

I’ll do a bit more research along the lines you suggested (not that I expect to get anything out of Dell). I may just have to live with it.

The Windows behaviour regarding the fans shows that something is not the same under Fedora, the reasons for it could be wide spreaded. I guess it has to do with the driver: what GPU you are using and is the driver up-to-date?

I had exactly the same behaviour on my Thinkpad T450s. As far as I remember, the wrong CPU governor was set. The “new” Gnome power profiles daemon simpy didn’t do CPU scaling. The CPU never entered idle.

I guess that daemon doesn’t work well and does not expose any settings to the user.

How I fixed the issue…
I removed power-profiles-daemon installed tlp and set the CPU governor to schedutil.

Ever since, my CPU is idle about 85% of the time.

If you don’t want to remove the power daemon right away, you can stop, disable and mask that service

systemctl stop power-profiles-daemon.service
systemctl disable power-profiles-daemon.service
systemctl mask power-profiles-daemon.service

references usability:

Just an FYI, I have the same symptom on a Debian Bookworm system, and power-profiles-daemon was already disabled because I use tlp, and my system doesn’t support the schedutil scaling governor. This behavior started after a recent (~2 months ago) kernel upgrade, so something has changed on the kernel side but I haven’t had any time to try to track it down.

1 Like

Thanks @augenauf - I had a look through what you’ve linked to, but I only have performance and powersave governers available, and my CPU didn’t appear to be having an idle problem.

@kpfleming - nail, meet head! I thought back as bit and though I wasn’t 100% sure realised my issue must have started sometime not that long ago - I’ve had this particular Fedora installation since late Feb so surely I would have noticed if this had been happening all along.

I tried downgrading to the oldest kernel still on my system, 5.17.8.300, with no change. So I downloaded 5.17.7.300 and - voila! - the laptop is quite when under power again. Thanks for that.

A couple of follow-up questions for anyone who might know:

  • How can I ensure the older kernel isn’t removed when new kernels arrive? I don’t mind manually picking it to boot into from the grub menu, but I’d like it to stay around until a newer kernel solves the problem
  • Who should I report this to? I can’t be sure this is a kernel bug per se - it might be an interaction.
1 Like

Setting in /etc/dnf/dnf.conf

https://dnf.readthedocs.io/en/latest/conf_ref.html#installonly-limit-label

1 Like

Show grub menu (don’t auto-hide)

sudo grub2-editenv - unset menu_auto_hide

GRUB hidden menu change FAQ - Hans' hacking log — LiveJournal?

1 Like

I’ve submitted a bug at 2093505 – Fan runs permanently when laptop PSU is connected, with post 5.17.7-300 kernels

It might be worth anyone else experiencing this following the issue, or adding any further relevant info.

1 Like