This is a note of a working configuration for setting up fan control on a Dell Latitude E6520
For Slackware 14.1 x86_64 ( i.e. 64bit)
Build and install i8kutils, using slackbuilds.org
get dellfan from
https://github.com/clopez/dellfan , run make and place the dellfan executable in /usr/sbin
edit the /etc/i8kmon.conf and change the settings at the bottom to:
Code:
set config(0) {{0 0} -1 60 -1 65}
set config(1) {{0 1} 50 70 55 75}
set config(2) {{0 2} 60 80 65 85}
set config(3) {{0 2} 70 128 75 128}
The second fan is the only one that is controllable.
create /etc/rc.d/rc.i8k and set it as executable. The contents:
Code:
#!/bin//sh
#
# i8k: Fan control daemon
#
# description: This daemon monitors the temperatures
# and sets the fan speed. For E6520.
#
DELLFAN=/usr/sbin/dellfan
EXEC="/usr/bin/i8kmon"
I8KCTL="/usr/bin/i8kctl"
PIDFILE="/var/run/i8kmon.pid"
case "$1" in
'start')
# Start the i8kmon program..
echo "starting ${EXEC} --daemon --auto "
"${EXEC}" --daemon --auto &
echo "$!" > "${PIDFILE}"
# Disabling SMM control of fans.
echo "Disabling BIOS control of fan."
"${DELLFAN}" 2 1
;;
'stop')
if [ -e "$PIDFILE" ] ; then
echo "Enabling BIOS control of fan."
"${DELLFAN}" 1 0
PID=`cat "${PIDFILE}"`
rm -f "${PIDFILE}"
echo "Terminating i8kmon"
kill -TERM $PID
else
echo "$PIDFILE not found. Not stopping anything."
fi
;;
'restart')
echo "restart not implemented"
;;
'status')
"${I8KCTL}"
if [ -e "$PIDFILE" ] ; then
PID=`cat $PIDFILE`
echo "PID of i8kmon is $PID"
else
echo "i8kmon doesn't appear to be running. check ps -aux"
fi
;;
esac
# end of rc.i8k script
Edit /etc/rc.d/rc.M
Put the following line after starting HAL:
Code:
# Start fan control
if [ -x /etc/rc.d/rc.i8k ]; then
/etc/rc.d/rc.i8k start
fi
edit /etc/rc.modules ( it's a symbolic link to rc.modules-3.10.17 or whichever is the kernel you're running )
Add after the end of enabling cpu scaling support:
Code:
modprobe i8k fan_mult=1
Without the fan_mult=1, the reported rpm's are abnormally high.
For speed 1 , the fan should read abourt 2000rpm, and at speed 2, it's in the 4000rpm range.