kendallgoto / ilo4_unlock

A toolkit for patching HPE's iLO 4 Firmware with access to previously inaccessible utilities
GNU General Public License v3.0
356 stars 46 forks source link

Patches for iLO 5 #14

Open kendallgoto opened 10 months ago

kendallgoto commented 10 months ago

Bringing patches to iLO 5 is important to continue to provide reusable hardware in non-enterprise settings as iLO 5 systems reach the end of their usable life in enterprise and fall into the reuse market.

Here's a summary of what I know:

razvanphp commented 7 months ago

From Billthe4th user on redit, it seems this is way easier on OEM iLO5:

curl --request PATCH --url 'https://<iLO address>/redfish/v1/Chassis/1/Thermal/' --user '<iLO Username>:<password>' --header 'content-type: application/json' --insecure --data '{"Oem": {"Hpe": {"FanPercentAdjust": 50}}}'

Related to the discussion on #12, wondering if we can backport this into the REST API of iLO4 and make it work on latest firmware as well.

{"Messages":[{"MessageArgs":["Hpe"],"MessageID":"Base.0.10.PropertyUnknown"}],"Type":"ExtendedError.1.0.0","error":{"@Message.ExtendedInfo":[{"MessageArgs":["Hpe"],"MessageID":"Base.0.10.PropertyUnknown"}],"code":"iLO.0.10.ExtendedInfo","message":"See @Message.ExtendedInfo for more information."}}

You can play with it here: https://ilorestfulapiexplorer.ext.hpe.com/

kendallgoto commented 7 months ago

it's worth investigation, but generally FanPercentAdjust does not allow for very good control of the fans on iLO 5 systems. I run iLO 5 blades and was generally not impressed with the noise reduction from merely this command. It's not terribly loud, and iLO 5 systems are quieter in general, but it isn't free control of your system, which is ultimately the goal. Plus, certain use cases (e.g. using non-supported HPE cards) are not compatible with a mere API-level adjustment.

On iLO4, I think it would be easier to port the fan subsystem or a lightweight fan control than to try to port an API endpoint with unknown intentions. However, from what I can recall, my more recent investigations on iLO4's latest versions suggested that a lot of the code was migrated towards a derivative of the iLO5 code base, or so it seemed. So it may be trivial.