-
Notifications
You must be signed in to change notification settings - Fork 6
/
bsdhwmon.8.txt
162 lines (128 loc) · 7.14 KB
/
bsdhwmon.8.txt
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
BSDHWMON(8) FreeBSD System Manager's Manual BSDHWMON(8)
NAME
bsdhwmon - hardware sensor monitoring utility
SYNOPSIS
bsdhwmon [-Jchlv] [-f device]
DESCRIPTION
bsdhwmon is a user-land application which communicates via SMBus with
hardware monitoring ICs on motherboards. Many different pieces of
information can be returned, but the most common are fan RPMs, processor
and system temperatures, and motherboard voltages. All data is sent to
standard output. Usage syntax and all errors are sent to standard error.
The options are as follows:
-J Output data in a JSON-compliant format.
-c Output data in a comma-delimited format. Sensor name, its value,
and the associated unit (V for volts, C for Celsius, RPM for
rotations per minute, etc.) are individual parameters.
-f device
Specify an alternate SMBus device. Default is /dev/smb0.
-l List motherboards supported by bsdhwmon.
-h Help or usage syntax.
-v Increase verbosity (includes debugging output).
REQUIREMENTS
bsdhwmon requires a few hardware and software features to function:
1. A hardware monitoring chipset that "ties" into SMBus. This is
somewhat common on server-class motherboards, but greatly varies per
manufacturer. Presently bsdhwmon supports a multitude of Winbond
(Nuvoton) hardware monitoring ICs, predominantly on Supermicro
motherboards. If you're unsure your motherboard is supported,
running bsdhwmon with the -l option will display a list of supported
motherboards. You may also wish to consult your user manual or
contact the technical support department for your product.
2. A system BIOS that provides a SMBIOS table. Specifically, the
existence of the smbios.planar.maker and smbios.planar.product
kenv(2) kernel environment strings. You can verify the existence of
these variables by using kenv(1). This is needed for bsdhwmon to
reliably auto-detect your motherboard.
3. device smb built into your kernel or loaded using kldload(8),
4. device smbus built into your kernel or loaded using kldload(8),
5. An appropriate SMBus chipset driver, such as amdsmb(4), ichsmb(4),
or nfsmb(4), built into your kernel or loaded via kldload(8).
Failure to meet all of the above requirements will result in bsdhwmon not
functioning.
OUTPUT
If bsdhwmon emits a message indicating your motherboard is unsupported,
please follow the on-screen instructions.
bsdhwmon attempts to mimic output formatting and sensor strings to that
of the BIOS's Hardware Monitoring menu option (if available). However,
due to limited hardware availability and user beta testing, some strings
may not match the BIOS exactly (such as "PECI Agent" being replaced with
"CPU Core"). For example, a Supermicro PDSMi+ motherboard would output
something resembling this:
CPU Temperature 34 C
System Temperature 36 C
FAN1 0 RPM
FAN2 0 RPM
FAN3 0 RPM
FAN4 2000 RPM
FAN5 1527 RPM
FAN6 1785 RPM
Vcore 1.198 V
+1.5V 1.540 V
-12V -12.288 V
Vdimm 1.824 V
+3.3V 3.344 V
+12V 12.000 V
5Vsb 5.046 V
5VDD 4.974 V
P_VTT 1.206 V
Vbat 3.184 V
While an older Supermicro P8SC8 might output this:
CPU Temperature 33 C
System Temperature 37 C
FAN1 4963 RPM
FAN2 0 RPM
FAN3 0 RPM
FAN4 0 RPM
FAN5 0 RPM
Processor Vcore(V) 1.360 V
3.3V Vcc(V) 3.320 V
5V Vcc(V) 3.044 V
-12V Vcc(V) -12.288 V
12V Vcc(V) 12.432 V
5VSB 4.896 V
VBAT 3.104 V
Slight differentials in sensor values (e.g. a few degrees, voltage
fluctuations, or RPM variance) are normal. Operating systems often make
use of system and processor which may halt processors while idling (e.g.
x86 "HLT" opcode), or make use of C1 through C4 power-saving states;
powerd(8) on FreeBSD is known to do this. System BIOSes are known to
offer the ability to throttle fan speed based on load. Please refer to
your System User Manual for details.
Large/severe differences between what the system BIOS and bsdhwmon
reports should be reported as a bug (e.g. -12.107 V shown in the BIOS,
while bsdhwmon reports +37.000 V).
EXIT STATUS
The bsdhwmon utility exits 0 on success, and >0 if an error occurs.
SEE ALSO
kenv(1), amdsmb(4), ichsmb(4), nfsmb(4), smb(4), smbus(4), kldload(8)
AUTHOR
Jeremy Chadwick <[email protected]>
BUGS
Some Supermicro systems using the Winbond W83792D chipset may report
incorrect +5V voltages; the Supermicro P8SC8 and P8SCT motherboards are
such examples. This is caused by a faulty formula used to calculate
voltages from IC registers. The formulas used are not officially
documented, and the actual circuitry (resistors, etc.) tied to the pins
on the Winbond chip do not match what Winbond used in their
documentation. Formula documentation has been requested of Supermicro,
but no response has been received at this time.
There has been an isolated report of a Supermicro P8SCi system
occasionally reporting extremely high RPMs (in the tens of thousands) for
some fans. The reason for this is unknown, but the values being returned
from the Winbond chipset do appear correct. If you're experiencing this
bug, please get in contact with the author. Git commit ad3bbad may have
rectified this bug.
Please report all issues at https://github.com/koitsu/bsdhwmon/issues
CONTRIBUTORS
The following individuals have made contributions to bsdhwmon, either by
helping with the code, testing the software, or recommending features:
Tony Allevato, Mike Andrews, Alan Bryan, Gergely Czuczy, Michael Fuckner,
M. Giegerich, Matthew Herzog, Dan Naumov, Billy Newsom, Daniel O'Connor,
Alexey V. Panfilov, Jim Perry, Jim Pingle, Patrick Proniewski, Matt
Reimer, Larry Rosenman, Ulrich Spoerlein, Evren Yurtesen
Additional thanks to SHIMIZU Yoshifumi, author of mbmon, for providing
BSD hardware monitoring support on older x86 hardware, and to the Linux
lm_sensors project, for providing an unofficial secondary source of IC
documentation and details of chip quirks.
January 15, 2024