Bon et bien cela semble résoudre le problème.
Donc :
On commence par commenter la détection d'une erreur quand le fichier n'est pas bon :
sudo vi /usr/sbin/fancontrol
On cherche et on commente les lignes suivante :
Avant :
if ! ValidateDevices "$DEVPATH" "$DEVNAME"
then
echo "Configuration appears to be outdated, please run pwmconfig again" >&2
exit 1
fi
Après :
# if ! ValidateDevices "$DEVPATH" "$DEVNAME"
# then
# echo "Configuration appears to be outdated, please run pwmconfig again" >&2
# exit 1
# fi
On regarde le chemin de nos périphérique hwmon en remplaçant le "N" de "hwmonN" par ceux nécessaire :
sudo readlink -f /sys/class/hwmon/hwmonN/device
Exemple dans mon cas :
hwmon3
Qui correspond aux sondes de mon processeur
k10temp
Et on modifie la variable "FCTEMPS" de notre fichier /etc/fancontrol :
# Avant
FCTEMPS=hwmon2/pwm1=hwmon3/temp1_input
# Après
FCTEMPS=hwmon2/pwm1=/sys/devices/platform/XXXXXXXXXXXXX/hwmon/[[:print:]]*/temp1_input
Exemple chez moi :
Avant :
# This file was created by Fancontrol-GUI
#pwm1=pompe_cpu-gpu
#pwm2=fan_cpu-gpu_chaud
#pwm3=fan_arrière
#pwm4=fan_coté
#pwm5=fan_cpu-gpu_froid
#pwm6=fan_haut
INTERVAL=1
DEVPATH=hwmon2=devices/pci0000:00/0000:00:03.1/0000:26:00.0/0000:27:00.0/0000:28:00.0 hwmon3=devices/pci0000:00/0000:00:18.3 hwmon4=devices/platform/nct6775.2592
DEVNAME=hwmon2=amdgpu hwmon3=k10temp hwmon4=nct6795
FCTEMPS=hwmon4/pwm2=hwmon3/temp3_input hwmon4/pwm3=hwmon3/temp3_input hwmon4/pwm4=hwmon3/temp3_input hwmon4/pwm5=hwmon3/temp3_input hwmon4/pwm6=hwmon3/temp3_input hwmon4/pwm1=hwmon3/temp3_input
FCFANS=hwmon4/pwm2=hwmon4/fan2_input hwmon4/pwm3=hwmon4/fan3_input hwmon4/pwm4=hwmon4/fan4_input hwmon4/pwm5=hwmon4/fan5_input hwmon4/pwm6=hwmon4/fan6_input hwmon4/pwm1=hwmon4/fan1_input
MINTEMP= hwmon4/pwm1=30 hwmon4/pwm2=15 hwmon4/pwm3=20 hwmon4/pwm4=20 hwmon4/pwm5=20 hwmon4/pwm6=20
MAXTEMP= hwmon4/pwm1=78 hwmon4/pwm2=90 hwmon4/pwm3=95 hwmon4/pwm4=105 hwmon4/pwm5=100 hwmon4/pwm6=105
MINSTART= hwmon4/pwm1=150 hwmon4/pwm2=150 hwmon4/pwm3=150 hwmon4/pwm4=150 hwmon4/pwm5=150 hwmon4/pwm6=150
MINSTOP= hwmon4/pwm1=76 hwmon4/pwm2=20 hwmon4/pwm3=20 hwmon4/pwm4=20 hwmon4/pwm5=20 hwmon4/pwm6=20
MINPWM= hwmon4/pwm1=0 hwmon4/pwm2=0 hwmon4/pwm3=0 hwmon4/pwm4=0 hwmon4/pwm5=0 hwmon4/pwm6=0
MAXPWM= hwmon4/pwm1=204 hwmon4/pwm2=255 hwmon4/pwm3=255 hwmon4/pwm4=255 hwmon4/pwm5=255 hwmon4/pwm6=255
AVERAGE= hwmon4/pwm1=5 hwmon4/pwm2=10 hwmon4/pwm3=5 hwmon4/pwm4=1 hwmon4/pwm5=1 hwmon4/pwm6=5
Après (avec quelques correction, à confirmer pour le cpu-gpu_froid/chaud...) :
# This file was created by Fancontrol-GUI
# ls /sys/devices/*/*/hwmon/*/pwm?
#pwm1=pompe_cpu-gpu
#pwm2=fan_cpu-gpu_froid
#pwm3=fan_arrière
#pwm4=fan_coté
#pwm5=fan_cpu-gpu_chaud
#pwm6=fan_haut
INTERVAL=1
DEVPATH=hwmon2=devices/pci0000:00/0000:00:03.1/0000:26:00.0/0000:27:00.0/0000:28:00.0 hwmon3=devices/pci0000:00/0000:00:18.3 hwmon4=devices/platform/nct6775.2592
DEVNAME=hwmon2=amdgpu hwmon3=k10temp hwmon4=nct6795
FCTEMPS=hwmon4/pwm2=/sys/devices/pci0000:00/0000:00:18.3/hwmon/[[:print:]]*/temp3_input hwmon4/pwm3=/sys/devices/platform/nct6775.2592/hwmon/[[:print:]]*/temp3_input hwmon4/pwm4=/sys/devices/pci0000:00/0000:00:18.3/hwmon/[[:print:]]*/temp3_input hwmon4/pwm5=/sys/devices/pci0000:00/0000:00:18.3/hwmon/[[:print:]]*/temp3_input hwmon4/pwm6=/sys/devices/pci0000:00/0000:00:18.3/hwmon/[[:print:]]*/temp3_input hwmon4/pwm1=/sys/devices/pci0000:00/0000:00:18.3/hwmon/[[:print:]]*/temp3_input
FCFANS=hwmon4/pwm2=hwmon4/fan2_input hwmon4/pwm3=hwmon4/fan3_input hwmon4/pwm4=hwmon4/fan4_input hwmon4/pwm5=hwmon4/fan5_input hwmon4/pwm6=hwmon4/fan6_input hwmon4/pwm1=hwmon4/fan1_input
MINTEMP= hwmon4/pwm1=30 hwmon4/pwm2=15 hwmon4/pwm3=20 hwmon4/pwm4=20 hwmon4/pwm5=10 hwmon4/pwm6=10
MAXTEMP= hwmon4/pwm1=100 hwmon4/pwm2=95 hwmon4/pwm3=80 hwmon4/pwm4=105 hwmon4/pwm5=90 hwmon4/pwm6=105
MINSTART= hwmon4/pwm1=150 hwmon4/pwm2=150 hwmon4/pwm3=150 hwmon4/pwm4=150 hwmon4/pwm5=150 hwmon4/pwm6=100
MINSTOP= hwmon4/pwm1=55 hwmon4/pwm2=20 hwmon4/pwm3=20 hwmon4/pwm4=20 hwmon4/pwm5=20 hwmon4/pwm6=20
MINPWM= hwmon4/pwm1=0 hwmon4/pwm2=0 hwmon4/pwm3=0 hwmon4/pwm4=0 hwmon4/pwm5=0 hwmon4/pwm6=0
MAXPWM= hwmon4/pwm1=204 hwmon4/pwm2=255 hwmon4/pwm3=255 hwmon4/pwm4=255 hwmon4/pwm5=255 hwmon4/pwm6=255
AVERAGE= hwmon4/pwm1=5 hwmon4/pwm2=10 hwmon4/pwm3=5 hwmon4/pwm4=1 hwmon4/pwm5=1 hwmon4/pwm6=5
On redémarre et on vérifie le service "fancontrol" :
sudo systemctl restart fancontrol.service
sudo systemctl status fancontrol.service
● fancontrol.service - Start fan control, if configured
Loaded: loaded (/usr/lib/systemd/system/fancontrol.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/fancontrol.service.d
└─override.conf
Active: active (running) since Tue 2022-01-25 08:35:22 CET; 1s ago
Main PID: 42378 (fancontrol)
Tasks: 2 (limit: 38337)
Memory: 996.0K
CPU: 124ms
CGroup: /system.slice/fancontrol.service
├─42378 /usr/bin/bash /usr/sbin/fancontrol
└─42784 sleep 1
janv. 25 08:35:22 xx.localdomain fancontrol[42378]: Controls hwmon4/fan1_input
janv. 25 08:35:22 xx.localdomain fancontrol[42378]: MINTEMP=30
janv. 25 08:35:22 xx.localdomain fancontrol[42378]: MAXTEMP=78
janv. 25 08:35:22 xx.localdomain fancontrol[42378]: MINSTART=150
janv. 25 08:35:22 xx.localdomain fancontrol[42378]: MINSTOP=76
janv. 25 08:35:22 xx.localdomain fancontrol[42378]: MINPWM=0
janv. 25 08:35:22 xx.localdomain fancontrol[42378]: MAXPWM=204
janv. 25 08:35:22 xx.localdomain fancontrol[42378]: AVERAGE=5
janv. 25 08:35:22 xx.localdomain fancontrol[42378]: Enabling PWM on fans...
janv. 25 08:35:22 xx.localdomain fancontrol[42378]: Starting automatic fan control...
C'est quand même bizarre de ne pas pouvoir faire en sorte que le hwmon de DEVPATH corresponde bien à ce que l'on veut par défaut.
Je pense avoir tout les éléments pour initier une doc. N'hésitez pas à apporter des améliorations si besoin 🙂 .
Encore merci à nos amis de
Arch Linux, j'ai adapté pour Fedora, car les chemins sont parfois un peu différents.