Bon... Je continu ma recherche pour la bonne gestion des ventilateurs/sondes sous linux, en lien avec mon autre sujet :
https://forums.fedora-fr.org/viewtopic.php?id=73042
(Même si j'ai procédé à de gros changement depuis...)

Même si j'arrive à de bon résultats depuis quelques temps, j'ai un petit problème bien pénible par moment, à savoir les périphériques hwmon qui changent de numéro...

Exemple :
Normalement par défaut (au reboot c'est comme cela) :
   hwmon0 is nvme
   hwmon1 is k10temp
   hwmon2 is nct6795
   hwmon3 is hidpp_battery_0
   hwmon4 is hidpp_battery_1
Et avec un débranchement/branchement de la puce clavier/souris (qui correspond à hidppp et bien sur sans reboot...) :
   hwmon0 is nvme
   hwmon1 is hidpp_battery_0
   hwmon2 is k10temp
   hwmon3 is nct6795
   hwmon4 is hidpp_battery_1
Cela arrive même sans débrancher/brancher la puce de la souris, mais seulement si l'on passe du "Bluetooth proprio" avec puce, au Bluetooth (pour que la pointeur passe sur une autre machine).

Auriez vous un moyen de fixer au moins les hwmon principaux (ici nvme/k10temp et nct6795)?
Perso je pense qu'il faudrait plus se baser, par exemple, sur le nom du périphérique, voir son UID, et non pas sur son ID à base de hwmonXX. C'est plus lourd mais éviterai de devoir se poser la question.

Actuellement j'ai 3 fichiers différents ( pour fancontrol) au moins pour pouvoir utiliser les bon hwmon. Mais si il y avait moyen de ne plus avoir à y toucher ce serai plus simple.

Après j'ai trouvé cette solution :
https://wiki.archlinux.org/title/Fan_Speed_Control#Device_paths_have_changed_in_/etc/fancontrol
Je testerai cela cette semaine si j'ai un peu de temps.
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.
Très intéressant en tout cas.

Un article dans la Documentation serait effectivement un gros plus :-P
5 jours plus tard
Bon cette astuce résout une partie du problème, mais pas toutes.
 The process' exit code is 'exited' and its exit status is 1.
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: In the latter case, you should run pwmconfig again.
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: modules haven't been loaded, or your configuration file is outdated.
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: At least one referenced file is missing. Either some required kernel
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Error: file hwmon4/fan1_input doesn't exist
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Error: file hwmon4/fan6_input doesn't exist
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Error: file hwmon4/fan5_input doesn't exist
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Error: file hwmon4/fan4_input doesn't exist
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Error: file hwmon4/fan3_input doesn't exist
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Error: file hwmon4/fan2_input doesn't exist
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Error: file hwmon4/pwm1 doesn't exist
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Error: file hwmon4/pwm6 doesn't exist
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Error: file hwmon4/pwm5 doesn't exist
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Error: file hwmon4/pwm4 doesn't exist
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Error: file hwmon4/pwm3 doesn't exist
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Error: file hwmon4/pwm2 doesn't exist
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   AVERAGE=5
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MAXPWM=204
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINPWM=0
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINSTOP=55
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINSTART=150
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MAXTEMP=100
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINTEMP=30
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   Controls hwmon4/fan1_input
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   Depends on /sys/devices/pci0000:00/0000:00:18.3/hwmon/[[:print:]]*/temp3_input
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Settings for hwmon4/pwm1:
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   AVERAGE=5
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MAXPWM=255
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINPWM=0
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINSTOP=20
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINSTART=100
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MAXTEMP=105
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINTEMP=10
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   Controls hwmon4/fan6_input
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   Depends on /sys/devices/pci0000:00/0000:00:18.3/hwmon/[[:print:]]*/temp3_input
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Settings for hwmon4/pwm6:
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   AVERAGE=1
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MAXPWM=255
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINPWM=0
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINSTOP=20
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINSTART=150
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MAXTEMP=90
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINTEMP=10
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   Controls hwmon4/fan5_input
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   Depends on /sys/devices/pci0000:00/0000:00:18.3/hwmon/[[:print:]]*/temp3_input
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Settings for hwmon4/pwm5:
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   AVERAGE=1
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MAXPWM=255
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINPWM=0
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINSTOP=20
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINSTART=150
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MAXTEMP=105
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINTEMP=20
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   Controls hwmon4/fan4_input
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   Depends on /sys/devices/pci0000:00/0000:00:18.3/hwmon/[[:print:]]*/temp3_input
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Settings for hwmon4/pwm4:
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   AVERAGE=5
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MAXPWM=255
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINPWM=0
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINSTOP=20
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINSTART=150
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MAXTEMP=80
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINTEMP=20
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   Controls hwmon4/fan3_input
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   Depends on /sys/devices/platform/nct6775.2592/hwmon/[[:print:]]*/temp3_input
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Settings for hwmon4/pwm3:
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   AVERAGE=10
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MAXPWM=255
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINPWM=0
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINSTOP=20
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINSTART=150
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MAXTEMP=95
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   MINTEMP=15
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   Controls hwmon4/fan2_input
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   Depends on /sys/devices/pci0000:00/0000:00:18.3/hwmon/[[:print:]]*/temp3_input
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Settings for hwmon4/pwm2:
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]:   INTERVAL=1
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Common settings:
janv. 30 10:48:30 zeus.localdomain fancontrol[18405]: Loading configuration from /etc/fancontrol ...
janv. 30 10:48:30 zeus.localdomain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=fancontrol comm=">
janv. 30 10:48:30 zeus.localdomain systemd[1]: Started Start fan control, if configured.
░░ Subject: L'unité (unit) fancontrol.service a terminé son démarrage
░░ Defined-By: systemd
Du coup rien qu'en branchant ma manette je me retrouve à devoir remodifier les hwmon qui ont encore changé de place 🙁.

Par contre il faudra sans doute modifier le code de l’exécutable de fancontrol, car il attend un "hwmonX" (Il faut remplacer le X par le chiffre) si l'on veut fixer le chemin comme pour les pwm.
janv. 30 10:47:20 zeus.localdomain fancontrol[16411]:   Controls
janv. 30 10:47:20 zeus.localdomain fancontrol[16411]:   Depends on /sys/devices/pci0000:00/0000:00:18.3/hwmon/[[:print:]]*/pwm6
janv. 30 10:47:20 zeus.localdomain fancontrol[16411]: Settings for /sys/devices/platform/nct6775.2592/hwmon/[[:print:]]*/pwm2:
janv. 30 10:47:20 zeus.localdomain fancontrol[16411]: /usr/sbin/fancontrol: ligne 133 : [:  : nombre entier attendu comme expression
janv. 30 10:47:20 zeus.localdomain fancontrol[16411]: /usr/sbin/fancontrol: ligne 127 : [:  : nombre entier attendu comme expression
janv. 30 10:47:20 zeus.localdomain fancontrol[16411]: /usr/sbin/fancontrol: ligne 115 : [:  : nombre entier attendu comme expression
Vraiment casse burnes cette "automatisation" qui n'en fait qu'à sa tête...
9 jours plus tard
J'ai toujours le problème qui apparait. Que ce soit en sortant du mode veille aléatoirement, soit quand je branche manettes ou casques sans fils...
Je me pose la question si il ne faudrait pas mettre les hwmonX en variables, avec le chemin des périphériques directement, pour forcer le changement d'ordre.

Il semble surtout prendre en compte le DEVPATH et DEVNAME... Du coup le reste ne peux pas correspondre.

Après j'ai peut être zappé une étape dans la retouche de l'exécutable de FanControl...