vitorafsr / i8kutils

Fan control for some Dell laptops
https://launchpad.net/i8kutils
GNU General Public License v3.0
216 stars 29 forks source link

Bad i8kmon beahaviour on Precission 3510 #20

Open majales opened 5 years ago

majales commented 5 years ago

Hi, I'm just diagnosing problems with i8kmon on Dell Precission 3510. It is working somehow, I've been able to use i8mon together with dell-bios-fan-control, but behaviour is strange ans sometimes it doesn't work...

this is what I see in the syslog.

May 8 10:17:56 dellnotebook i8kmon[8963]: config(i8kfan) = /usr/bin/i8kfan May 8 10:17:56 dellnotebook i8kmon[8963]: /usr/bin/i8kfan 0 0 May 8 10:17:56 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - 1 May 8 10:32:08 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - 2 May 8 10:32:10 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - - May 8 10:43:00 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - 0 May 8 10:43:28 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - 1 May 8 11:01:08 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - 2 May 8 11:01:12 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - 1 May 8 11:21:04 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - 2 May 8 11:21:06 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - 1 May 8 11:21:10 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - 2 May 8 11:21:12 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - 1 May 8 11:21:34 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - 2 May 8 11:21:36 dellnotebook i8kmon[8963]: /usr/bin/i8kfan - -

Notice "/usr/bin/i8kfan - -" this is happening when temperature drops bellow level for "1" .. I also noticed thand there are only 2 speeds of fan around 2500 rpm and the arround 4800 rpm and of course 0 rpm.

I have i8kmon started as systemd service with this confoguration:

[Unit] Description=Dell laptop thermal monitoring Documentation=man:i8kmon ConditionPathExists=/proc/i8k

[Service] ExecStartPre=/usr/local/bin/dell-bios-fan-control 0 ExecStopPost=/usr/local/bin/dell-bios-fan-control 1 ExecStart=/usr/bin/i8kmon --nouserconfig Restart=always RestartSec=5

[Install] WantedBy=multi-user.target sleep.target

and /etc/i8kmon.conf looks like:

cat /etc/i8kmon.conf

Sample i8kmon configuration file (/etc/i8kmon.conf, ~/.i8kmon).

External program to control the fans

set config(i8kfan) /usr/bin/i8kfan

Report status on stdout, override with --verbose option

set config(verbose) 1

set config(noauto) 0

set config(nouserconfig) 1

Status check timeout (seconds), override with --timeout option

set config(timeout) 2

Temperature threshold at which the temperature is displayed in red

set config(t_high) 80

Temperature thresholds: {fan_speeds low_ac high_ac low_batt high_batt}

These were tested on the I8000. If you have a different Dell laptop model

you should check the BIOS temperature monitoring and set the appropriate

thresholds here. In doubt start with low values and gradually rise them

until the fans are not always on when the cpu is idle.

set config(0) {{0 0} -1 43 -1 43} set config(1) {{1 1} 39 62 39 62} set config(2) {{2 2} 60 73 60 73} set config(3) {{3 3} 70 128 75 128}

Speed values are set here to avoid i8kmon probe them at every time it starts.

set status(leftspeed) "0 1000 2000 3000" set status(rightspeed) "0 1000 2000 3000"

end of file

What I ment to report is that i8kmon should call "/usr/bin/i8kfan - 1" and not "/usr/bin/i8kfan - -" which mean that fan is still spinning full speed when it it not needed because temp is already bellow threshold for full speed. Or am I missing somtheing?

kylebakerio commented 3 years ago

I'm just another guy, but you might try having a larger overlap between your temps. What you might be seeing is fants are at config(2), hit 60, which drops them to config(1), then warm up to 62 when fan is reduced, which jumps them to config(1). You have the same possible scenario from all of your config values. I personally have about 20 degrees of overlap on mine. If I turn on my fans to config(3), I leave them on 3 until it has gotten the cpu down to 60. Meanwhile, I only jump up to config(3) if it hits 75. Likewise, I keep mine in config(0) until it hits 65 (my computer runs hot) to avoid the fans as much as possible when idling. However, if the fans get activated, to prevent yo-yo-ing, I set my fans to stay on low until 30 degrees--essentially locking them on. I may change this once I re-paste the laptop, but for now the laptop can't idle without the fan on, but the fan on low can bring it down even to 34, so I had to undershoot that to prevent the on/off cycling.

Looks to me like that's likely your problem.