HDDTEMP(8)               (July 21, 2003)               HDDTEMP(8)

          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 fea-
          ture.  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 fail).

          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 recog-
               nize 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 tem-
               perature and/or to send a report.  (done for every
               drive supplied)

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

          -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

     Page 1                       Plan 9             (printed 5/23/22)

     HDDTEMP(8)               (July 21, 2003)               HDDTEMP(8)

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

          -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 com-
          ment, a blank line or a line containing:

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

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

     Page 2                       Plan 9             (printed 5/23/22)

     HDDTEMP(8)               (July 21, 2003)               HDDTEMP(8)

          - 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 sys-
          tems) 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 tem-
          perature is 194.  But this is not always the case (mostly
          for older drives).  Even if your drive has S.M.A.R.T. capa-
          bilities, it doesn't necessarily mean that it can report its
          temperature.  So, things must be determined through experi-

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

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

     Page 3                       Plan 9             (printed 5/23/22)

     HDDTEMP(8)               (July 21, 2003)               HDDTEMP(8)

          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 (hddtemp@guzu.net).

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

     Page 4                       Plan 9             (printed 5/23/22)