9

I have an overheating problem with my Dell Inspiron 15R and installed i8kmon to control the fan speeds on Ubuntu 14.04.

Here is a copy of the 'lm-sensors' output:

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +62.0°C  (high = +87.0°C, crit = +105.0°C)
Core 0:         +57.0°C  (high = +87.0°C, crit = +105.0°C)
Core 1:         +61.0°C  (high = +87.0°C, crit = +105.0°C)

i8k-virtual-0
Adapter: Virtual device
Right Fan:      0 RPM
CPU:          +62.0°C 

Even when setting the temperature thresholds in /etc/i8kmon to:

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) 1

# Status check timeout (seconds), override with --timeout option
set config(timeout) 1

# Temperature thresholds: {fan_speeds low_ac high_ac low_batt high_batt}
set config(0)   {{0 -}  -1  55  -1  55}
set config(1)   {{1 -}  55  70  55  70}
set config(2)   {{2 -}  60  128  60  128}

The fan does not start when it should. Any ideas of what might be wrong ? Here is a copy of the log when running i8kmon manually with the --verbose option:

i8kmon v1.30 11/16/2013 - Copyright (C) 2013 Vitor Augusto <vitorafsr@gmail.com>
config(0)          = {0 0} -1 60 -1 65
config(1)          = {1 0} 50 70 55 75
config(2)          = {1 1} 60 80 65 85
config(3)          = {2 2} 70 128 75 128
config(acpi)       = acpi
config(auto)       = 1
config(daemon)     = 1
config(geometry)   = 
config(i8kfan)     = /usr/bin/i8kfan
config(min_speed)  = 2000
config(sysconfig)  = /etc/i8kmon.conf
config(t_high)     = 80
config(timeout)    = 5
config(unit)       = C
config(use_conf)   = 1
config(userconfig) = ~/.i8kmon
config(verbose)    = 1
status(ac)         = 0
status(acpi_timer) = 0
status(left)       = 
status(leftspeed)  = 0 -1 -1 -1
status(lspeed)     = 0
status(lstate)     = 0
status(lstuck)     = 0
status(nfans)      = 2
status(right)      = 
status(rightspeed) = 0 0 0 0
status(rspeed)     = 0
status(rstate)     = 2
status(rstuck)     = 0
status(state)      = 0
status(t_high)     = 0
status(t_low)      = 0
status(temp)       = 0
status(timer)      = 
status(ui)         = 0
1410467738 acpi: Battery 0: Discharging, 89%, 03:13:17 remaining
temp, left, right, ac state: 60 -1 2 0
# exec /usr/bin/i8kfan 0 0
temp, left, right, ac state: 59 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 58 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 58 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 60 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 58 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 59 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 58 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 58 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 60 -1 0 0

It seems that the temperatures are wrong and i8kmon is not turning on the fan.

8

According to lm-sensors:

i8k-virtual-0
Adapter: Virtual device
Right Fan:      0 RPM

You have a only Right Fan, thus left fan values should always be -1. You have to change your set config, in the file /etc/i8kmon.conf, to the following values:

set config(0)   {{-1 0}  -1  40  -1  40}
set config(1)   {{-1 1}  40  60  40  60}
set config(2)   {{-1 2}  60  128  60  128}
set config(3)   {{-1 2}  60  128  60  128}

in the state {-1 0}, there is no left-fan and the right-fan is off, in state {-1 1}, the right-fan should run at low speed while in the state {-1 2} it should run at full speed. The other values, e.g. 40 60 40 60, correspond to the temperature thresholds ---min and max--- of each state, with and without AC-power.

You also need to add the following options:

# Run as daemon, override with --daemon option
set config(daemon)      0

# Automatic fan control, override with --auto option
set config(auto)        1

# Report status on stdout, override with --verbose option
set config(verbose) 1

# Status check timeout (seconds), override with --timeout option
set config(timeout) 20

Finally, you need to create the file i8k.conf in /etc/modprobe.d/ containing the line options i8k force=1.

See more details man i8kmon

| improve this answer | |
  • I made the changes and its still the same... Maybe the problem comes from the detection of the fans ? Is there a way to actually force the fan to be on ? – Nicolas Sep 23 '14 at 16:38
  • @Nicolas run lm-sensors when your fan is running and check the result of Right Fan: 0 RPM if you see any changes? and one extra question, does you fan running when cpu is higher? – αғsнιη Sep 23 '14 at 17:07
  • the fan is actually running at low speed tight now... Right Fan: 78000 RPM but temperature seems quite high. CPU: +69.0°C. It actually does start running when CPU activity is higher. – Nicolas Sep 23 '14 at 19:41
  • 1
    @Nicolas rename i8kmon to i8kmon.conf and set set config(daemon) 1 to set config(daemon) 0 and set config(timeout) 1 to set config(timeout) 20 and also replace - with -1 value in each state ex{- 1} to {-1 1} ans so on. and finally run i8kmon in terminal you will see if works or not. you can see askubuntu.com/a/308548/283843 or ubuntuforums.org/archive/index.php/t-842775.html for more details – αғsнιη Sep 25 '14 at 5:23
  • 1
    Thank you @KasiyA ! The fan is running smoothly at 78000 RPM :) – Nicolas Sep 26 '14 at 14:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.