Difference between revisions of "Dell Inspiron 8000 fan"

From FreekiWiki
Jump to navigation Jump to search
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
In ubuntu the fan will '''never''' turn on on the Inspiron 8500 and possibly other 8000 series laptops as well.
+
{{cleanup}}
I got most of this information from [http://ubuntuforums.org/showthread.php?t=74578 here].
+
In ubuntu the fan will '''never''' turn on on some Inspiron 8500s and possibly other 8000 series laptops as well.  This problem may not be present in all bios revisions.
 +
I got most of this information from [http://ubuntuforums.org/showthread.php?t=74578 here] and [http://ubuntuforums.org/showthread.php?p=1325507 here]
  
There are a few steps in this guide that might not be needed.
 
#I didn't actually try to insert the i8k module without the force option so it might insert cleanly without it.
 
#Adding ENABLE=1 to /etc/default/i8kmon might not be necessary if /etc/i8kmon exists.
 
#Adding --auto to I8KMON_ARGS in /etc/init.d/i8kmon might not be needed.
 
 
*It will help to have [[CPU_Temperature|lm-sensors]] set up as well.
 
*It will help to have [[CPU_Temperature|lm-sensors]] set up as well.
 
*Install the package i8kutils.
 
*Install the package i8kutils.
 
  sudo apt-get install i8kutils
 
  sudo apt-get install i8kutils
 
*Insert the i8k kernel module.
 
*Insert the i8k kernel module.
  sudo modprobe i8k force=1
+
  sudo modprobe i8k
 
*Add i8k to /etc/modules so that it loads every boot.
 
*Add i8k to /etc/modules so that it loads every boot.
 
  sudo nano /etc/modules
 
  sudo nano /etc/modules
 +
 
  i8k
 
  i8k
*Add the force option to /etc/modprobe.d/i8k so that the module loads correctly.
+
*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/modprobe.d/i8k
 
options i8k force=1
 
*Enable the i8kmon daemon.
 
sudo nano /etc/default/i8kmon
 
ENABLE=1
 
*Configure the i8k 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
 
  sudo nano /etc/i8kmon
  set config(0) {{0 -} -1 50 -1 50}
+
 
  set config(1) {{1 -} 50 65 50 65}
+
set config(daemon) 1
  set config(2) {{2 -} 65 128 65 128}
+
set config(auto) 1
*I'm not sure if this next bit is strictly necessary.
+
#turn the fans to high always
*Edit the init script for i8kmon
+
#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
 
  sudo nano /etc/init.d/i8kmon
change this
+
 
 +
#!/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
 
  NAME=i8kmon
  DAEMON=/usr/bin/i8kmon
+
  DAEMON=/usr/bin/$NAME
PROC_I8K=/proc/i8k
 
DESC="Dell Inspiron fan/cpu-temperature monitor"
 
I8KMON_ARGS="--daemon --nouserconfig"
 
 
  PIDFILE=/var/run/$NAME.pid
 
  PIDFILE=/var/run/$NAME.pid
  ENABLED=0
+
  SCRIPTNAME=/etc/init.d/$NAME
to this
+
  NAME=i8kmon
+
# Gracefully exit if the package has been removed.
  DAEMON=/usr/bin/i8kmon
+
test -x $DAEMON || exit 0
  PROC_I8K=/proc/i8k
+
  DESC="Dell Inspiron fan/cpu-temperature monitor"
+
# Read config file if it is present.
  I8KMON_ARGS="--daemon --nouserconfig --auto"
+
  #if [ -r /etc/default/$NAME ]
  PIDFILE=/var/run/$NAME.pid
+
#then
  ENABLED=1
+
  #      . /etc/default/$NAME
 
+
#fi
*Restart the i8kmon daemon.
+
  sudo invoke-rc.d i8kmon restart
+
  . /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.
 
*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
 
  stress-test
  oem@freekbox:~$i8kctl
+
 
  1.0 A17 B5W123K 52 0 '''2''' 8040 6420 1 2
+
  i8kctl
the fan is running on high speed
+
  1.0 A17 B5W123K 52 '''2 2''' 8040 6420 1 2
  1.0 A17 B5W123K 52 0 '''0''' 8040 6420 1 2
+
the fans are running on high speed
the fan is not running at all
+
  1.0 A17 B5W123K 52 '''0 0''' 8040 6420 1 2
 +
the fans are not running at all
 
*Listen to that baby purr.
 
*Listen to that baby purr.
  
  
 
[[Category:Tech support]]
 
[[Category:Tech support]]
[[Category:Laptops]]
+
[[Category:Needs updating]]

Latest revision as of 16:37, 19 October 2013

This page or section appears to be out of date or otherwise inaccurate.
Please edit as seems necessary, removing the {{cleanup}} tag when you are through.

In ubuntu the fan will never turn on on some Inspiron 8500s and possibly other 8000 series laptops as well. This problem may not be present in all bios revisions. 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.