Modifier les réglages du ventilateur du Hat PoE du Raspberry Pi

J’en parlais hier, le module PoE du Raspberry Pi intègre un ventilateur qui a un comportement assez désagréable : il ventile régulièrement, mais très peu de temps. Le problème vient des limites de température des réglages, et ils peuvent êtres modifiés.

Par défaut, le ventilateur déclenche à son niveau minimal (il en possède trois) à 45 °C, mesuré directement sur le SoC. Le premier problème, c’est que sa vitesse est constante, avec seulement trois paliers, il n’y a pas d’intermédiaires. Le second, c’est que le SoC du Raspberry Pi 3B+ est fréquemment aux alentours de 45 °C en idle. Chez moi, en conséquence, le ventilateur joue au yoyo : il ne tourne pas pendant quelques secondes, la température du SoC atteint 45 °C, il se déclenche, la température redescend rapidement sous 45 °C, il s’arrête. Et sans rien faire sur la carte, ce scénario se répète à l’infini. le ventilateur n’est même pas excessivement bruyant, mais je l’entends régulièrement démarrer et s’arrêter.

Pour régler le problème, deux solutions. Débrancher le ventilateur, un choix valable en usage classique, ou modifier la température d’activation. Si vous bidouiller avec le Raspberry Pi, vous pouvez le débrancher, si vous comptez l’intégrer dans un endroit confiné avec l’adaptateur PoE, je vous conseille de ne pas modifier les réglages. Et si vous bidouillez mais que vous voulez garder des performances correctes, il y a la modification…

La température peut être obtenur rapidement avec cette commande : vcgencmd measure_temp.

Première étape, sauver le fichier d’origine avec la commande suivante.

sudo mv /boot/overlays/rpi-poe.dtbo /boot/overlays/rpi-poe.bak

Ensuite, récupérer un fichier d’exemple avec les données.

wget https://raw.githubusercontent.com/raspberrypi/linux/rpi-4.14.y/arch/arm/boot/dts/overlays/rpi-poe-overlay.dts

Il faut le modifier (par exemple avec Nano) et modifier quelques valeurs. très franchement, j’ai fait une modification assez basique : 5 °C de plus à chaque palier. Donc 45000 devient 50000, 50000 devient 55000 et 55000 devient 60000. Vous trouverez des explications détaillées sur toutes les valeurs , mais pour réduire le bruit, c’est la solution la plus simple.

Une fois les modifications sauvées, il faut compiler le programme, le copier au bon endroit et redémarrer.

dtc -@ -I dts -O dtb -o rpi-poe.dtbo rpi-poe-overlay.dts
sudo cp rpi-poe.dtbo /boot/overlays/rpi-poe.dtbo
sudo reboot

Normalement, le ventilateur se déclenchera toujours quand la température augmente, mais ne jouera plus au yoyo en permanence.