Tuesday, May 16, 2023

Updating firmware of HPE Smart HBA H240 controller

After updating the firmware on a HPE Smart Array P440 controller, I thought I would try to see if I can do the same for the HPE Smart HBA H240 controller. So I followed more of less the steps here since the firmware is the same.

First, to see what the H240 came with.
ssacli ctrl all show detail
It showed that the firmware was version 1.18... really old.
Smart HBA H240 in Slot 1 (RAID Mode)
   Bus Interface: PCI
   Slot: 1
   Serial Number: PXXXXXXXXXXXXX
   Cache Serial Number: PXXXXXXXXXXXXX
   Controller Status: OK
   Hardware Revision: B
   Firmware Version: 1.18
   Firmware Supports Online Firmware Activation: False
   Wait for Cache Room: Disabled
   Surface Analysis Inconsistency Notification: Disabled
   Post Prompt Timeout: 0 secs
   Cache Board Present: False
   Drive Write Cache: Disabled
   Controller Memory Size: 0.2
   SATA NCQ Supported: True
   Spare Activation Mode: Activate on physical drive failure (default)
   Controller Temperature (C): 65
   Cache Module Temperature (C): 35
   Number of Ports: 2 Internal only
   Encryption: Not Set
   Express Local Encryption: False
   Driver Name: hpsa
   Driver Version: 3.4.20
   Driver Supports SSD Smart Path: True
   PCI Address (Domain:Bus:Device.Function): 0000:07:00.0
   Negotiated PCIe Data Rate: PCIe 3.0 x8 (7880 MB/s)
   Controller Mode: RAID Mode
   Pending Controller Mode: RAID
   Controller Mode Reboot: Not Required
   Port Max Phy Rate Limiting Supported: False
   Latency Scheduler Setting: Disabled
   Current Power Mode: MaxPerformance
   Survival Mode: Enabled
   Host Serial Number: SXXXXXXXXX
   Sanitize Erase Supported: False
   Primary Boot Volume: None
   Secondary Boot Volume: None


So I proceeded to update the firmware by using the same setup command given here. It gave the same prompt and I selected the controller to complete the update process.
Supplemental Update / Online ROM Flash Component for Linux (x64) - Smart Array and Smart HBA H240ar, H240nr, H240, H241, H244br, P240nr, P244br, P246br, P440ar, P440, P441, P542D, P741m, P840, P840ar, and  P841 (7.20), searching...
1) Smart HBA H240 in Slot 1 (1.18)
Select which devices to flash [#,#-#,(A)ll,(N)one]> 1
Flashing Smart HBA H240 in Slot 1 [ 1.18 -> 7.20 ]
Deferred flashes will be performed on next system reboot
============ Summary ============
Smart Component Finished

Summary Messages
================
Reboot needed to activate 1 new FW image

Exit Status: 1
Deferred flashes will be performed on next system reboot
A reboot is required to complete update.


After rebooting, I ran
ssacli ctrl all show detail
again to see
Smart HBA H240 in Slot 1 (RAID Mode)
   Bus Interface: PCI
   Slot: 1
   Serial Number: PXXXXXXXXXXXXX
   Cache Serial Number: PXXXXXXXXXXXXX
   Controller Status: OK
   Hardware Revision: B
   Firmware Version: 7.20
   Firmware Supports Online Firmware Activation: False
   Wait for Cache Room: Disabled
   Surface Analysis Inconsistency Notification: Disabled
   Post Prompt Timeout: 0 secs
   Cache Board Present: False
   Drive Write Cache: Disabled
   Controller Memory Size: 0.2
   SATA NCQ Supported: True
   Spare Activation Mode: Activate on physical drive failure (default)
   Controller Temperature (C): 76
   Number of Ports: 2 Internal only
   Encryption: Not Set
   Express Local Encryption: False
   Driver Name: hpsa
   Driver Version: 3.4.20
   Driver Supports SSD Smart Path: True
   PCI Address (Domain:Bus:Device.Function): 0000:07:00.0
   Negotiated PCIe Data Rate: PCIe 3.0 x8 (7880 MB/s)
   Controller Mode: RAID Mode
   Pending Controller Mode: RAID
   Controller Mode Reboot: Not Required
   Port Max Phy Rate Limiting Supported: False
   Latency Scheduler Setting: Disabled
   Current Power Mode: MaxPerformance
   Survival Mode: Enabled
   Host Serial Number: SXXXXXXXXX
   Sanitize Erase Supported: True
   Primary Boot Volume: None
   Secondary Boot Volume: None


I tried to then set the controller to IT mode, but
ssacli controller slot=1 modify hbamode=on forced
gave me an error instead
Error: hbamode is not supported on this controller.

So I searched around and found this command
ssacli controller slot=1 modify raidmode=off forced
which worked. After rebooting and running
ssacli ctrl all show detail 
I got this
Smart HBA H240 in Slot 1
   Bus Interface: PCI
   Slot: 1
   Serial Number: PXXXXXXXXXXXXX
   Cache Serial Number: PXXXXXXXXXXXXX
   Controller Status: OK
   Hardware Revision: B
   Firmware Version: 7.20
   Firmware Supports Online Firmware Activation: False
   Cache Board Present: False
   Controller Temperature (C): 78
   Number of Ports: 2 Internal only
   Driver Name: hpsa
   Driver Version: 3.4.20
   HBA Mode Enabled: True
   PCI Address (Domain:Bus:Device.Function): 0000:07:00.0
   Negotiated PCIe Data Rate: PCIe 3.0 x8 (7880 MB/s)
   Controller Mode: HBA
   Pending Controller Mode: HBA
   Controller Mode Reboot: Not Required
   Port Max Phy Rate Limiting Supported: False
   Current Power Mode: MaxPerformance
   Survival Mode: Enabled
   Host Serial Number: SXXXXXXXXX
   Sanitize Erase Supported: True
   Primary Boot Volume: None
   Secondary Boot Volume: None


Yes! The H240 controller has now been updated to the latest firmware and set in IT mode!

Before firmware update

After firmware update

After setting to IT mode
(which in this case, is disabling RAID mode)

(Don't mind the iLO self-test error, the onboard flash memory is defective, but I can still use iLO and it doesn't really affect the operation of the HPE Proliant Microserver Gen8. If I need to run utilities, I just use iLO to mount the ISO as a virtual CDROM.)

No comments: