WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: HOWTO: Dell Laptop fan control i8kutils.  (Read 21786 times)

Offline noabody

  • Newbie
  • *
  • Posts: 1
HOWTO: Dell Laptop fan control i8kutils.
« on: July 17, 2011, 06:14:59 PM »
Reference info:
www sourcefiles org/Monitoring/Miscellaneous/wmi8k.1.3.tar.gz.shtml
www diefer de/i8kfan/

Target audience:
Dell Laptop owners using a persistent Tiny Core 3.7.1 environment that require a fan control solution.

First, there is no i8kutils.tcz package but thanks to Jason W. and his script at:
I was able to convert debian sid i8kutils_1.33_i386.deb to i8kutils.tcz which I copied to tce/optional and set to load at startup with AppsAudit. I8kutils requires TCL (which has an App package in the repository) and the i8k module (that is included with Tiny Core).

I added this to /opt/bootlocal.sh (to load required module and daemon):
modprobe i8k

I added this to /opt/.filetool.lst (to make the config file persistent):

Now create the config file /etc/i8kmon.conf. For my Dell C600 the config reads like this:

# 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)   5

# 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  52  -1  52}
set config(1)   {{- 1}  44  60  44  60}
set config(2)   {{- 2}  60  80  60  80}
set config(3)   {{- 2}  70 128  75 128}

# end of file

The big thing with i8kmon.conf is that "daemon" and "auto" are set to "1".  Also for fan control "set config(0)" notice that I have {- 0}. The left position is a dash and the right position a number. The dash indicates no left fan, so only the right fan is being controlled. You'll definitely want to read the man pages on how to best configure i8kmon.conf for your particular laptop.

i8kctl can be used to manually control the fans or to check the status of temperature/fan control.

Good luck.
« Last Edit: August 22, 2011, 11:06:54 AM by noabody »

Offline nick65go

  • Hero Member
  • *****
  • Posts: 805
Re: HOWTO: Dell Laptop fan control i8kutils.
« Reply #1 on: August 01, 2011, 08:48:35 AM »
thanks for info; but i8kctl does just half of its job, because after "i8kctl fan 0 0" the BIOS takes over the control in maxim 2- 4 seconds or so. Plus the running of a i8kmon demon in background defeats the initial porpose:
daemon-> more CPU wakeup -> more power consumption -> more heat out -> fan speed rise...
I have a Dell Inspiron 9400, bios A09 <=> crap Dell bios as usualy. Dell was never keen/good to provide BIOS info. its support for linux is as bad as AMD support for my Radeon X1400 GPU. I am waiting for new 3.0 kernel with DRM and GPU power management.