Upgrading HP iLO Firmware without a browser

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.iLO SettingsAfter 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 Administrator@10.10.10.10 -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.