I collect many informations how to control the fans under ubuntu now. Here is what works for me at the moment.
Problems:
1st Problem: Without additional fan-control tool my Dell Latitude E7440 runs quiet until a special temeperature and then speeds up the fan to full speed forever.
2nd Problem:With i8kmon installed and the service started, the fan-control lasts only a few seconds and is then controled again from BIOS.
3rd Problem: With fan-control tool i8kmon installed with default settings my Latitude runs very quiet the whole time. But because dell has a CPU-Throttling-Policy which you are not able to control, the Latitude runs until a special temperature and then the BIOS scales down the CPU to the minimum frequency. The result is a freezing Desktop until the temperature cools down to a ridiculously low point at about 45°C.
Solutions:
1st: Install i8kutils and lm-sensors
sudo apt-get install i8kutils lm-sensors
2nd: Disable BIOS-Fan-Control (Without Warranty)
sudo apt-get install gcc-4.6-multilib
(on 16.04 I need to change the above line to „sudo apt-get install gcc-multilib„)
cd ~
mkdir .bin
cd .bin
sudo apt-get source i8kutils
sudo apt-get build-dep i8kutils
tar xf i8kutils_1.41.tar.xz
cd i8kutils-1.41
gcc -g -O2 -Wall -I. -o smm -m32 smm.c
sudo ./smm 30a3
sudo cp smm /usr/sbin/
In the next step, we setup i8kmon to stop the bios-fan-control automatically
sudo nano /etc/init.d/i8kmon
Find the following:
case „$1“ in
start)
log_daemon_msg „Starting $DESC“ „$NAME“
And change it into:
case „$1“ in
start)
/usr/sbin/smm 30a3
log_daemon_msg „Starting $DESC“ „$NAME“
In the same file find the following:
stop)
log_daemon_msg „Stopping $DESC“ „$NAME“
And change it into:
stop)
/usr/sbin/smm 31a3
log_daemon_msg „Stopping $DESC“ „$NAME“
This will disable Bios-Fan-Control directly while starting i8kmon. And enable it while shutting down the service i8kmon.
3rd: To prevent scaling down the CPU edit the configuration of i8kmon
find the example-file i8kmon.conf
sudo find / -name ‚i8kmon.conf‘
In my case i find the file in my user-home: /home/rod/.bin/i8kutils-1.41/i8kmon.conf
Now copy the file to /etc/i8kmon.conf. Change your directoryname!
cp /home/rod/.bin/i8kutils-1.41/i8kmon.conf /etc/
Modify the file with nano:
sudo nano /etc/i8kmon.conf
Change to the following:
# Automatic fan control, override with –auto option
set config(auto) 1
# Automatic fan control, override with –auto option
set config(auto) 1
set config(0) {{-1 0} -1 30 -1 30}
set config(1) {{-1 0} 30 50 30 50}
set config(2) {{-1 1} 45 60 45 60}
set config(3) {{-1 2} 55 128 55 128}
# end of file
The last block in this file controls the fan-speed based on temperatures. Here is how to read the block:
{{ -1 0} -1 30 -1 30}
{{ first_fan_speed second_fan_speed} low_temp_on_ac high_temp_on_ac low_temp_on_bat high_temp_on_bat}
Because the Dell Latitude has no first fan, we can setup the first fan always to „-1“
The temperatures are the first test now. I will Update this post after gathering some experience.
Hi i am from brazilian and very bad english .
I have 1 vostro 1510 , i install ubuntu 15.10 , after i install i8kutils (1.60) 1 have problens (freezes) , for my solution is :
IN FILE : /etc/i8kmon.conf
# Run as daemon, override with –daemon option
set config(daemon) 1
# Automatic fan control, override with –auto option
set config(auto) 0
# Status check timeout (seconds), override with –timeout option
set config(timeout) 2
# Report status on stdout, override with –verbose option
set config(verbose) 1
# Temperature thresholds: {fan_speeds low_ac high_ac low_batt high_batt}
set config(0) {{-1 0} -1 50 -1 50}
set config(1) {{-1 1} 50 70 50 70}
set config(3) {{-1 2} 70 128 70 128}
# end of file
AND IN FILE : /etc/init.d/i8kmon
I change line for : I8KMON_ARGS to :
I8KMON_ARGS=“–daemon –noauto –nouserconfig “
after have a flag –auto , for my causes freezes (i understain , automode try detect , but a moment to change values for fan , try change into fan 2 , and i no have 2 fan , i have 1 )
note : my notebook have 1 fan not 2 , i found others peoples inform same problem in autodiscovery for i8kmon
note 2 : if possible , try inform for this project to try create a check is possible fix auto detection for others models if have 1 fan .
thx