i8kmon uses wrong temperature thresholds after waking from sleep

Bug #1530252 reported by Degru
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
i8kutils
New
Undecided
Unassigned

Bug Description

Computer: Dell Inspiron 15 3521, no dedicated GPU, right fan only. Running Ubuntu 14.04.3. i8kutils installed from Ubuntu repo.
i8kmon.conf is attached.

I'm trying to make my computer completely silent, and I've noticed that i8kmon doesn't always obey the temperature thresholds I set. I only want the fan to turn on when the CPU gets above 70 C, and go into full speed when it gets above 80C. I think I have the thresholds set up correctly for this.

What I've noticed is that occasionally it doesn't follow the config file and turns the fan on at anywhere between 53 C and 60 C. This seems to happen after I boot the computer or wake from sleep.

Restarting the i8kmon service seems to temporarily fix the problem, but it's still very annoying. Perhaps it's something wrong with my config, but I doubt it.

Revision history for this message
Degru (dennis-grudzinsky) wrote :
description: updated
description: updated
description: updated
summary: - i8kmon sometimes uses wrong temperature thresholds
+ i8kmon uses wrong temperature thresholds after waking from sleep
description: updated
Revision history for this message
Degru (dennis-grudzinsky) wrote :

I have figured out why this happens. Apparently the fan settings from "i8kfan" do not get retained when sleeping and resuming the computer. Control of the fans is ceded to whatever system controls them by default. Since this system doesn't ever allow the temperatures to get to 70C, i8kmon never kicks in to issue an i8kfan command.

 I have found that running "i8kfan 0 0" upon resume seems to fix the problem completely. Issuing an i8kfan command gives control back to i8kfan, so that i8kmon can function normally.

Revision history for this message
vitorafsr (vitorafsr) wrote :

Something is strange in your system: on normal boot, you say i8kmon controls system temperature with fan turned on at 70° due your threshold, but on resume a default system control turns fan on before 70°C.

So I conclude that, on Dell Inspiron 15 3521, the default system for temp control does not turn on on normal boot, and only begins to work on resume from suspend.

Some more analysis needed! :-)

Revision history for this message
Degru (dennis-grudzinsky) wrote :

No, on normal startup the default system control works fine. Thing is, I have i8kmon set to run on startup, and since i8kmon spins the fans to full speed for a second whenever it starts, it overrides the system control, as it it is supposed to. This does not happen when the system resumes, which is why this issue happens.

Revision history for this message
Dan Stoner (danstoner) wrote :

I also observe fan problem after suspend / resume. Hardware is Dell Latitude 5501.

Restarting i8kmon fixes the issue.

A possible workaround is to restart i8kmon whenever the laptop comes out of suspend:

$ cat /etc/systemd/system/i8kmon-after-resume.service
[Unit]
Description=Restart fan monitor after resume to keep laptop from melting.
After=suspend.target hibernate.target hybrid-sleep.target

[Service]
Type=simple
ExecStart=/bin/systemctl restart i8kmon.service

[Install]
WantedBy=suspend.target

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.