File: hddtemp.8

package info (click to toggle)
hddtemp 0.3-beta15-53
  • links: PTS
  • area: main
  • in suites: buster
  • size: 2,172 kB
  • sloc: ansic: 10,606; sh: 4,494; makefile: 461; yacc: 288; perl: 19; sed: 16
file content (194 lines) | stat: -rw-r--r-- 6,033 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
.\"                                      Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH HDDTEMP 8 "July 21, 2003"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH "NAME"
hddtemp \- Utility to monitor hard drive temperature
.SH SYNOPSIS
.B hddtemp
.RI [ options ] " [type:]disk" ...
.SH "DESCRIPTION"
.PP
.B 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.
.B 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
.B type
like PATA, SATA or SCSI to force hddtemp too use one of these type
(because detection can fail).


.SH "OPTIONS"
The program follows the usual GNU command line syntax, with long
options starting with two dashes (`-').  A summary of options is
included below.
.TP
.B \-b, \-\-drivebase
Display the database file that allows hddtemp to recognize a supported
drive.
.TP
.B \-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 supplied)
.TP
.B \-d, \-\-daemon
Execute hddtemp in TCP/IP daemon mode (port 7634 by default).
.TP
.B \-f, \-\-file=\fIfile\fI
Specify the database file to use.
.TP
.B \-F, \-\-foreground
Don't fork into the background even in daemon mode.  This is useful
when running under a process supervisor.
.TP
.B \-l, \-\-listen=\fIaddr\fR
Listen on a specific address.  \fIaddr\fR 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.
.TP
.B \-n, \-\-numeric
Print only the temperature (without the unit).
.TP
.B \-p, \-\-port=\fI#\fR
Port number to listen to (in TCP/IP daemon mode).
.TP
.B \-s, \-\-separator=\fIchar\fR
Separator to use between fields (in TCP/IP daemon mode).  The default
separator is `|'.
.TP
.B \-S, \-\-syslog=\fIs\fR
Switch to daemon mode and log temperatures to syslog every \fIs\fR
seconds.
.TP
.B \-q, \-\-quiet
Don't check if the drive is supported.
.TP
.B \-u, \-\-unit=\fIC|F\fR
Force output temperature either in Celsius or Fahrenheit.
.TP
.B \-v, \-\-version
Display hddtemp version number.
.TP
.B \-w, \-\-wake-up
Wake-up the drive if needed (ATA drives only).
.TP
.B \-4
Listen on IPv4 sockets only.
.TP
.B \-6
Listen on IPv6 sockets only.


.SH "DRIVE DATABASE"
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
containing:
.TP
- 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,
.TP
- a value (ATTRIBUTE_ID from S.M.A.R.T.),
.TP
- a C or an F to set the unit to Celsius or Fahrenheit,
.TP
- a description.
.PP
Feedback is welcome (see the REPORT section below).

.SH "TCP/IP DAEMON MODE"
Example of type forcing:
.PP
# hddtemp SATA:/dev/sda PATA:/dev/hda
.PP
To test
.B hddtemp
in daemon mode, start it like this:
.PP
# hddtemp \-d /dev/hd[abcd]
.PP
.PP
and use
.B telnet
or
.B netcat
(which is known as
.B nc
on some systems) to get a reply:
.PP
# netcat localhost 7634
.PP
The drive database is read only once at startup, so
.B hddtemp
must be restarted if the database is updated for the changes to take
effect.

.SH "REPORT"
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.
.PP
So, you can try to guess which field by is the good one by running
hddtemp at regular intervals:
.TP
 - just after starting up your PC/server/station,
.TP
 - after opening a window (a physical window :),
.TP
 - after opening the case,
.TP
 - whatever you can think of...
.PP
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.
.PP
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.

.SH "BUGS"
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.

.SH "SEE ALSO"
\fBsmartctl\fP(8), \fBsyslog\fP(3), \fBsyslogd\fP(8).

.SH "AUTHOR"
.PP
Emmanuel Varagnat (hddtemp@guzu.net).
.PP
This manual page was originally written by Aurelien Jarno <aurel32@debian.org>,
for the Debian GNU/Linux system (but may be used by others).