summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configs/ASRock/B450-Gaming-ITX-ac.conf100
-rw-r--r--configs/ASRock/Z390-Extreme4.conf107
-rw-r--r--configs/Gigabyte/GA-AB350N-GAMING-WIFI-REV1.0.conf91
-rw-r--r--configs/Gigabyte/GA-H170M-D3H.conf30
-rw-r--r--configs/Lenovo/ThinkPad-X1-Carbon.conf22
-rwxr-xr-xprog/detect/sensors-detect15
-rw-r--r--prog/init/fancontrol.service2
-rw-r--r--prog/init/sensord.service2
8 files changed, 360 insertions, 9 deletions
diff --git a/configs/ASRock/B450-Gaming-ITX-ac.conf b/configs/ASRock/B450-Gaming-ITX-ac.conf
new file mode 100644
index 00000000..01e7603c
--- /dev/null
+++ b/configs/ASRock/B450-Gaming-ITX-ac.conf
@@ -0,0 +1,100 @@
+# ASRock B450 Gaming-ITX/ac
+# manufacturing date July 2019 (came with Zen2-aware BIOS)
+# board does have connectors for buzzer and 3 fans (2 case + 1 CPU)
+# board does not have a connector for intrusion detection
+# dmesg: "nct6775: Found NCT6792D or compatible chip at 0x2e:0x290"
+
+chip "nct6792-*"
+
+ # beeping appears to not work
+ set beep_enable 1
+
+ # voltages
+
+ label in0 "Vcore"
+ compute in0 @*2, @/2
+ set in0_min 0.16
+ set in0_max 1.46
+ set in0_beep 1
+
+ label in2 "AVCC"
+ set in2_min 3.30 * 0.90
+ set in2_max 3.30 * 1.10
+
+ label in3 "+3.3V"
+ set in3_min 3.30 * 0.90
+ set in3_max 3.30 * 1.10
+
+ label in7 "3VSB"
+ set in7_min 3.30 * 0.90
+ set in7_max 3.30 * 1.10
+
+ label in8 "VBAT"
+ set in8_min 3.00 * 0.90
+ set in8_max 3.30 * 1.10
+
+ label in9 "+12V"
+ compute in9 @*(53/8), @/(53/8)
+ set in9_min 12 * 0.90
+ set in9_max 12 * 1.10
+
+ label in13 "+5V"
+ compute in13 @*(24/8), @/(24/8)
+ set in13_min 5 * 0.90
+ set in13_max 5 * 1.10
+
+ # these are all zero
+ ignore in1
+ ignore in4
+ ignore in5
+ ignore in6
+ ignore in14
+
+ # these have non-zero input, but are unknown
+ ignore in10
+ ignore in11
+ ignore in12
+
+ # temperatures
+ # not sure about temp2 and temp3
+ label temp2 "VRM(?) temp"
+ set temp2_max 55
+ set temp2_max_hyst 50
+ set temp2_beep 1
+ label temp3 "MB(?) temp"
+ set temp3_max 55
+ set temp3_max_hyst 50
+ set temp3_beep 1
+ label temp7 "CPU temp"
+
+ # temp2 has similar readings to temp3
+ # other temps are zero or unreasonably high/low
+ ignore temp1
+ ignore temp4
+ ignore temp5
+ ignore temp6
+ ignore temp8
+ ignore temp9
+ ignore temp10
+
+ # fans
+
+ label fan1 "CHA_FAN1"
+ set fan1_min 300
+ set fan1_beep 1
+ label fan2 "CPU_FAN1"
+ set fan2_min 600
+ set fan2_beep 1
+ label fan3 "CHA_FAN2"
+ set fan3_min 300
+ set fan3_beep 1
+
+ # these are not on the mainboard
+ ignore fan4
+ ignore fan5
+
+ # misc
+
+ ignore intrusion0
+ ignore intrusion1
+
diff --git a/configs/ASRock/Z390-Extreme4.conf b/configs/ASRock/Z390-Extreme4.conf
new file mode 100644
index 00000000..81e6a832
--- /dev/null
+++ b/configs/ASRock/Z390-Extreme4.conf
@@ -0,0 +1,107 @@
+# ASRock Z3900 Extreme4
+# 2019, contributed by Alex Cherkayev <doctor64@gmail.com>
+#
+# dmi: board_name: Z390 Extreme4
+# dmi: board_vendor: ASRock
+# dmi: bios_version: P4.00
+# cpu: Intel(R) Core(TM) i7-9700K CPU
+chip "nct6791-isa-*"
+
+ # Fans
+ label fan1 "CHA Fan 3/WP"
+ label fan2 "CPU Fan 1"
+ label fan3 "CPU Fan 2/WP"
+ label fan4 "CHA Fan 1/WP"
+ label fan5 "CHA Fan 2/WP"
+
+ # Temperatures
+ label temp1 "Motherboard"
+ set temp1_max 55
+ set temp1_max_hyst 50
+ label temp2 "CPU MB"
+ set temp2_max 100
+ set temp2_max_hyst 75
+
+ # temp3 always 22
+ # temp4 102 in idle, 103 under load
+ # temp5 always 15
+ # temp6 always 12
+ ignore temp3
+ ignore temp4
+ ignore temp5
+ ignore temp6
+
+ #PECI Agent 0 match CPU cores temp
+ label temp7 "CPU Core"
+
+ # PCH_CHIP_CPU_MAX_TEMP PCH_CHIP_TEMP PCH_CPU_TEMP always 0.0C, ignore
+ ignore temp8
+ ignore temp9
+ ignore temp10
+
+ # Voltages
+
+ label in0 "VCore Voltage"
+ compute in0 @*2, @/2
+ set in0_min 0.40
+ set in0_max 1.40
+
+ label in1 "+5V"
+ # deduced, not confirmed
+ compute in1 ((20/10)+1)*@, @/((20/10)+1)
+ set in1_min 5 * 0.95
+ set in1_max 5 * 1.05
+
+ label in4 "+12V"
+ # deduced, not confirmed
+ compute in4 @*12, @/12
+ set in4_min 12 * 0.95
+ set in4_max 12 * 1.05
+
+ #unknown, always 1.18V just set limits to remove alarm
+ set in5_min 1.1
+ set in5_max 1.3
+
+ label in6 "PCH +1.0V"
+ # limit taken from intel 300 series pch datasheet
+ # set in6_min 0.99
+ # set in6_max 1.10
+ # verified by changing in bios, limit taken from bios
+ set in6_min 0.9
+ set in6_max 1.3
+
+ label in9 "VCCST"
+ # verified by changing in bios, limit taken from bios
+ set in9_min 0.9
+ set in9_max 1.25
+
+ # unknown, always 0.24V, just set limit to remove alarm
+ set in10_min 0.1
+ set in10_max 0.3
+
+ label in11 "VCCIO"
+ # verified by changing in bios, limit taken from bios
+ # limit taken from bios
+ set in11_min 0.85
+ set in11_max 1.35
+
+ label in12 "DRAM Voltage"
+ # verified by changing in bios, limit taken from bios
+ set in12_min 1.10
+ set in12_max 1.40
+
+ label in13 "DRAM VPP"
+ # verified by changing in bios, limit taken from bios +- 0.1V
+ compute in13 @*2, @/2
+ set in13_min 2.4
+ set in13_max 2.8
+
+ label in14 "VCCSA"
+ # verified by changing in bios, limit taken from bios
+ set in14_min 0.95
+ set in14_max 1.35
+
+ # Potential things to filter
+ # These inputs are unused unless you have a case intrusion switch connected.
+ # ignore intrusion0
+ # ignore intrusion1
diff --git a/configs/Gigabyte/GA-AB350N-GAMING-WIFI-REV1.0.conf b/configs/Gigabyte/GA-AB350N-GAMING-WIFI-REV1.0.conf
new file mode 100644
index 00000000..d1e9f732
--- /dev/null
+++ b/configs/Gigabyte/GA-AB350N-GAMING-WIFI-REV1.0.conf
@@ -0,0 +1,91 @@
+# GA-AB350N-Gaming WIFI (rev. 1.0)
+
+# dmi: board_name: AB350N-Gaming WIFI-CF
+# dmi: board_vendor: Gigabyte Technology Co., Ltd.
+# dmi: board_version: x.x
+# dmi: bios_version: F50a
+
+chip "it8686-isa-0a40"
+ label temp1 "System 1"
+ label temp2 "Chipset"
+ label temp3 "CPU Socket"
+ label temp4 "PCI-EX16"
+ label temp5 "VRM MOS"
+ label temp6 "vSOC MOS"
+
+ label in0 "CPU Vcore"
+ label in1 "+3.3v"
+ label in2 "+12v"
+ label in3 "+5v"
+ label in4 "CPU Vcore SOC"
+ label in5 "CPU VDDP"
+ label in6 "DRAM A/B"
+ label in7 "3VSB"
+ label in8 "Battery"
+
+ label fan1 "CPU_FAN"
+ label fan2 "SYS_FAN1"
+
+ compute in1 @*1.650,@/1.650
+ compute in2 @*6,@/6
+ compute in3 @*2.5,@/2.5
+
+ set temp1_min 15
+ set temp1_max 65
+ set temp2_min 15
+ set temp2_max 80
+ set temp3_min 15
+ set temp3_max 85
+ set temp4_min 15
+ set temp4_max 30
+ set temp5_min 15
+ set temp5_max 95
+ set temp6_min 15
+ set temp6_max 90
+
+ set in0_min 0.6
+ set in0_max 1.45
+ set in1_min 3.135
+ set in1_max 3.465
+ set in2_min 11.400
+ set in2_max 12.600
+ set in3_min 4.750
+ set in3_max 5.250
+ set in6_min 1.2 * 0.97
+ set in6_max 1.2 * 1.2
+ set in7_min 3.3 * 0.97
+ set in7_max 3.3 * 1.05
+
+ set fan1_min 900
+ set fan2_min 900
+
+chip "it8792-isa-0a60"
+ label temp1 "PCI-EX8"
+ label temp2 "Temp 2"
+ label temp3 "System 2"
+
+ label in0 "CPU Vcore"
+ label in1 "DDR VTT"
+ label in2 "Chipset Core"
+ label in3 "VIN3"
+ label in4 "CPU VDD18"
+ label in5 "DDR VPP"
+ label in7 "3VSB"
+ label in8 "VBAT"
+
+ set temp1_min 15
+ set temp1_max 60
+ set temp2_min 15
+ set temp2_max 60
+ set temp3_min 15
+ set temp3_max 60
+
+ set in0_min 0.6
+ set in0_max 1.45
+ set in7_min 3.135
+ set in7_max 3.465
+
+ ignore in6
+ ignore fan1
+ ignore fan2
+ ignore fan3
diff --git a/configs/Gigabyte/GA-H170M-D3H.conf b/configs/Gigabyte/GA-H170M-D3H.conf
new file mode 100644
index 00000000..0094424c
--- /dev/null
+++ b/configs/Gigabyte/GA-H170M-D3H.conf
@@ -0,0 +1,30 @@
+# Configuration for the Gigabyte GA-H170M-D3H (name from the manual) mainboard.
+# Name from dmidecode -s baseboard-product-name: H170M-D3H-CF
+# BIOS version: F23f
+# Driver: it87
+# added by dokutan, 2020
+
+chip "it8628-isa-*"
+
+ ### voltage sensors
+ ### these labels are mostly determined by comparing the values to the values from the bios
+ # in1 - 1n5: i have no clue, the bios reports +5V and +12V values,
+ # the it87 kernel documentation suggests in3 might be internal to the chip
+ # label in0 "Vcore" # this value scales with CPU load but seems a bit low (~0.7V to 1.2V)
+ # label in2 "+12V" # in2*6 is exactly the +12V value from the bios
+ label in6 "Vmemory" # this is stable and the value from the bios
+
+ ### fans
+ ### the mappings fan to label are all tested
+ label fan1 "CPU fan"
+ label fan2 "Case fan 1"
+ label fan3 "Case fan 2"
+ ignore fan4 # there are only 3 fan headers + CPU fan on this mainboard
+ label fan5 "Case fan 3"
+
+ ### temperature sensors
+ ### these labels are determined by comparison with other sensors under different load scenarios
+ # temp5 correlates with CPU temp, but stays significantly lower
+ # temp1, temp4 and temp6 stay relatively low, even under CPU load
+ ignore temp2 # this always gives a reading of +127.0°C
+ label temp3 "CPU temp" # this might have a 1-2°C difference to the coretemp package sensor
diff --git a/configs/Lenovo/ThinkPad-X1-Carbon.conf b/configs/Lenovo/ThinkPad-X1-Carbon.conf
new file mode 100644
index 00000000..54c79a02
--- /dev/null
+++ b/configs/Lenovo/ThinkPad-X1-Carbon.conf
@@ -0,0 +1,22 @@
+# Tested with Lenovo ThinkPad X1 Carbon Gen 6
+
+chip "thinkpad-isa-0000"
+ # always zero
+ ignore temp2
+ ignore temp3
+ ignore temp4
+ ignore temp5
+ ignore temp6
+ ignore temp7
+ ignore temp8
+ ignore temp9
+ ignore temp10
+ ignore temp12
+ ignore temp13
+ ignore temp14
+ ignore temp15
+ ignore temp16
+
+ label fan1 "Fan"
+ label temp1 "CPU"
+ label temp11 "Power circuitry"
diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect
index 6fc441aa..fd43db56 100755
--- a/prog/detect/sensors-detect
+++ b/prog/detect/sensors-detect
@@ -719,11 +719,6 @@ use vars qw(@i2c_adapter_names);
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { emc6w201_detect(@_); },
}, {
- name => "Winbond WPCD377I",
- driver => "not-a-sensor",
- i2c_addrs => [0x2c..0x2e],
- i2c_detect => sub { lm85_detect(@_, 7); },
- }, {
name => "Analog Devices ADT7462",
driver => "adt7462",
i2c_addrs => [0x5c, 0x58],
@@ -1684,6 +1679,10 @@ use vars qw(@i2c_adapter_names);
i2c_addrs => [0x2c..0x2f],
i2c_detect => sub { w83791sd_detect(@_); },
}, {
+ name => "Winbond WPCD377I",
+ i2c_addrs => [0x2c..0x2e],
+ i2c_detect => sub { lm85_detect(@_, 7); },
+ }, {
name => "Fintek F75111R/RG/N (GPIO)",
i2c_addrs => [0x37, 0x4e],
i2c_detect => sub { fintek_detect(@_, 1); },
@@ -2273,7 +2272,7 @@ use constant FEAT_SMBUS => (1 << 7);
features => FEAT_IN | FEAT_FAN | FEAT_TEMP,
}, {
name => "Nuvoton W83677HG-I (NCT5572D/NCT6771F/NCT6772F/NCT6775F) Super IO Sensors",
- driver => "w83627ehf",
+ driver => sub { kernel_version_at_least(3, 10, 0) ? "nct6775" : "w83627ehf" },
devid => 0xB470,
devid_mask => 0xFFF0,
logdev => 0x0b,
@@ -4574,7 +4573,9 @@ sub scan_cpu
sub chip_special_cases
{
# Some chip to driver mappings depend on the environment
- foreach my $chip (@chip_ids) {
+ foreach my $chip (@chip_ids, @superio_ids_natsemi, @superio_ids_smsc,
+ @superio_ids_smsc_ns, @superio_ids_winbond,
+ @superio_ids_ite) {
if (ref($chip->{driver}) eq 'CODE') {
$chip->{driver} = $chip->{driver}->();
}
diff --git a/prog/init/fancontrol.service b/prog/init/fancontrol.service
index 3ac1ed02..43293141 100644
--- a/prog/init/fancontrol.service
+++ b/prog/init/fancontrol.service
@@ -5,7 +5,7 @@ After=lm_sensors.service
[Service]
Type=simple
-PIDFile=/var/run/fancontrol.pid
+PIDFile=/run/fancontrol.pid
ExecStart=/usr/sbin/fancontrol
[Install]
diff --git a/prog/init/sensord.service b/prog/init/sensord.service
index 2448beeb..af2f0ae9 100644
--- a/prog/init/sensord.service
+++ b/prog/init/sensord.service
@@ -5,7 +5,7 @@ After=lm_sensors.service
[Service]
EnvironmentFile=/etc/sysconfig/sensord
Type=forking
-PIDFile=/var/run/sensord.pid
+PIDFile=/run/sensord.pid
ExecStart=/usr/sbin/sensord -i $INTERVAL -l $LOG_INTERVAL -f daemon
[Install]