Dell Inspiron 8000 fan

From FreekiWiki
Revision as of 15:59, 21 April 2010 by Levi (talk | contribs)
Jump to navigation Jump to search

In ubuntu the fan will never turn on on the Inspiron 8500 and possibly other 8000 series laptops as well. I got most of this information from here and here

  • It will help to have lm-sensors set up as well.
  • Install the package i8kutils.
sudo apt-get install i8kutils
  • Insert the i8k kernel module.
sudo modprobe i8k
  • Add i8k to /etc/modules so that it loads every boot.
sudo nano /etc/modules
i8k
  • Configure the i8kmon daemon to turn the fan on at certain speeds depending on the cpu temp. Look at the i8kmon man page for some more information on how to configure it.
sudo nano /etc/i8kmon
set config(daemon) 1
set config(auto) 1
#turn the fans to high always
#set config(0)	{{2 2} -1 128 -1 128}
set config(0)	{{0 0} -1 50 -1 50}
set config(1)	{{1 1} 50 60 50 60}
set config(2)	{{2 2} 60 128 60 128}
  • Create the init script for i8kmon
sudo nano /etc/init.d/i8kmon
#!/bin/sh
#
# i8kmon        initscript to control i8kmon daemon
#               This file should be placed in /etc/init.d,
#               and linked to /etc/rcX.d directories using command update-rc.d
#
# Author:       nanotube <nanotube@users.sf.net>
#
# Version:      @(#)i8kmon  1.5  31-May-2006  nanotube@users.sf.net
#  

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Hardware Monitoring for Dell Inspiron daemon"
NAME=i8kmon
DAEMON=/usr/bin/$NAME
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

# Read config file if it is present.
#if [ -r /etc/default/$NAME ]
#then
#       . /etc/default/$NAME
#fi

. /lib/lsb/init-functions

#
#       Function that starts the daemon/service.
#
d_start() {
    start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE \
        --exec $DAEMON
}

#
#       Function that stops the daemon/service.
#
d_stop() {
    start-stop-daemon --stop --quiet --pidfile $PIDFILE
}

case "$1" in
  start)
    log_begin_msg "Starting $DESC: $NAME..."
    d_start
    log_end_msg $?
    ;;
  stop)
    log_begin_msg "Stopping $DESC: $NAME..."
    d_stop
    log_end_msg $?
    ;;
  restart|force-reload)
    #
    #   If the "reload" option is implemented, move the "force-reload"
    #   option to the "reload" entry above. If not, "force-reload" is
    #   just the same as "restart".
    #
    log_begin_msg "Stopping $DESC: $NAME..."
    d_stop
        log_end_msg $?
    sleep 1
        log_begin_msg "Starting $DESC: $NAME..."
    d_start
    log_end_msg $?
    ;;
  *)
    echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac

exit 0
#End of file
  • Make the script executable
sudo chmod +x /etc/init.d/i8kmon
sudo update-rc.d i8kmon defaults
  • Start the i8kmon daemon.
sudo invoke-rc.d i8kmon start
  • Run stress test and verify that the fan is running. Be careful with stress-test, if the fan isn't running properly you could overheat the laptop.
stress-test
i8kctl
1.0 A17 B5W123K 52 2 2 8040 6420 1 2

the fans are running on high speed

1.0 A17 B5W123K 52 0 0 8040 6420 1 2

the fans are not running at all

  • Listen to that baby purr.