Skip to content

Commit

Permalink
Merge pull request #19 from TheOddball/main
Browse files Browse the repository at this point in the history
Documentation changes

Sorry for the delay on merge Thanks for contributing 👍
  • Loading branch information
That-Guy-Jack authored Jul 23, 2022
2 parents 4803761 + f49e2c4 commit f73a800
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 32 deletions.
71 changes: 39 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,64 @@
# HP-ILO-Fan-Control
# HP-iLO-Fan-Control

**Scripts are available for Linux and ESXi!**

Allows a Simple Fan Curve to be set using the custom ROM made by u/phoenixdev on Reddit. (linked below)
This repo contains all of the required files! :)

This repo contains all the required files! :)

All you need to run is the commands below.

### Currently, the scripts are only for Linux!
~~ESXi Support is in the works!~~ Thanks to @thomaswilbur For making the ESXI verstion of the script! - see EXSI readme
## BEFORE PROCEEDING

## STEPS:
**READ `SECURITY-SWITCH.MD`, IT INCLUDES A LOT OF INFORMATION.**

1. Switch ILO into maintainance mode, then reboot. (On the DL360 G8, this is located near the backplane connectors to the motherboard.)
## Installation

2. Download the `install.sh` script and run it. This will download all required files and move them, installs the `autofan.service`, and downloads the correct `autofan.sh` based on your input ready to be edited. If you are an advanced user, you can install everything sperately.
(Download using `wget https://raw.githubusercontent.com/That-Guy-Jack/HP-ILO-Fan-Control/main/Install.sh`)
1. Switch iLO into maintenance mode, then reboot. (On the DL360 G8, this is located near the backplane connectors to the motherboard.)

3. Run the `prep.sh` in the `ilo_250` folder. If this errors it may be beacuse the ILO isnt it maintainance mode. (You may need to run this script as root.)
>
2. Download the `install.sh` script and run it. This will download all required files and move them, installs the `autofan.service`, and downloads the correct `autofan.sh` based on your input ready to be edited. If you are an advanced user, you can install everything separately.
(Download using `wget https://raw.githubusercontent.com/That-Guy-Jack/HP-ILO-Fan-Control/main/Install.sh`)

./flash_ilo4 --direct

(When flashing the fans spin up to 100%, so be prepared)

3. Run the `prep.sh` in the `ilo_250` folder. If this errors, it may be because the iLO isn't it maintenance mode. (You may need to run this script as root. When flashing the fans spin up to 100%, so be prepared)

4. Once the flash has completed, shut down your system and unplug it. Make sure to switch ILO back out of maintainance mode.
4. > ./flash_ilo4 --direct
5. Configure `autofan.sh` in the / directory. Replace your password, your username, and your ILO ip with the correct info. Once done, save and exit.
5. Once the flash has completed, shut down your system and unplug it. Make sure to switch iLO back out of maintenance mode.

6. Run `systemctl daemon-reload` and `systemctl start autofan` to activate the service.

7. Create a crontab command to start the systemd service on startup: `@reboot systemctl start autofan`.
7. Run `systemctl enable autofan` to start the service on reboot.

8. Enjoy silence! :) And if that’s too fast or too slow, edit `autofan.sh` to your needs.

8. Enjoy silence! :) And if thats toO fast or slow, edit the autofan.sh to your needs.
## Tested Servers

### 1U Servers

# Tested Servers:
## 1U Servers:
DL360p Gen8
## 2U Servers:

### 2U Servers

DL380p Gen8

DL380p Gen9

DL80 Gen9 - Tested by @rootless4real

# Notes
## Notes

- I recommend especially for the DL360 to add a small 40mm fan to the RAID controller to keep it cool.
- If you have the fan script working on a different server than what's listed in the tested server section, create a issue and I'll add it.
-
- If you have the fan script working on a different server than what's listed in the tested server section, create an issue and I'll add it.

### To-do

- [x] Create a Script to Install and Create fan control scripts
- [x] Allow easier input of ILO pramaters
- [x] Make ESXI friendly version - Big thanks to @thomaswilbur for making the script and @TannerFilip for making a easier to use script!
- [ ] Add info about the security switch
- [ ] Allow users to input ILO paramaters when using `install.sh`
- [x] Make the install.sh script have fun colours :D - added thanks to @TannerFilip

### Links and other stuff
Original Reddit post: https://www.reddit.com/r/homelab/comments/hix44v/silence_of_the_fans_pt_2_hp_ilo_4_273_now_with/
- [x] Allow easier input of iLO parameters
- [x] Make ESXI friendly version - Big thanks to @thomaswilbur for making the script and @TannerFilip for making the script easier to use!
- [x] Add info about the security switch
- [x] Allow users to input iLO parameters when using `install.sh`
- [x] Make the install.sh script have fun colors :D - added thanks to @TannerFilip

### Links and other stuff

Original Reddit post: <https://www.reddit.com/r/homelab/comments/hix44v/silence_of_the_fans_pt_2_hp_iLO_4_273_now_with/>
67 changes: 67 additions & 0 deletions SECURITY-SWITCH.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# About the iLO Security Override Switch

The iLO security override switch allows the user of the iLO enabled system to take complete control over their iLO instance. Setting the switch disables user authentication on the iLO, allowing anyone to log-in with `Administrator` and a blank password. The iLO security override switch also allows the user to flash an iLO version that is lower than the current version, or an unsigned version. This is useful for us, as it allows us to flash the modified firmware onto the iLO, allowing us to take control of the fan speeds.

## DISCLAIMER

By setting this switch, and proceeding to flash the firmware onto the iLO, it is possible that you render your iLO chip inoperable. If this occurs, you will need to replace the motherboard on the server in particular. By flashing a custom firmware onto iLO, if you happen to have an HPE warranty on the server in question, expect that warranty to be voided. While this method is preferred to any hardware modifications, it is not without risk. Please tread carefully as you read the instructions, do not glance over them.

## OFFICAL HPE DOCUMENTATION

iLO Security Override Switch

The iLO Security Override Switch grants the administrator full access to the iLO processor. This
access might be necessary for any of the following conditions:

• iLO has been disabled and must be re-enabled.

• All user accounts that have the Administer User Accounts privilege are locked out.

• An invalid configuration prevents iLO from being displayed on the network, and iLO RBSU
or the iLO 4 Configuration Utility is disabled.

• The boot block must be flashed.

• The iLO NIC is turned off, and running iLO RBSU or the iLO 4 Configuration Utility to turn it
back on is not possible or convenient.

• Only one user name is configured, and the password is forgotten.

Ramifications of setting the iLO Security Override Switch include the following:

• All security authorization verifications are disabled when the switch is set.

• iLO RBSU or the iLO 4 Configuration Utility runs if the host server is reset.

• iLO is not disabled and might be displayed on the network as configured.

iLO, if disabled when the switch is set, does not log out the user and complete the disable
process until the power is cycled on the server.

• The boot block is exposed for programming.

• A warning message is displayed on iLO web interface pages, indicating that the switch is
currently in use.

• An iLO log entry records the use of the switch.

When iLO boots after you set or clear the iLO Security Override Switch, an SNMP alert is sent if
an SNMP Alert Destination is configured.

Setting the iLO Security Override Switch enables you to flash the iLO boot block. HP does not
anticipate that you will need to update the boot block. However, if an update is required, you must
be physically present at the server to reprogram the boot block and reset iLO. The boot block is
exposed until iLO is reset. For maximum security, HP recommends disconnecting iLO from the
network until the reset is complete. You must open the server enclosure to access the iLO Security
Override Switch.

To set the iLO Security Override Switch:

1. Power off the server.

2. Set the switch.

3. Power on the server.

Reverse this procedure to clear the iLO Security Override Switch.

0 comments on commit f73a800

Please sign in to comment.