Setting temperature thresholds in i8kmon Ubuntu 14.04

12,373

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

Share:
12,373

Related videos on Youtube

Nicolas
Author by

Nicolas

Updated on September 18, 2022

Comments

  • Nicolas
    Nicolas over 1 year

    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 <[email protected]>
    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.

  • Nicolas
    Nicolas over 9 years
    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 ?
  • αғsнιη
    αғsнιη over 9 years
    @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?
  • Nicolas
    Nicolas over 9 years
    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
    Nicolas over 9 years
    The behavior is really unstable... Sometimes the fan starts running at full speed even when doing nothing and the temperatures are low. And other times, it just doesn't start and temperatures grow. Is this a common issue when using i8kmon ?
  • αғsнιη
    αғsнιη over 9 years
    @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
  • Nicolas
    Nicolas over 9 years
    I did as you suggested. Now when I run i8kmon there's a little box containing temperature and state that pops up. Even if the detected state is 1 (which appears in red) and the fan is supposed to be on at low speed, it doesn't start.
  • αғsнιη
    αғsнιη over 9 years
    @Nicolas state 0 is off state 1 fan is low speed and state 2 fan is high speed.
  • Nicolas
    Nicolas over 9 years
    Exactly, so at state 1 the fan should be on... I rebooted and seems to be working ! :)
  • Nicolas
    Nicolas over 9 years
    Too bad I cannot give you the bounty anymore...
  • Nicolas
    Nicolas over 9 years
    Thank you @KasiyA ! The fan is running smoothly at 78000 RPM :)
  • Sam Bernstein
    Sam Bernstein almost 6 years
    @Nicolas 78,000 RPM is quite a bit.