Régulation des ventilateurs Noctua et cartes mères Supermicro

Régulation des ventilateurs Noctua et cartes mères Supermicro
Photo by Inspirationfeed / Unsplash

Si vous aussi vous avez une carte mère Supermicro (par exemple le modèle X11SCH-F) et que vous avez installé dans votre boitier des ventilateurs Noctua, vous avez certainement remarqué que les ventilateurs changent toutes les 20 secondes de régime, ce qui provoque un bruit très dérangeant (# moteur d'avion au décollage).

En fait, le régime des ventilateurs Noctua étant très (trop) bas, les cartes mères Supermicro (ou plus précisément leur BMC) détectent ces ventilateurs comme étant en "sous-régime" et poussent quelques secondes leur puissance à pleine vitesse pour éviter que le processeur ne surchauffe. Ceci jusqu'à ce que le ventilateur retrouve son régime normal, que celui-ci soit à nouveau détecté comme étant en "sous-régime"... et ainsi de suite.

Il y a plusieurs façon de régler ce problème, mais l'une d'elles est de forcer les ventilateurs à atteindre un régime fixe que l'on déterminera en fonction des besoins en refroidissement du processeur et du reste du boitier et à empêcher le BMC de régler de manière dynamique la vitesse des ventilateurs.

Voici la marche à suivre :

  1. Dans la partie BMC du serveur Supermicro, choisir le réglage de ventilateurs "Full Speed". Les autres options empêcheraient la commande de l'étape 2 de fonctionner.
💡
Cela semble assez contre-intuitif puisqu'on souhaite diminuer la vitesse des ventilateurs mais en fait en mode "Full Speed" le BMC arrête de changer de façon dynamique leur régime, ce qui va nous permettre ensuite de régler leur vitesse.
Capture d'écran du BMC
  1. Dans le shell entrer la commande suivante pour régler de manière fixe la vitesse du ventilateur du processeur:
$ ipmitool raw 0x30 0x70 0x66 0x01 0x00 0x35

Même chose pour les ventilateurs du reste du boitier:

$ ipmitool raw 0x30 0x70 0x66 0x01 0x01 0x35

Instantanément, vous devriez entendre vos ventilateurs retrouver un régime plus discret.

La dernière partie de ces deux lignes de commande (0x00 0x35 et 0x01 0x35) est celle qui nous intéresse. Le premier groupe (0x00 et 0x01) correspond respectivement au ventilateur du processeur (0x00) et aux ventilateurs périphériques (0x01). Le second groupe correspond au pourcentage de la vitesse du processeur 0x00 correspondant à 0% et 0x64 à 100%.

⚠️
Il est donc important de faire des tests à différentes vitesses en faisant varier le chiffre de 0x00 à 0x64. L'objectif est de trouver le pourcentage qui convient au besoin de refroidissement de votre processeur et de votre serveur, sachant que si vous choisissez un chiffre trop bas le BMC s'affolera et remettra votre ventilateur à pleine vitesse. Pour plus d'information, se référer à cet article.
  1. Ces commandes seront actives jusqu'au prochain redémarrage du serveur. Il est donc utile de prévoir un script qui lance ces deux commandes au démarrage.
  2. Dans Truenas, on peut rentrer ces réglages dans le menu "Init/Shutdown Scripts" dans la rubrique "Réglages systèmes / Avancés":

Références:

Reference Material - Supermicro X9/X10/X11 Fan Speed Control
Reference material regarding fan speed control on SuperMicro X9/X10/X11 motherboards. This has been pieced together over some time and I finally got that “aha!” moment yesterday where it all came together. A bit of testing confirmed that this…
How To: Change IPMI Sensor Thresholds using ipmitool
Many server motherboards, including the Supermicro X10 series, have their fans monitored by the BMC, which automatically attempts to recover stalling (of the motor, not in the aerodynamic sense) fans by spinning them up to maximum (PWM set to…