Provided by: thinkfan_1.3.1-2_amd64 bug


       thinkfan - A simple fan control program


       thinkfan [-hnqDd] [-b BIAS] [-c CONFIG] [-s SECONDS] [-p [DELAY]]


       Thinkfan  sets  the  fan speed according to temperature limits set in the config file.  It
       can read temperatures from a number of sources:

              Which is provided by the thinkpad_acpi kernel module on older Thinkpads,

       temp*_input files in sysfs
              Which may be provided by any  hwmon  drivers,  including  thinkpad_acpi  on  modern

       Hard disks with S.M.A.R.T. support
              With the help of libatasmart, if thinkfan was compiled with -DUSE_ATASMART=ON

       From the proprietary nVidia driver
              When  the  proprietary  nVidia  driver  is  used,  no  hwmon  for  the card will be
              available. In this situation, thinkfan can use the  proprietary  NVML  API  to  get

       The   fan   can   be   /proc/acpi/ibm/fan  or  some  PWM  file  in  /sys/class/hwmon.  See
       thinkfan.conf(5) for a detailed explanation of the config syntax.

       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:

       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  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.

       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  °C) for the sensor that has the temperature of your hard disk (or battery...).
       See the example config files for details about that.


       Some example configurations are provided with the source package. For a detailed  see  the
       config man page thinkfan.conf(5).


       -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

               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.  By default,  thinkfan  first  tries  to  load
              /etc/thinkfan.yaml,  and /etc/thinkfan.conf after that.  The former must be in YAML
              format, while the latter can be either YAML or the old legacy syntax.

              If this option is specified, thinkfan attempts to load the config only  from  FILE.
              If  its  name  ends  in  “.yaml”,  it must be in YAML format.  Otherwise, it can be
              either YAML or legacy syntax.  See thinkfan.conf(5) and thinkfan.conf.legacy(5) for

       -n     Do not become a daemon and log to terminal instead of syslog

       -q     Be  quiet,  i.e.  reduce  logging level from the default. Can be specified multiple
              times until only errors are displayed/logged.

       -v     Be  more  verbose.  Can  be  specified  multiple  times  until  every  message   is

       -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

       -D     DANGEROUS mode: Disable all sanity checks. May damage your hardware!!


       SIGINT  and  SIGTERM  simply  interrupt  operation  and should cause thinkfan to terminate

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


       0      Normal exit

       1      Runtime error

       2      Unexpected runtime error

       3      Invalid commandline option


       The thinkfan config manpage:

       Example configs shipped with the source distribution, also available at:

       The Linux hwmon user interface documentation:

       The thinkpad_acpi interface documentation:


       If thinkfan tells you to, or if you feel like  it,  report  issues  at  the  Github  issue