From afa9e9bd385775c624d1f18e3da54be433c40892 Mon Sep 17 00:00:00 2001 From: Ilia Ross Date: Thu, 24 Jul 2025 22:50:18 +0300 Subject: [PATCH] Fix to rethink what CPU fan is #2517 [no-build] --- proc/linux-lib.pl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/proc/linux-lib.pl b/proc/linux-lib.pl index 97e333aa4..755fbdde8 100755 --- a/proc/linux-lib.pl +++ b/proc/linux-lib.pl @@ -513,7 +513,12 @@ if (&has_command("sensors")) { # CPU full output must have either voltage or fan data my ($cpu_volt) = $_ =~ /(?|in[\d+]\s*:\s+([\+\-0-9\.]+)\s+V|cpu\s+core\s+voltage\s*:\s+([0-9\.]+)\s+V)/i; - my ($cpu_fan_num, $cpu_fan_rpm) = $_ =~ /(?|fan([\d+])\s*:\s*([0-9]+)\s*rpm|cpu(\s)fan\s*:\s*([0-9]+)\s*rpm|cpu\s+fan\s*:\s*([0-9]+)\s*rpm)/i; + # CPU fans should be always labeled as 'cpu fan' or 'cpu_fan' or 'cpufan' + # and/or 'cpu fan 1', 'cpu_fan1', 'cpufan1', 'cpu_fan 2', 'cpu_fan2', + # 'cpufan2' etc. + my ($cpu_fan_num, $cpu_fan_rpm) = + $_ =~ /(?|^\s*cpu[_ ]?fan(?:[_ ]?(\d+))?\s*:\s*(\d+)\s*rpm)/i; + $cpu_fan_num //= 1 if (defined($cpu_fan_rpm)); $cpu++ if ($cpu_volt || $cpu_fan_num); # First just store fan data for any device if any