Provided by: hddtemp_0.3-beta15-52_amd64 bug


       hddtemp - Utility to monitor hard drive temperature


       hddtemp [options] [type:]disk...


       hddtemp  will  give  you  the  temperature  of  your hard drive by reading Self-Monitoring
       Analysis and Reporting Technology (S.M.A.R.T.)  information on drives  that  support  this
       feature.   Only  modern  hard  drives have a temperature sensor.  hddtemp supports reading
       S.M.A.R.T.  information from SCSI drives too.  hddtemp can work  as  simple  command  line
       tool or as a daemon.

       You can specify one or more device drive path, where each path can be prefixed with a type
       like PATA, SATA or SCSI to force hddtemp too use one of these type (because detection  can


       The program follows the usual GNU command line syntax, with long options starting with two
       dashes (`-').  A summary of options is included below.

       -b, --drivebase
              Display the database file that allows hddtemp to recognize a supported drive.

       -D, --debug
              Display various S.M.A.R.T. fields and their values.  Useful  for  finding  a  value
              that seems to match the temperature and/or to send a report.  (done for every drive

       -d, --daemon
              Execute hddtemp in TCP/IP daemon mode (port 7634 by default).

       -f, --file=file
              Specify the database file to use.

       -F, --foreground
              Don't fork into the background even in daemon mode.  This is  useful  when  running
              under a process supervisor.

       -l, --listen=addr
              Listen on a specific address.  addr is a string containing a host name or a numeric
              host address string.  The numeric host address  string  is  a  dotted-decimal  IPv4
              address or an IPv6 hex address.

       -n, --numeric
              Print only the temperature (without the unit).

       -p, --port=#
              Port number to listen to (in TCP/IP daemon mode).

       -s, --separator=char
              Separator  to use between fields (in TCP/IP daemon mode).  The default separator is

       -S, --syslog=s
              Switch to daemon mode and log temperatures to syslog every s seconds.

       -q, --quiet
              Don't check if the drive is supported.

       -u, --unit=C|F
              Force output temperature either in Celsius or Fahrenheit.

       -v, --version
              Display hddtemp version number.

       -w, --wake-up
              Wake-up the drive if needed (ATA drives only).

       -4     Listen on IPv4 sockets only.

       -6     Listen on IPv6 sockets only.


       If you know your drive has a temperature sensor but it is being reported unsupported, tell
       me   which  model  and  which  manufacturer  it  is,  and/or  just  add  a  new  entry  in
       /etc/hddtemp.db.  Each line of hddtemp.db is either a comment, a  blank  line  or  a  line

       - a regular expression that allow hddtemp to recognize a drive or a
              set of drives from its model name or from a generic model name,

       - a value (ATTRIBUTE_ID from S.M.A.R.T.),

       - a C or an F to set the unit to Celsius or Fahrenheit,

       - a description.

       Feedback is welcome (see the REPORT section below).


       Example of type forcing:

       # hddtemp SATA:/dev/sda PATA:/dev/hda

       To test hddtemp in daemon mode, start it like this:

       # hddtemp -d /dev/hd[abcd]

       and use telnet or netcat (which is known as nc on some systems) to get a reply:

       # netcat localhost 7634

       The  drive  database  is  read  only  once at startup, so hddtemp must be restarted if the
       database is updated for the changes to take effect.


       As I receive a lot of reports, things must be clarified.  When running hddtemp with  debug
       options,  hddtemp  will show sort of a dump of S.M.A.R.T. data.  Each field corresponds to
       an information field.  The standard field for drive temperature is 194.  But this  is  not
       always   the  case  (mostly  for  older  drives).   Even  if  your  drive  has  S.M.A.R.T.
       capabilities, it doesn't necessarily mean that it can report its temperature.  So,  things
       must be determined through experimentation.

       So,  you  can  try  to  guess which field by is the good one by running hddtemp at regular

        - just after starting up your PC/server/station,

        - after opening a window (a physical window :),

        - after opening the case,

        - whatever you can think of...

       and looking for a field's value that would increase or decrease depending on  what  effect
       you  want  to  induce.   Be  careful,  fields  4,  9, and 12 are often reported to match a
       temperature field but after some investigation they do not.  But fields 194 (which is  the
       standard field for temperature) and 231 are good candidates.

       Then,  you  can  send  me  a report with outputs from `hddtemp --debug ...', `smartctl' or
       `hdparm -i ...', and/or add an entry in hddtemp.db yourself.


       If hddtemp crashes (yes, it might) for  some  unknown  reasons,  look  for  a  file  named
       hddtemp.backtrace.<PID>.XXXXXX  (where  XXXXXX is a random number generated at runtime) in
       /tmp.  Then, you can then send me  this  file  and  the  hddtemp  binary.   The  backtrace
       functionality is currently supported on i386 architectures only.


       smartctl(8), syslog(3), syslogd(8).


       Emmanuel Varagnat (

       This  manual  page  was originally written by Aurelien Jarno <>, for the
       Debian GNU/Linux system (but may be used by others).

                                          July 21, 2003                                HDDTEMP(8)