Most HP Servers ship with an out-of-band management tool called iLO (Integrated Lights Out).
This tool works wonderful for remotely accessing your system, bios, post screens, remote media and troubleshooting.
Pitfalls
iLO is not without its faults, however, buggy firmware, Internet explorer dependency, Java compatability and so on make it a bit cumbersome to use in today’s mixed OS environments. Luckily some of these issues are fixed by HP with firmware updates, but a broken web interface that will not let you upload a firmware image is less than helpful… it is down right annoying.
So what are you to do if you have the right voodoo of Internet Explorer, Windows, and Java? Well luckily we do not need a browser to perform a firmware update.
Preparing iLO for remote access
We need to use the command line to perform these updates. Don’t worry even if you are not a command line ninja you can handle these simple instructions.
First thing we need to do is enable SSH / Telnet. In our test server we were upgrading SSH refused to work. So we enabled telnet. Remember that telnet is not secure. This does not mean that you can not use it. Just that you should be aware that if it is exposed on an untrusted network, someone can snoop your password and username. Securing your environment is for another post. Today its about access, and sometimes that means you need to relax a some security settings to get the job done. Thats what happened in our testing.
After you login to your iLO navigate to the Administration tab. (Its located on the top far right)
Select Access from the Settings sub menu on the left sidebar. Enable SSH and or Telnet as shown below.After you click the Apply button your iLO may restart itself in order to enable the ports.
Upgrading via the CLI
In our example we will be upgrading an HP iLO-2 with firmware 1.82 to 2.227.
Our iLO is located at IP address 10.10.10.10 for this example, replace that IP address with whatever IP address your iLO has.
If you are using Windows, you can use putty to perform SSH connections. On Mac and Linux computers simply open your terminal.
ssh [email protected] -v
or if you are using telnet, this will work on Windows, Linux, and Mac OSX without any additional software.
Open the terminal on your Mac, or Linux computer. On windows open the command prompt.
telnet 10.10.10.10 23
Once you have entered your password you will be at the iLO prompt. issue the command show. Before you do though take note of the current firmware version highlighted below in red.
$ telnet 10.10.10.10 23 Trying 10.10.10.10... Connected to iloxxxxxxxx.home.lan. Escape character is '^]'. Login Name: Administrator Password: ******** User:Administrator logged-in to ILOxxxxxxxx.home.lan(10.10.10.10) iLO 2 Advanced 1.82 at 13:44:57 Mar 31 2010 Server Name: iLO-SVR-NAME Server Power: On </>hpiLO-> show
You will be presented with the following output.
</>hpiLO-> show status=0 status_tag=COMMAND COMPLETED / Targets system1 map1 Properties Verbs cd version exit show set </>hpiLO-> cd map1/firmware1
you can use the cd command to change folders. Above you will notice that we changed to the firmware1 folder located in the map1 folder. There is much more information available in the maps section if you want to explore.
You can check the installed firmware version by typing show while in the firmware1 folder.
</map1/firmware1>hpiLO-> show
status=0
status_tag=COMMAND COMPLETED
/map1/firmware1
Targets
Properties
version=1.82
date=03/31/2010
Verbs
cd version exit show load set
</map1/firmware1>hpiLO->
Now lets load the new firmware. This MUST be the extracted .bin format. HP makes it a bit of a chore to extract the .bin file from there .exe installers, lucky for us the good folks over at pingtool have done this for us and have made them available online to download. You can get the firmware for your version of iLO here: http://pingtool.org/downloads
Note there is a space between load and -source
</map1/firmware1>hpiLO-> load -source http://pingtool.org/downloads/ilo2_227.bin
status=0
status_tag=COMMAND COMPLETED
</map1/firmware1>hpiLO->
This is where things get a little confusing. In our testing the command returned immediately. There is no indication of what is going on at this point, so just wait a little while. or run the show command if you like.
The firmware is being downloaded, and then verified by the iLO. It then gets applied and will automatically restart the iLO. When this happens you will be disconnected from your telnet or ssh session. There is no status or notification of what is going on!
</map1/firmware1>hpiLO-> Connection closed by foreign host.
The disconnected session should indicate that the iLO is rebooting. So lets log back in
$ telnet 10.10.10.10 23 Trying 10.10.10.10... Connected to iloxxxxxxxxx.home.lan. Escape character is '^]'. Login Name: Administrator Password: ******** User:Administrator logged-in to ILOxxxxxxxxxxxx.home.lan(10.10.10.10) iLO 2 Advanced 2.27 at 13:06:18 Jan 27 2015 Server Name: ILO-SERVER-NAME Server Power: On </>hpiLO-> show map1/firmware1 status=0 status_tag=COMMAND COMPLETED /map1/firmware1 Targets Properties version=2.27 date=01/27/2015 Verbs cd version exit show load set </>hpiLO->
SUCCESS!! The firmware has now been updated to the current version.
I hope this has helped you either by pass some of the bugs with iLO and browser issues, or just because you do not use IE.
Ben has been building VoIP solutions for over 15 years, has over 25 years of Linux administration experience, and enjoys problem-solving. When he is not coding something in Python, or tinkering with some project, you can often find him wandering through the forests and parks of the Pacific Northwest enjoying waterfalls, trails, and animals.