Jump to content

How to control HPE iLO Fan Speed (iLO 4, Gen 8~9)


Recommended Posts

Hello! I wanted to write an abbreviated guide for this, as controlling fan speed on this HPE box felt like quite the daunting task! This guide will apply to the majority of gen 8 and 9 HPE servers. I have an ML350 Gen 9 myself.

 

Here are the steps, although some are complex and I am linking to guides (hurray guides within guides!):

  1. Update and flash a modified version of iLO 2.77. This is a whole separate guide in and of itself, which I will link below. I highly suggest grabbing the pre-patched rom, and flashing with a live ubuntu image (or similar distro) to save some fuss.
    1. Guide: https://www.reddit.com/r/homelab/comments/sx3ldo/hp_ilo4_v277_unlocked_access_to_fan_controls/
    2. Direct link to install guide: https://www.reddit.com/r/homelab/comments/hix44v/silence_of_the_fans_pt_2_hp_ilo_4_273_now_with/
    3. Direct link to patched 2.77, in case that link dies: https://mega.nz/file/jBlgTB4R#pBrlDteBgmzr9zltSGPEWHPFEKuj2mCXWkyDLjyoPSQ
  2. In iLO, create a user account to manage the fans.
    1. Login to iLO > Administration (tab) > User Administration.
    2. Create a new user "ilofanuser". Remember this password!
    3. Remove all 5 permissions, they aren't needed [uncheck: Administer, Remote Console, Virtual Power, Virtual Media, and Configure iLO].
  3. In Unraid, install User Scripts plugin.
    1. You'll need to SSH into iLO to set the fan speed EVERY TIME the server reboots. So we'll use this to schedule a script to make it easier!
  4. Prep SSH authentication. There are two methods:
    1. Option 1: SSH Keys. You can find guides all over. I ran into countless issues and threw my hands up in frustration, but it is the proper option.
    2. Option 2: sshpass (including the password in the script). This is the dummy method, and it's what I went with. Since we disabled all permissions for our ilo account anyway, I felt it was an acceptable risk.
      1. Grab the latest version of sshpass for Slackware from here (ex: sshpass-1.10-x86_64-1cf.txz) https://pkgs.org/download/sshpass
      2. Copy that archive onto your Unraid USB Drive within the "extra" folder. (so it will be "/extra/sshpass-1.10-x86_64-1cf.txz" or whichever version is most recent).
      3. Reboot Unraid. Sshpass is now installed!
  5. Add a new User Script to control fan speed. See below for example using sshpass.
  6. Adjust the auth variables:
    1. Add your IP (ex: 192.168.1.1)
    2. Add your user (ex: ilofanuser)
    3. If you used sshpass, ensure the password is entered AND you keep it in single quotes (ex: 'mypassword')
  7. Adjust the LO and HI values for each set of sensors. You should read more about each sensor, and what they control.
    1. I have broken the sensors into chunks to make things easier to manage for myself (PCI area, HD Controller stuff, Misc, Harddrives)
    2. I heavily suggest you do NOT adjust the CPU nor RAM. In my case, sensors 01-06.
    3. DO NOT BLINDLY COPY THIS SCRIPT. Tweak these values carefully!
      1. My settings are far from perfect.
      2. My settings are based on ample space between each harddrive. If things are cramped, you will need MUCH HIGHER AIRFLOW to keep them in the safezone.
  8. Adjust the PID lists in each loop. These are grouped together based on type, see step 7.1 above for explanation.
  9. If needed, uncomment the "override thresholds" section and ensure the appropriate sensor is here.
    1. This is only needed if you have drives that fail to authenticate, causing HD Max to be too high, and trigger random shutdowns.
    2. DO NOT BLINDLY ENABLE THIS. You are disabling a safety afterall. Only use if you cannot get your drives to auth, and HD Max temp is causing problems.
  10. Save the script, and set it to run at startup of array.
  11. Run it once manually, your fans should drop to a much more agreeable noise level!
  12. Tax your server; ensure fans ramp up appropriately when CPU and/or GPU need it.

 

Script (originally grabbed from the reddit thread linked above, and edited a bunch):

Quote

#!/bin/bash
#Script to reduce fan speeds on ilo4 remotely.
# Install new public key on ilo4 as described here:
# https://ouphe.net/2020/04/05/add-ssh-key-to-ilo4-user-for-authentication/
#HELPFUL INFO
# Use Putty or similar to login from Windows. Reset iLO (iLO > Info > Diagnostics) each time to view. Only first login can see any responses.
# Run "fan info" to get readout

 

 

ILO4=MYIP
ILOUSER=ilofanuser
PASSWORD='MYPASSWORD'
PCILO=1000
PCIHI=5000
HDCLO=500
HDCHI=4000
MISCLO=500
MISCHI=3000
HDMAXLO=100
HDMAXHI=250
HDNOAUTHTEMPCAUT=65
HDNOAUTHTEMPCRIT=70

 

 

#PCI
# Set minima
for PID in 24 25 26 27 28 29 30 31 32 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
do
        sshpass -p $PASSWORD ssh $ILOUSER@$ILO4 -o KexAlgorithms=+diffie-hellman-group14-sha1 -o HostKeyAlgorithms=ssh-rsa -o HostKeyAlgorithms=ssh-dss -o HostKeyAlgorithms=ssh-rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "fan pid $PID lo $PCILO"
done

# Set maxima
for PID in 24 25 26 27 28 29 30 31 32 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
do
        sshpass -p $PASSWORD ssh $ILOUSER@$ILO4 -o KexAlgorithms=+diffie-hellman-group14-sha1 -o HostKeyAlgorithms=ssh-rsa -o HostKeyAlgorithms=ssh-dss -o HostKeyAlgorithms=ssh-rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "fan pid $PID hi $PCIHI"
done

 

 

#HD Controller Systems
# Set minima
for PID in 19 20 21 22 23
do
        sshpass -p $PASSWORD ssh $ILOUSER@$ILO4 -o KexAlgorithms=+diffie-hellman-group14-sha1 -o HostKeyAlgorithms=ssh-rsa -o HostKeyAlgorithms=ssh-dss -o HostKeyAlgorithms=ssh-rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "fan pid $PID lo $HDCLO"
done

# Set maxima
for PID in 19 20 21 22 23
do
        sshpass -p $PASSWORD ssh $ILOUSER@$ILO4 -o KexAlgorithms=+diffie-hellman-group14-sha1 -o HostKeyAlgorithms=ssh-rsa -o HostKeyAlgorithms=ssh-dss -o HostKeyAlgorithms=ssh-rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "fan pid $PID hi $HDCHI"
done

 

 

#MISC - Chipset, iLO Chips, Exhaust and Intake, OCSD
# Set minima
for PID in 33 34 35 36 46 62 63 64 65
do
        sshpass -p $PASSWORD ssh $ILOUSER@$ILO4 -o KexAlgorithms=+diffie-hellman-group14-sha1 -o HostKeyAlgorithms=ssh-rsa -o HostKeyAlgorithms=ssh-dss -o HostKeyAlgorithms=ssh-rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "fan pid $PID lo $MISCLO"
done

 

# Set maxima
for PID in 33 34 35 36 46 62 63 64 65
do
        sshpass -p $PASSWORD ssh $ILOUSER@$ILO4 -o KexAlgorithms=+diffie-hellman-group14-sha1 -o HostKeyAlgorithms=ssh-rsa -o HostKeyAlgorithms=ssh-dss -o HostKeyAlgorithms=ssh-rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "fan pid $PID hi $MISCHI"
done

 

 

#Special - HD Max
# Set minima
for PID in 07
do
        sshpass -p $PASSWORD ssh $ILOUSER@$ILO4 -o KexAlgorithms=+diffie-hellman-group14-sha1 -o HostKeyAlgorithms=ssh-rsa -o HostKeyAlgorithms=ssh-dss -o HostKeyAlgorithms=ssh-rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "fan pid $PID lo $HDMAXLO"
done

# Set maxima
for PID in 07
do
        sshpass -p $PASSWORD ssh $ILOUSER@$ILO4 -o KexAlgorithms=+diffie-hellman-group14-sha1 -o HostKeyAlgorithms=ssh-rsa -o HostKeyAlgorithms=ssh-dss -o HostKeyAlgorithms=ssh-rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "fan pid $PID hi $HDMAXHI"
done

 


#Override Thresholds due to unauthenticated drives
# Set caution
#for PID in 07
#do
#        sshpass -p $PASSWORD ssh $ILOUSER@$ILO4 -o KexAlgorithms=+diffie-hellman-group14-sha1 -o HostKeyAlgorithms=ssh-rsa -o HostKeyAlgorithms=ssh-dss -o HostKeyAlgorithms=ssh-rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "fan t $PID caut $HDNOAUTHTEMPCAUT"
#done

# Set critical
#for PID in 07
#do
#        sshpass -p $PASSWORD ssh $ILOUSER@$ILO4 -o KexAlgorithms=+diffie-hellman-group14-sha1 -o HostKeyAlgorithms=ssh-rsa -o HostKeyAlgorithms=ssh-dss -o HostKeyAlgorithms=ssh-rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "fan t $PID crit $HDNOAUTHTEMPCRIT"
#done

 

Edited by Abbie Doobie
  • Like 2
  • Upvote 1
Link to comment
  • 9 months later...

Can anyone help me with this problem on my Proliant ML350 Gen10 running iLo 5?  This server is driving me AND my entire family nuts with the noise.

 

I would greatly appreciate it! in fact I would even monetarily "tip" someone if they could walk me through it!

 

Michael 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...