You are not logged in.

#1 2012-09-01 20:40:23

twelveeighty
Member
From: Alberta, Canada
Registered: 2011-09-04
Posts: 320

Dell Vostro 3560 CPU Fan Control Tips

I'm in the process of configuring my brand new Vostro 3560 and one of the things I noticed was that the CPU fan was blasting full speed all the time even when the machine was idle. After some researching I came up with the following solution using i8kmon and I'll post it here for others:

Disclaimer 1: In this configuration, you will be setting up thresholds on what fan speeds are used at a specific temperature. If you use this config, this assumes that your machine is a) reporting the correct temperature and b) the fan speed setting works for your specs. Always monitor your laptop and change the configuration if your laptop feels too hot.
Disclaimer 2: I've only had this laptop for a couple of days now, so no long-term stress testing has been performed in this configuration.

This is a link that helped me a lot. It's Ubuntu specific, so be aware of the differences: https://answers.launchpad.net/ubuntu/+s … ion/204193.

Please post any thoughts or feel free to correct me where applicable:

Install the following packages:
i8kmon
i8kutils

Create/modify the following config files:

/etc/modules-load.d/i8k.conf

# Load Dell Fan Speed Control (i8k) at boot
i8k

/etc/conf.d/i8kmon. Please note that there are conflicting values reported when you Google this. In my case, the following worked:

#
# Arguments to be passed to the i8kmon daemon
#
I8KMON_ARGS="--nouserconfig --daemon"

/etc/rc.conf. Add i8kmon to your DAEMONS:

DAEMONS=(hwclock ... i8kmon ...)

/etc/i8kutils/i8kmon.conf

This is the file where you set the temperature thresholds and fan speeds in the "set config" values. Your specific laptop configuration could be different, so Google around.
Lines changed:

set config(daemon)      1

set config(auto)        1

set config(timeout)     2

set config(0)   {{- 0}  -1  55  -1  55}
set config(1)   {{- 1}  45  60  45  60}
set config(2)   {{- 2}  55 125  55 125}
set config(3)   {{- 2}  70 128  70 128}

Entire listing:

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

# Kernel I8K status file
set config(proc_i8k)    /proc/i8k

# Kernel APM status file
set config(proc_apm)    /proc/apm

# Kernel ACPI status file
set config(proc_acpi)   /proc/acpi/ac_adapter/0/status

# External program to control the fans
set config(i8kfan)      /usr/bin/i8kfan

# Applet geometry, override with --geometry option
set config(geometry)    {}

# Run as daemon, override with --daemon option
set config(daemon)      1

# Automatic fan control, override with --auto option
set config(auto)        1

# Report status on stdout, override with --verbose option
set config(verbose)     0

# Status check timeout (seconds), override with --timeout option
set config(timeout)     2

# Temperature display unit (C/F), override with --unit option
set config(unit)        C

# Temperature threshold at which the temperature is displayed in red
set config(t_high)      80

# Minimum expected fan speed
set config(min_speed)   1800

# 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}  -1  55  -1  55}
set config(1)   {{- 1}  45  60  45  60}
set config(2)   {{- 2}  55 125  55 125}
set config(3)   {{- 2}  70 128  70 128}

edit: changed temperature thresholds - I think the key temps are: 55: turn on fan at level 1 until cooled down to 45. Above 60, start blasting the fan at full speed

Last edited by twelveeighty (2012-09-02 21:35:50)

Offline

#2 2012-10-14 13:40:34

SuperBo
Member
Registered: 2012-02-20
Posts: 45

Re: Dell Vostro 3560 CPU Fan Control Tips

If you're using systemd, to run i8kmon you should edit i8kmon.service file

/usr/lib/systemd/system/i8kmon.service

from

[Service]
ExecStart=/usr/bin/i8kmon -nd

to

[Service]
ExecStart=/usr/bin/i8kmon --daemon --nouserconfig

Offline

Board footer

Powered by FluxBB