Fan control software

Problem/Justification
some embeded way to control system and cup fans with curves, my Nas is on its 3rd variation more drives, fans, new motherboard case etc, yet all have same issue uncontrollable fan speed, i have noticed a lot of similar posts on various forums, and there are 2 apparent work arounds if you understand Docker ( not everyone does!)

Impact
more users that have build their own NAS from ewaste etc to save money, however many use older motherboards that do not have a GUI style bios with fan curves, and so their fans are often running to fast and creating noise, i have 6 fans plus the cpu fan in my case to cool the 8 sata drives on my system as a result its quite loud and has to be kept in a spare room with the door closed, yet my windows Pc runs 8 fans plus the cpu and it is virtualy silent as i can use fan curves to adjust the speed and the noise.

User Story
A simple fan control App that any user can install with very basic setting and instructions and doesn’t involve docker, custom app and lots of scripts in shell just to make it work would be perfect for those of us that are over a certain age or with limited time to learn docker etc. something like this would benefit virtually all those who have used Ewaste to build a NAS..

1 Like

Since there was already a denied feature request i doubt you will have success with your request
https://forums.truenas.com/t/closed-feature-request-native-fan-control-in-truenas-scale/47130/19

@gareth1
This is one of those opportunities for a person (maybe yourself) who could create a Docker App which can perform this feature. Due to the variety of motherboards and fan controls, this is a difficult thing to ensure that it works for everyone. Why everyone? Because if TrueNAS created an App that controls the system fans, then it needs to run on ALL PLATFORMS. If it doesn’t, then they will be spending countless hours trying to make it work. This is not a wise path for them. They could have a similar feature for the hardware they sell, that would be fine because they are in control of the hardware as well.

Some advice:
If you generate a Docker Fan Control App, try to get a large number of people to use it and make sure you document the list of motherboards and possibly the firmware as well. Solicit feedback and improve the product. Once it is working on pretty much every platform, then submit it to TrueNAS to be considered as a TrueNAS Approved App.

Good luck and if you make it, they will come.

I’d argue that coolercontrol already did it with very broad hardware support. I run it on my nas and on my Linux gaming box ( bazzite).

I just visited that site and they do have a method to generate a Docker. I am Docker Stupid, for right now, but is a Docker what you use on your NAS (I’m assuming a TrueNAS setup)?

Yes I can share my compare file when I’m back home

here’s the yaml

services:
  coolercontrol:
    image: coolercontrol/coolercontrold:latest
    container_name: coolercontrol
    restart: unless-stopped
    privileged: true
    volumes:
      - /mnt/path/to/config:/etc/coolercontrol
    ports:
      - "11987:11987"
    environment:
      - TZ=Europe/Berlin
x-portals:
  - host: yourtruenasip
    name: Web UI
    path: /
    port: 11987
    scheme: http
2 Likes

Thank you for posting that.

Hopefully this helps those folks who want this feature. I may even give it a try but my MB does a good job of controlling all of the fans in my system.

All my sensors were immediately recognised, yet there seems to be no IPMI support so I cannot actually adjust fan speeds.

This is probably true for all/most Supermicro server boards.

There are initiatives like this:

That ought to be able to leverage ipmitool commands initiated by coolercontrol logic (and the plugin).

But it’s definitely not plug-and-play in it’s current iteration.

1 Like

I was just curious so I tried it. Personally I am happy with a startup shell script for all my servers that sets the fans to a fixed speed/percentage via ipmitool. As fast as I can stand noise-wise :wink:

On really hot days in Summer I crank them up to 100% and live with the noise. Nice if that could be automated but not strictly necessary, either.

I also switched all case fans with Noctua. Only the CPU fans are the original Supermicro ones.

1 Like

don’t forget to vote for your own request!

@GreenTruck50 Welcome to the forums!

When I last checked it 2+ years ago (if my memory serves good) the problem was that IX systems decided that TrueNAS is an appliance, and thus the most important goal is to keep it safe.

That is why they forcefully set all fans to max RPM, and override even the BIOS level fan control.

(SOme IPMI capable motherboards, you are able to override this override, though)

This is not the problem, the problem is, that you are not able to install (at least for me did not work with my limited knowledge) any additional SW (apt is not available to stop you from interfering/possibly breaking your system).

I highly disagree with this apporach, but you cannot do much about it, if they decided so. (they can add a switch for cooling with the same RED warning as with all otherwise dangerous changes, you might do to your system. It would better suit the Linux approach, It is OFF by default, and incompetent persons are safe, but if you know, what you do, TN should let you do it anyways)

Maybe, if you dont install TN on bare metal, but under a Hypervisor, you can install next to it a SW solution, that does the job.

Never happened to my system since i set it up in 2021, so i have no idea what you’re talking about. Any version of truenas i ran (and i ran from the first scale beta to the current version) didn’t overwrite any bios fan settings on my system.

Well, then I must have done something wrong…

That does sound kind of familiar but hey, my memory is old.

Hum… I do not have that experience either. My BIOS controls all my fans, TrueNAS does not. Maybe it is only motherboards that do not have IPMI who have this issue?

My Motherboard doesn’t have ipmi, but maybe it’s dependend on the manufacturer or the chipset

Well, I will soon rebuild my NAS with my Supermicro X9DR3-F motherboard and will find it out.

There is a way to control Supermicro fans via the ipmitool and I do it for my A2SDI-8C-HLN4F model. The key is that the fans need to be configured in Full Speed mode in the IPMI GUI (because I couldn’t remember how to do it from the CLI ipmitool). to begin with.

Once in that mode, you can manually set the speed to whatever you like. For example, in my old Supermicro chassis, running three front fans (from a single PWM output) and two rear fans (from two independent PWM outputs), I use the following command in the TrueNAS SSH shell:

ipmitool -I lan -U <IPMI_login_name> -H 192.168.1.112 raw 0x30 0x70 0x66 0x01 0x00 0x10

It’ll ask you for the IPMI user’s password and once that’s entered, you’re all done.

The last hex value is the one that actually controls the fan speed across all three PWM outputs for me, basically a proportion of the fan’s maximum capable speed. There are two designations of fans - CPU and peripheral. I think CPU is 0x00 and peripheral is 0x01. That designation is the second last hex value in that command. For my board, because there is no actual CPU fan (it’s just a heatsink permanently attached to the Atom CPU), I think the CPU fan designator 0x00 is solely for the peripheral fans anyway, which is all the fan headers are made for. The peripheral fans then help with the airflow passing through the heatsink on my board.

If you want more info for your Supermicro and what others have discovered, this link is where I got my information from: GitHub - zimmertr/Supermicro-X10-Fancontrol: A script to dynamically set the fan speed of a Supermicro X10 server · GitHub

It seems to fit for most modern Supermicro models but there may be some older exceptions to that rule.

1 Like