Minisforum MS-01 Work Station, sensors, initial config
Table of Contents
These are my notes on initially configuring lm_sensors,
specifically lm_sensors-3.6.0-10.el9.x86_64
, for my MS-01.
While I much prefer obtaining temperatures and fan speeds via a board management controller (BMC), these are consumer boxes, so lm_sensors will have to do.
TODO: Might be worth a look if temps and fan speeds can be obtained via Intel ME, that will need that I re-enable my Intel ME for testing.
Why not just sensors-detect and call it a day
Like others (example 1, example 2, example 3, example 4, example 4, …),
running sensors-detect
and allowing it to probe ends up with sensors
displaying
nct6798-isa-…
and coretemp-isa-…
and using coretemp
and nct6775
via /etc/sysconfig/lm_sensors
(n.b. …75, not …98). But nct6798 needs some attention.
Example without config options for nct6798-isa-0a20
Without additional config (that happens by dropping files in /etc/sensors.d/
further down in this post),
I get a load of values that are either obviously bogus, not relevant to me or both.
[root@ms-01-01 ~]# sensors
[…]
nct6798-isa-0a20
Adapter: ISA adapter
in0: 312.00 mV (min = +0.00 V, max = +1.74 V)
in1: 1.02 V (min = +0.00 V, max = +0.00 V) ALARM
in2: 3.33 V (min = +0.00 V, max = +0.00 V) ALARM
in3: 3.33 V (min = +0.00 V, max = +0.00 V) ALARM
in4: 1.09 V (min = +0.00 V, max = +0.00 V) ALARM
in5: 152.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in6: 136.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in7: 3.33 V (min = +0.00 V, max = +0.00 V) ALARM
in8: 3.12 V (min = +0.00 V, max = +0.00 V) ALARM
in9: 504.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in10: 80.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in11: 64.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in12: 992.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in13: 160.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in14: 1.26 V (min = +0.00 V, max = +0.00 V) ALARM
fan1: 2109 RPM (min = 0 RPM)
fan2: 1836 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
fan5: 0 RPM (min = 0 RPM)
fan7: 0 RPM (min = 0 RPM)
SYSTIN: +112.0°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
CPUTIN: +41.5°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
AUXTIN0: +108.0°C sensor = thermistor
AUXTIN1: +111.0°C sensor = thermistor
AUXTIN2: +110.0°C sensor = thermistor
AUXTIN3: -26.0°C sensor = thermal diode
PECI Agent 0: +46.0°C (high = +80.0°C, hyst = +75.0°C)
(crit = +100.0°C)
PCH_CHIP_CPU_MAX_TEMP: +0.0°C
PCH_CHIP_TEMP: +0.0°C
PCH_CPU_TEMP: +0.0°C
intrusion0: ALARM
intrusion1: ALARM
beep_enable: […]]
lm_sensors might learn about this sensor in the future, for now
I want to track the speed of both fans, I’m not sure yet if fan…_pulses: 2.000
needs adjusting.
I’ll also track the 2 temperature readings that looked sane from the nct6798-isa-…
I guess they are CPU and VRM but could be wrong.
I really have no use for the voltages plus I do not know if the calculations for the ASRock X570Pro4 apply to the MS-01.
CPU temperatures I want to query using coretemp
but the core numbering is not quite as expected.
[…]
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +46.0°C (high = +100.0°C, crit = +100.0°C)
Core 0: +40.0°C (high = +100.0°C, crit = +100.0°C)
Core 4: +42.0°C (high = +100.0°C, crit = +100.0°C)
Core 8: +41.0°C (high = +100.0°C, crit = +100.0°C)
Core 12: +37.0°C (high = +100.0°C, crit = +100.0°C)
Core 16: +40.0°C (high = +100.0°C, crit = +100.0°C)
Core 20: +40.0°C (high = +100.0°C, crit = +100.0°C)
Core 24: +45.0°C (high = +100.0°C, crit = +100.0°C)
Core 25: +45.0°C (high = +100.0°C, crit = +100.0°C)
Core 26: +45.0°C (high = +100.0°C, crit = +100.0°C)
Core 27: +44.0°C (high = +100.0°C, crit = +100.0°C)
Core 28: +43.0°C (high = +100.0°C, crit = +100.0°C)
Core 29: +43.0°C (high = +100.0°C, crit = +100.0°C)
Core 30: +43.0°C (high = +100.0°C, crit = +100.0°C)
Core 31: +43.0°C (high = +100.0°C, crit = +100.0°C)
Used config files
Config for the nct6798
My /etc/sensors.d/Nuvoton-on-MS-01
ignores most sensors and
labels two with my current best guess.
It also allows the motherbord to beep when a sensor is in alarm state.
# lm_sensors-3.6.0-10.el9.x86_64 needed this, revisit if RPM is upgraded
# esp if <https://github.com/lm-sensors/lm-sensors/issues/456> is resolved.
chip "nct6798-isa-0a20"
label temp2 "vrm"
label temp7 "CPU"
ignore in0
ignore in1
ignore in2
ignore in3
ignore in4
ignore in5
ignore in6
ignore in7
ignore in8
ignore in9
ignore in10
ignore in11
ignore in12
ignore in13
ignore in14
ignore fan3
ignore fan4
ignore fan5
ignore fan7
ignore temp1
ignore temp3
ignore temp4
ignore temp5
ignore temp6
ignore temp8
ignore temp9
ignore temp10
ignore intrusion0
ignore intrusion1
set beep_enable 1
Config for coretemp
My /etc/sensors.d/CoreTemp-on-MS-01
labels my cores to the best of my knowledge.
I’m aware that the names I chose might break tools that expect Package id 0
, Core 0
, Core 1
, etc.
# my CPU is a 13th Gen Intel(R) Core(TM) i9-13900H
# https://www.intel.com/content/www/us/en/products/sku/232135/intel-core-i913900h-processor-24m-cache-up-to-5-40-ghz/specifications.html
chip "coretemp-isa-0000"
label temp1 "6P 8E package"
label temp2 "P Core 1"
label temp6 "P Core 2"
label temp10 "P Core 3"
label temp14 "P Core 4"
label temp18 "P Core 5"
label temp22 "P Core 6"
label temp26 "E Core 1"
label temp27 "E Core 2"
label temp28 "E Core 3"
label temp29 "E Core 4"
label temp30 "E Core 5"
label temp31 "E Core 6"
label temp32 "E Core 7"
label temp33 "E Core 8"
Sample output
sensors
[root@ms-01-01 ~]# sensors
iwlwifi_1-virtual-0
Adapter: Virtual device
temp1: N/A
acpitz-acpi-0
Adapter: ACPI interface
temp1: +27.8°C
nct6798-isa-0a20
Adapter: ISA adapter
fan1: 2112 RPM (min = 0 RPM)
fan2: 1829 RPM (min = 0 RPM)
vrm: +41.5°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
CPU: +46.0°C (high = +80.0°C, hyst = +75.0°C)
(crit = +100.0°C)
beep_enable: enabled
coretemp-isa-0000
Adapter: ISA adapter
6P 8E package: +45.0°C (high = +100.0°C, crit = +100.0°C)
P Core 1: +40.0°C (high = +100.0°C, crit = +100.0°C)
P Core 2: +43.0°C (high = +100.0°C, crit = +100.0°C)
P Core 3: +40.0°C (high = +100.0°C, crit = +100.0°C)
P Core 4: +41.0°C (high = +100.0°C, crit = +100.0°C)
P Core 5: +40.0°C (high = +100.0°C, crit = +100.0°C)
P Core 6: +40.0°C (high = +100.0°C, crit = +100.0°C)
E Core 1: +44.0°C (high = +100.0°C, crit = +100.0°C)
E Core 2: +44.0°C (high = +100.0°C, crit = +100.0°C)
E Core 3: +44.0°C (high = +100.0°C, crit = +100.0°C)
E Core 4: +44.0°C (high = +100.0°C, crit = +100.0°C)
E Core 5: +43.0°C (high = +100.0°C, crit = +100.0°C)
E Core 6: +43.0°C (high = +100.0°C, crit = +100.0°C)
E Core 7: +43.0°C (high = +100.0°C, crit = +100.0°C)
E Core 8: +43.0°C (high = +100.0°C, crit = +100.0°C)
[root@ms-01-01 ~]#
lscpu
[root@ms-01-01 ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 46 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 20
On-line CPU(s) list: 0-19
Vendor ID: GenuineIntel
BIOS Vendor ID: Intel(R) Corporation
Model name: 13th Gen Intel(R) Core(TM) i9-13900H
BIOS Model name: 13th Gen Intel(R) Core(TM) i9-13900H
CPU family: 6
Model: 186
Thread(s) per core: 2
Core(s) per socket: 14
Socket(s): 1
Stepping: 2
CPU(s) scaling MHz: 22%
CPU max MHz: 2600.0000
CPU min MHz: 400.0000
BogoMIPS: 5990.40
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht t
m pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_
perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpui
d aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor
ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4
_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsav
e avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault e
pb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexprio
rity ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep b
mi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt
sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect
avx_vnni dtherm arat pln pts hwp hwp_notify hwp_act_windo
w hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfn
i vaes vpclmulqdq tme rdpid movdiri movdir64b fsrm md_cle
ar serialize pconfig arch_lbr ibt flush_l1d arch_capabili
ties
Virtualization features:
Virtualization: VT-x
Caches (sum of all):
L1d: 544 KiB (14 instances)
L1i: 704 KiB (14 instances)
L2: 11.5 MiB (8 instances)
L3: 24 MiB (1 instance)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-19
Vulnerabilities:
Gather data sampling: Not affected
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Reg file data sampling: Mitigation; Clear Register File
Retbleed: Not affected
Spec rstack overflow: Not affected
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer s
anitization
Spectre v2: Mitigation; Enhanced / Automatic IBRS; IBPB conditional;
RSB filling; PBRSB-eIBRS SW sequence; BHI BHI_DIS_S
Srbds: Not affected
Tsx async abort: Not affected
[root@ms-01-01 ~]#
Notes
- For now the main aim is to collect some stats into my Check MK instance. Once I have some value history, I might revisit my lm_sensors configuration.
- I used
sensors -u nct6798-isa-0a20
andsensors -u coretemp-isa-0000
to get the label IDs. - CPU Spec says Max Operating Temperature: 100° C and a modern CPU will throttle when it gets too hot.
So I’m leaving both coretemp defaults of
temp…_max: 100.000
andtemp…_crit: 100.000
as is. - I might adjust
temp7_max: 80.000
of nct6798 in the future. - Having no use for the WiFi adapter, it is disabled. No wonder there’s no temperature reading.
- I’m unsure what acpitz-acpi-0’s temp1 represents, inlet temperature would be realistic, the shelf where it is placed is warm and it is about the same value I get from one of my Shelly H&T Gen2 when placed on top of the MS-01.