Monday, June 16, 2008

Sun Fire X4600 and ILOM update

A few weeks ago, I have to prepare another Sun Fire X4600 M2 servers for our customer. The configuration was quite straightforward. Anyway, I had to solve a little pitfall with server ILOM and BIOS update. Let's take a look at it.

The servers were preinstalled with ILOM/BIOS from Sun Fire X4600 M2 Software 2.0 (or SW2.0) which was released during May, 2008. This release contains ILOM version and BIOS version 87. At this time, I decided to downgrade it. Why? According to the EIS standard the new version wasn't included on the latest EIS DVD yet. There is only SW1.3a. I managed the downgrade via ILOM web interface from Maintenance menu.

I'm aware of the fact that the ILOM and BIOS are dependent on each other. It is like with ALOM and OBP on SPARC. But I was not aware of the fact that when I begin the downgrade process then only ILOM will be downgraded. So before the downgrade the ILOM was at version and BIOS at 87, after it the ILOM was at and BIOS still at 87. However, the BIOS should be at 50.

The effect of the previous unsuccessful downgrade was that I wasn't able to power the server off from the ILOM console correctly. Finally, when I unplugged all power cords and then returned them back and powered the server on the POST wasn't initialized and I wasn't able to access the BIOS menu. The server was suddenly unusable. The following screenshot shows the power off issue:

It seems that ILOM at version and BIOS at 87 are not friends. You can try to do the backward upgrade. But in my situation it didn't help. It looked like the BIOS was changed somehow. Even when I upgraded to the original ILOM the server was still dead. This led me to the opinion that BIOS is upgradable only in one direction - to the higher versions, naturally.

Unfortunately, you can install so-called force-recovery jumper P19 at the mainboard. The official documentation is here. In my opinion, it causes deactivation of the BIOS version check during the update. Here is a list of steps I did:
  1. I powered the server off.
  2. I installed the P19 jumper.
  3. I powered the server on.
  4. I was waiting until the service led was on and the locate button began blinking for a couple of seconds (five?).
  5. When they stopped blinking I powered the server off, removed the jumper and powered it on.
Applying the five steps above leads to the BIOS force recovery activation. When I repeated the update process the BIOS version became "unknown". The BIOS was flashed successfully and server started working again. The following two screenshots show the state before the update with force-recovery applied and after the update:


Ben said...

I've had a vaguely similar issue this morning (very vaguely). I was on SP 1.1.8/BIOS 50 and decided to move to 101 to see if it fixed a minor problem of the SP event log being filled with minor KCS messages.

Unfortunately while the .ima verified correctly and the SP would upgrade to the BIOS update would always fail. Repeated attempts would either result in the SP web GUI hanging on verifying the .ima file or the BIOS being listed as "unknown" (as one of your screenshots shows) previous to (failed) update.

As I was at the end of the the downtime window I had to bring the box up as SP / BIOS 50, which worries me somewhat. I've yet to find any information on why the BIOS update would fail and whether my machine is now primed to explode at any moment.

Suggestions are welcome. I have a call open with Sun.

Gustavo said...

Hello, I'm new with x64 sun hardware and I'm trying to get the ILOM/BIOS version and LSI Firmware version on my new X4600 M2 server.

When I logged into the ILOM, I can get the ILOM version.

Do you know how to get LSI firmware and BIOS version without rebooting the server?

thank you!!

Gustavo Tazzoli said...


I'm new with sun x64 hardware and I'm trying to get the LSI and BIOS version.

When I logged into the ILOM I can get the ILOM version.

do you know how can I get the BIOS and LSI version without rebooting the server?

I'm on talking about X4600 M2 server family.

thank you!!

David Sumsky said...

Hello, I am aware of two ways only how to find it out. You need to boot the LSI HBA firmware update bootable ISO image. Or you can check it during server boot. Without server reboot, I'm not sure. If you are using GNU/Linux, the LSI HBA kernel module should export some information related to it. It may be available in /proc somewhere. Or it can be under /sys as well.