Simple method to significantly reduce noise from an R710 without modifying the hardware

My Dell PowerEdge R710 is running VMware ESXi. I downloaded the Debian 12 ISO and used it to create a new virtual machine. Within 15 minutes, I had a fully operational Debian server. During the installation process, I opted to enable SSH. Once the installation was complete, I accessed the server remotely using PuTTY.

After some trial and error, along with extensive research, I identified a set of commands that effectively reduce the fan speed on the R710, significantly lowering its noise level. These commands are applicable to a Debian-based server; however, different Linux distributions may require slight modifications. For this setup, I specifically used Debian 12.

download install the ipmitools application:

sudo apt install ipmitool

verify you can connect – should return some info about your server:

ipmitool -H 192.168.2.22 -I lanplus -U root -P calvin mc info 

disable automatic control of fans:

ipmitool -H 192.168.2.22 -I lanplus -U root -P calvin raw 0x30 0x30 0x01 0x00 

fans @ 2%:

ipmitool -H 192.168.2.22 -I lanplus -U root -P calvin raw 0x30 0x30 0x02 0xff 0x02 

fans @ 3%:

ipmitool -H 192.168.2.22 -I lanplus -U root -P calvin raw 0x30 0x30 0x02 0xff 0x3 

fans @ 4%:

ipmitool -H 192.168.2.22 -I lanplus -U root -P calvin raw 0x30 0x30 0x02 0xff 0x4 

Substitute your credentials for IPMI logon if needed. The default username/password is root/calvin. Change 192.168.2.22 to match the IP address assigned to your iDRAC.

This only lasts until you reboot then the system takes over control of the fans again. So you need to set up some sort of scheduled task to run this if you want it to be automatic.

Here is the script I made and how I set it up to run on startup in Debian

#!/bin/bash

# disable Automatic control of the fans
ipmitool -H 192.168.2.22 -I lanplus -U root -P calvin raw 0x30 0x30 0x01 0x00
# Define IPMI command
ipmitool -H 192.168.2.22 -I lanplus -U root -P calvin raw 0x30 0x30 0x02 0xff 0x15

Save the file with a name, for example, ipmi_script.sh. Make the script executable by running chmod +x ipmi_script.sh. You can then execute the script by running ./ipmi_script.sh in your terminal.

To make the script run on startup, you can add it to the list of scripts executed during system boot.

Copy the Script to a System Directory: Copy your script (ipmi_script.sh in this case) to a directory where system startup scripts are typically stored. Common locations include /etc/init.d/ or /etc/rc.d/. For this example, let’s use /etc/init.d/.

sudo cp ipmi_script.sh /etc/init.d/

Make the Script Executable: Ensure that the script is executable:

sudo chmod +x /etc/init.d/ipmi_script.sh

Create Symlinks: You need to create symbolic links to your script in the directories for different runlevels. You can use the update-rc.d command to do this:

sudo update-rc.d ipmi_script.sh defaults

Test: Reboot your system or manually start the script to verify that it runs as expected during startup.

sudo /etc/init.d/ipmi_script.sh start

After rebooting, your script should run automatically during system startup. Make sure to replace ipmi_script.sh with the actual name of your script if it’s different.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *