NAME¶
thinkfan - A simple fan control program
SYNOPSIS¶
[
-hnqzDd] [
-b
BIAS] [
-c CONFIG]
[
-s SECONDS] [
-p
[DELAY]]
DESCRIPTION¶
Thinkfan sets the fan speed according to temperature limits preconfigured in
/etc/thinkfan.conf. It can read temperatures from three possible
sources:
- /proc/acpi/ibm/thermal
- Which is provided by the thinkpad_acpi kernel module,
- /sys/class/hwmon/*/temp*_input
- Which may be provided by any hwmon drivers, and
- S.M.A.R.T. (since 0.9)
- Which reads the temperature directly from the hard disk using
libatasmart.
Note that since 0.9 you can use any sensors of these three types at the same
time. To allow that, the configuration
keywords have been
changed. The
sensor keyword has been deprecated in favor of the
new keywords
tp_thermal,
hwmon and
atasmart which mark
the following path as a legacy thinkpad_acpi thermal file, sysfs hwmon file,
or a hard disk device file, respectively.
The fan can be
/proc/acpi/ibm/fan or some PWM file in
/sys/class/hwmon. Note that the
fan config keyword is
deprecated as well. Instead, you should use
tp_fan for a legacy
thinkpad_acpi fan file or
pwm_fan for a sysfs PWM file.
See the README file and the example configurations for details on these changes.
WARNING: This program does only very basic sanity
checking on the configuration. That means that you can set your temperature
limits as insane as you like.
There are two general modes of operation:
COMPLEX MODE¶
In complex mode, temperature limits are defined for each sensor thinkfan knows
about. Setting suitable limits for each sensor in your system will probably
require a bit of experimentation and good knowledge about your hardware, but
it's the safest way of keeping each component within its specified temperature
range. See
http://www.thinkwiki.org/wiki/Thermal_Sensors for details on which
sensor measures what temperature in a Thinkpad. On other systems you'll have
to find out on your own. See the example configs to learn about the syntax.
SIMPLE MODE¶
In simple mode, Thinkfan uses only the highest temperature found in the system.
That may be dangerous, e.g. for hard disks. That's why you should provide a
correction value (i.e. add 10-15 \[u00B0]C) for the sensor that has the
temperature of your hard disk (or battery...). See the example config files
for details about that.
CONFIGURATION¶
Some example configurations are provided with the source package. For detailed
explanations please read the README file. If you installed thinkfan from a
distribution package, you may find them under
/usr/share/doc or
wherever your package manager puts documentation.
OPTIONS¶
- -h
- Show a short help message
- -s SECONDS
- Maximum seconds between temperature updates (default: 5)
- -b BIAS
- Floating point number (-10 to 30) to control rising temperature
exaggeration. If the temperature increases by more than 2 °C during
one cycle, this number is used to calculate a bias, which is added to the
current highest temperature seen in the system:
current_tmax = current_tmax + delta_t * BIAS / 10
This means that negative numbers can be used to even out short and sudden
temperature spikes like those seen on some on-DIE sensors. Use DANGEROUS
mode to remove the -10 to +30 limit. Note that you can't have a space
between -b and a negative argument, because otherwise getopt will
interpret things like -10 as an option and fail (i.e. write
"-b-10" instead of "-b -10").
Default is 15.0
- -c FILE
- Load a different configuration file (default: /etc/thinkfan.conf)
- -n
- Do not become a daemon and log to terminal instead of syslog
- -q
- Be quiet (no status info on terminal)
- -z
- Assume we don't have to worry about resuming from standby when using the
sysfs interface (see README!)
- -p [SECONDS]
- Use the pulsing-fan workaround (for older Thinkpads). Takes an optional
floating-point argument (0-10s) as depulsing duration. Default 0.5s.
- -d
- Do not read temperature from sleeping disks. Instead, 0 °C is used
as that disk's temperature. This is needed if reading the temperature
causes your disk to wake up unnecessarily. Note: This option is
only available if thinkfan was built with -D USE_ATASMART.
- -D
- DANGEROUS mode: Disable all sanity checks. May damage your hardware!!
SIGNALS¶
SIGINT and SIGTERM simply interrupt operation and should cause thinkfan to
terminate cleanly.
SIGHUP makes thinkfan reload its config. If there's any problem with the new
config, we keep the old one.
SIGUSR1 causes thinkfan to dump all currently known temperatures either to
syslog, or to the console (if running with the -n option).
SEE ALSO¶
git://git.code.sf.net/p/thinkfan/code
BUGS¶
If you have any problems with thinkfan, please go to the help forum at sf.net:
http://sourceforge.net/projects/thinkfan/forums/forum/905019.
There's a bugtracker at
http://sourceforge.net/tracker/?group_id=249873&atid=2416828.