Abbie Doobie Posted June 29, 2023 Share Posted June 29, 2023 (edited) 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!): 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. Guide: https://www.reddit.com/r/homelab/comments/sx3ldo/hp_ilo4_v277_unlocked_access_to_fan_controls/ 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/ Direct link to patched 2.77, in case that link dies: https://mega.nz/file/jBlgTB4R#pBrlDteBgmzr9zltSGPEWHPFEKuj2mCXWkyDLjyoPSQ In iLO, create a user account to manage the fans. Login to iLO > Administration (tab) > User Administration. Create a new user "ilofanuser". Remember this password! Remove all 5 permissions, they aren't needed [uncheck: Administer, Remote Console, Virtual Power, Virtual Media, and Configure iLO]. In Unraid, install User Scripts plugin. 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! Prep SSH authentication. There are two methods: 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. 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. Grab the latest version of sshpass for Slackware from here (ex: sshpass-1.10-x86_64-1cf.txz) https://pkgs.org/download/sshpass 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). Reboot Unraid. Sshpass is now installed! Add a new User Script to control fan speed. See below for example using sshpass. Adjust the auth variables: Add your IP (ex: 192.168.1.1) Add your user (ex: ilofanuser) If you used sshpass, ensure the password is entered AND you keep it in single quotes (ex: 'mypassword') Adjust the LO and HI values for each set of sensors. You should read more about each sensor, and what they control. I have broken the sensors into chunks to make things easier to manage for myself (PCI area, HD Controller stuff, Misc, Harddrives) I heavily suggest you do NOT adjust the CPU nor RAM. In my case, sensors 01-06. DO NOT BLINDLY COPY THIS SCRIPT. Tweak these values carefully! My settings are far from perfect. 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. Adjust the PID lists in each loop. These are grouped together based on type, see step 7.1 above for explanation. If needed, uncomment the "override thresholds" section and ensure the appropriate sensor is here. This is only needed if you have drives that fail to authenticate, causing HD Max to be too high, and trigger random shutdowns. 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. Save the script, and set it to run at startup of array. Run it once manually, your fans should drop to a much more agreeable noise level! 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 June 29, 2023 by Abbie Doobie 2 1 Quote Link to comment
Reaper29 Posted April 5 Share Posted April 5 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 Quote Link to comment
Recommended Posts
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.