Supermicro X11SAT working and complete lm-sensors config

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Stephan

Well-Known Member
Apr 21, 2017
920
698
93
Germany
Here is a small goodie for those with a Supermicro X11SAT board without IPMI who would like to use lm-sensors to check fan speeds, voltages, temperatures etc: I created a working config for the onboard NCT 6792 super I/O chip of one of the the X11SAT-F board I have. It may work on other X11 boards with the same chip, if it does, why not drop us a note below.

Since the official lm-sensors web site is gone and no good central repository exists, I figured here would be as good a place as any for others to find it through a search engine.

Production variations in components might require tweaking of _min/_max values. Just take your current values and give or take 3-5% and you're good.

The magic compute values were buried deep inside Supermicro windows java code. This certainly is the reason you don't see a boatload of good lm-sensor configs on the web today and it took me the better half of a day to figure this all out. In the spirit of customer satisfaction I presume the Empire will not mind.

Of note also are the VRM Temp descriptions which might be swapped, because the lm-sensors driver probably enumerates sensors differently than Supermicro windows code. Results from a hair dryer experiment to determine thermistor locations were unsuccessful (i.e. I did not want to go to the point of frying anything) so what you see is what you get.
Code:
# cat /etc/sensors.d/supermicro-x11sat
chip "nct6792-*"

ignore fan1
ignore fan2
label fan3 "CPU Fan"
        set fan3_min 200
ignore fan4
ignore fan5

label temp1 "Peripheral Temp"
label temp2 "System Temp"
label temp3 "VcpuVRM Temp"
ignore temp4
label temp5 "PCH Temp"
label temp6 "VmemABVRM Temp"
label temp7 "CPU Temp"
ignore temp9
ignore temp10

ignore intrusion0
ignore intrusion1

label in0  "VCPU"
        set in0_min 0
        set in0_max 2
        ignore in0

label in1  "VCPU_SA"
        set in1_min 1.06 * 0.95
        set in1_max 1.06 * 1.05

label in2  "3.3VCC"
        set in2_min 3.3 * 0.95
        set in2_max 3.3 * 1.05

label in3  "AVCC"
        set in3_min 3.3 * 0.95
        set in3_max 3.3 * 1.05

label in4  "12V"
        compute in4 @*6.62,@/6.62
        set in4_min 11.44 * 0.95
        set in4_max 11.44 * 1.05

label in5  "3.3V_DL"
        compute in5 @*25.02/8,@*8/25.02
        set in5_min 3.3 * 0.95
        set in5_max 3.3 * 1.05

label in6  "VCPU_IO"
        set in6_min 0.96 * 0.95
        set in6_max 0.96 * 1.05

label in7  "VSB3"
        set in7_min 3.36 * 0.95
        set in7_max 3.36 * 1.05

label in8  "VBAT"
        set in8_min 3.07 * 0.95
        set in8_max 3.07 * 1.05

label in9  "VCPU_STPLL"
        set in9_min 0.98 * 0.95
        set in9_max 0.98 * 1.05

label in10 "VCPU_GT"
        set in10_min 0
        set in10_max 1.5

label in11 "VDIMM_2.5"
        compute in11 @*25.02/8,@*8/25.02
        set in11_min 2.6 * 0.95
        set in11_max 2.6 * 1.05

label in12 "5VCC"
        compute in12 @*4,@/4
        set in12_min 5 * 0.95
        set in12_max 5 * 1.05

label in13 "VDIMM"
        set in13_min 1.22 * 0.95
        set in13_max 1.22 * 1.05

label in14 "PCH 1.0V"
        set in14_min 1 * 0.95
        set in14_max 1 * 1.05

#set beep_enable 1
Also make sure kernel module nct6775 is loaded (a moderately recent 4.x kernel is recommended), e.g. on Arch Linux:
Code:
# cat /etc/conf.d/lm_sensors
HWMON_MODULES="nct6775"
Example output (CPU here is a Xeon E3-1275v6 w/ 64MB of ECC UDIMM RAM):
Code:
# sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +38.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:        +37.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:        +38.0°C  (high = +80.0°C, crit = +100.0°C)
Core 2:        +36.0°C  (high = +80.0°C, crit = +100.0°C)
Core 3:        +36.0°C  (high = +80.0°C, crit = +100.0°C)

acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +119.0°C)
temp2:        +29.8°C  (crit = +119.0°C)

nct6792-isa-0a30
Adapter: ISA adapter
VCPU_SA:                +1.06 V  (min =  +1.01 V, max =  +1.11 V)
3.3VCC:                 +3.30 V  (min =  +3.14 V, max =  +3.47 V)
AVCC:                   +3.30 V  (min =  +3.14 V, max =  +3.47 V)
12V:                   +11.44 V  (min = +10.86 V, max = +12.02 V)
3.3V_DL:                +3.30 V  (min =  +3.13 V, max =  +3.45 V)
VCPU_IO:                +0.97 V  (min =  +0.91 V, max =  +1.01 V)
VSB3:                   +3.36 V  (min =  +3.18 V, max =  +3.54 V)
VBAT:                   +3.12 V  (min =  +2.91 V, max =  +3.22 V)
VCPU_STPLL:             +0.98 V  (min =  +0.93 V, max =  +1.03 V)
VCPU_GT:                +0.00 V  (min =  +0.00 V, max =  +1.50 V)
VDIMM_2.5:              +2.60 V  (min =  +2.48 V, max =  +2.73 V)
5VCC:                   +4.99 V  (min =  +4.74 V, max =  +5.25 V)
VDIMM:                  +1.22 V  (min =  +1.16 V, max =  +1.28 V)
PCH 1.0V:               +0.99 V  (min =  +0.95 V, max =  +1.05 V)
CPU Fan:                343 RPM  (min =  200 RPM)
Peripheral Temp:        +37.0°C  (high = +98.0°C, hyst = +95.0°C)  sensor = thermistor
System Temp:            +35.0°C  (high = +98.0°C, hyst = +95.0°C)  sensor = thermistor
VcpuVRM Temp:           +28.0°C    sensor = thermistor
PCH Temp:               +35.0°C    sensor = thermistor
VmemABVRM Temp:         +26.0°C    sensor = thermistor
CPU Temp:               +37.0°C  (high = +98.0°C, hyst = +95.0°C)
                                 (crit = +100.0°C)
PCH_CHIP_CPU_MAX_TEMP:  +44.0°C  
beep_enable:           disabled

pch_skylake-virtual-0
Adapter: Virtual device
temp1:        +44.0°C
Because top notch hardware deserves top notch Linux support.
All material hereby released into the public domain, I disclaim all rights.
 
  • Like
Reactions: azsrz and trumee

Stephan

Well-Known Member
Apr 21, 2017
920
698
93
Germany
Supermicro X11SAE board
$ cat /etc/sensors.d/supermicro-x11sae
chip "nct6776-*"

ignore fan1
ignore fan2
label fan3 "CPU Fan"
set fan3_min 200
ignore fan4
ignore fan5

label temp1 "Peripheral Temp"
label temp2 "System Temp"
label temp3 "VcpuVRM Temp"
ignore temp4
label temp5 "PCH Temp"
label temp6 "VmemABVRM Temp"
label temp7 "CPU Temp"
ignore temp9
ignore temp10

ignore intrusion0
ignore intrusion1

label in0 "VCPU"
set in0_min 0
set in0_max 2

label in1 "12V"
compute in1 @*6.62,@/6.62
set in1_min 12 * 0.98
set in1_max 12 * 1.08

label in2 "3.3VCC"
set in2_min 3.3 * 0.95
set in2_max 3.3 * 1.05

label in3 "AVCC"
set in3_min 3.3 * 0.95
set in3_max 3.3 * 1.05

label in4 "VDIMM"
set in4_min 1.2 * 0.95
set in4_max 1.2 * 1.05

label in5 "5VCC"
compute in5 @*4,@/4
set in5_min 5 * 0.95
set in5_max 5 * 1.05

label in6 "PCH 1.0V"
set in6_min 1 * 0.95
set in6_max 1 * 1.05

label in7 "VSB3"
set in7_min 3.3 * 0.95
set in7_max 3.3 * 1.05

label in8 "VBAT"
set in8_min 3.04 * 0.95
set in8_max 3.04 * 1.05

#set beep_enable 1