Connecting the fans to the operating system on an X11SSH-F

collector

Dabbler
Joined
Nov 10, 2022
Messages
20
Hello, I have a SuperMicro X11SSH-F and I would like to control the fans connected to the motherboard from my operating system, I would no longer like the IPMI to manage the fans.

But the problem is that the fans are not found on the operating system. I installed the "lm-sensors" tool "fancontrol" and run "pwmconfig" but it doesn't find any fan even though they are all PWM fans

How can I make the fans visible on the operating system (Debian) so that I can control them manually?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Since the fans are controlled via the BMC, which does not expose them through any standard fan controller interfaces (e.g. as part of its SuperIO functionality), you must control them via IPMI.
The good news is that it is possible, albeit clunky:
 

collector

Dabbler
Joined
Nov 10, 2022
Messages
20
Thanks for this information, I used the scripts on Debian, the automatic fan control via ipmitool works, but the processor temperature detection does not work with sysctl, as I think the scripts were intended for FreeBSD

Here is the error message I get after running spinpid2.sh :

ksnip_20221124-033254.png

ksnip_20221124-094511.png


These commands do not find the processor temperature because the path does not exist in Debian, however sensors does find the temperature:

sysctl -n hw.ncpu

sysctl -a | grep dev.cpu.0.temperature | wc -l

ksnip_20221124-095346.png


I specify that I can't use ipmitool to find the processor temperature, because IPMI doesn't find the processor temperature anymore, and therefore doesn't manage the fan speed, that's why I wanted to use this very elaborate script, but it doesn't work for me at the moment.

Is it possible to configure another command to make the script work under Debian? If yes, which one?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Some invocation of sensors would seem likely to do the deal, but the man page will have the details you need.
 

collector

Dabbler
Joined
Nov 10, 2022
Messages
20
I replaced the following line in the spinpid.sh and spinpid2.sh scripts that captures the temperature by querying IPMI:

CPU_TEMP=$($IPMITOOL sensor get "CPU Temp" | awk '/Sensor Reading/ {print $4}')

By the following line that captures the CPU temperature by the lm-sensors tool:

CPU_TEMP=$(sensors | awk '/Package id/ {print substr($4,2, length($4) - 6)}')

ksnip_20221127-103431.png


Then I modified all the FreeBSD patches of the scripts, to direct them to the Debian repositories. But first you have to install the smartctl and sysctl dependencies which are on Debian in the gsmartcontrol and statgrab packages, here are the dependencies to install :

sudo apt install gsmartcontrol statgrab lm-sensors

After these modifications, the scripts work with respect to the CPU temperature and the fans are well managed.

But for the management of the hard disk temperature and other information about the hard disks, it doesn't work yet, because I didn't manage to install the "camcontrol" dependency under Debian, maybe I will have to use another tool similar to "camcontrol" under Debian and modify the scripts accordingly. If someone wants to complete my work by adding support for hard drives in the script for Debian, his work will be appreciated.

The modified scripts are available as an attachment to this post
 

Attachments

  • spin-scripts (Debian).zip
    22.8 KB · Views: 84
Last edited:
Top