FloFaber.com

HPE H221 SAS HBA cards

I'm migrating my storage from a power hungry, slow and unreliable old Promise Vessraid 1840i to a not so power hungry, faster and more reliable Dell Powervault MD1200. Therefore I bought a SAS HBA card. A HPE H221 to be exact, or to be not exact as it turns out.

The difference between H221 and H221

Yes, you read that right, a HPE H221 comes in two different models. One is really a LSI 9207-8e and the other one is a LSI 9205-8e. 8e means that it has 8 external SAS lanes. They both provide the same features and have 2 SAS 8088 ports, the real difference is that the 9207 has PCIe 3.0 while the 9205 has PCIe 2.0. Still they are sold with the same name and I ask myself why they do this. It's neither necessary nor useful, it's just confusing. They could have selled them as H221a/H221b or something but they didn't, so here we are.

Upgrading Firmware

You can only flash the firmware with sas2flash version P14! All newer versions will fail with ERROR: NVDATA Image does not match Controller SubSystem ID!. Apparently this is a check which is only performed by newer versions of sas2flash.

You could encounter another error when flashing the wrong firmware: ERROR: NVDATA Image does not match Controller Chip Revision!. In that case you may try just to flash another firmware as there is no easy way to check if the card is a 9205-8e or 9207-8e.

Full Error Output
# ./sas2flash_p20/sas2flash -c 0 -f ../firmware/p20/9205-8e.bin
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18) 
Copyright (c) 2008-2014 LSI Corporation. All rights reserved 

    Adapter Selected is a LSI SAS: SAS2308_2(B0) 

    Executing Operation: Flash Firmware Image

        Firmware Image has a Valid Checksum. 
        Firmware Version 20.00.07.00
        Firmware Image compatible with Controller. 

        Valid NVDATA Image found. 
        NVDATA Version 14.01.00.00 
        Checking for a compatible NVData image... 

        NVDATA Device ID and Chip Revision match verified.
        ERROR: NVDATA Image does not match Controller SubSystem ID! 
               NVDATA Subsystem ID: 0x3000 
               Controller Subsystem ID: 0x42 

        ERROR: No compatible NVDATA Image(s) found! 

        Firmware Image Validation Failed! 

    Due to error remaining commands will not be executed.
    Unable to Process Commands.
    Exiting SAS2Flash.

What you need

  • sas2flash version P14 for your OS
  • Firmware for both 9205-8e and 9207-8e if you are not 100% sure what you have

Grab them from the Broadcom Site.

Here are some direct links in case you need them:

  • sas2flash for Linux P14 / P20
  • sas2flash for Windows P14 / P20
  • LSI 9205-8e Firmware P14 / P20
  • LSI 9207-8e Firmware P14 / P20

Download the sas2flash utility and firmware matching your OS/card. I'm performing the firmware update using Linux.

How to check/flash firmware

First you need to make sure sas2flash is actually working. Execute it with the -listall parameter:

./sas2flash_p14/sas2flash -listall

You should see something like this:

# ./sas2flash_p14/sas2flash -listall
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved

    Adapter Selected is a LSI SAS: SAS2308_2(B0)

Num   Board Name        FW Ver        NVDATA        x86-BIOS
-----------------------------------------------------------------

0  H221             20.00.07.00    14.01.00.09    07.39.02.00

    Finished Processing Commands Successfully.
    Exiting SAS2Flash.

Actually flashing the firmware image

# ./sas2flash_p14/sas2flash -c 0 -f ./firmware/p20/9205-8e.bin
LSI Corporation SAS2 Flash Utility
Version 10.00.00.00 (2011.05.13)
Copyright (c) 2008-2011 LSI Corporation. All rights reserved

    Adapter Selected is a LSI SAS: SAS2308_2(B0)

    Executing Operation: Flash Firmware Image

        Firmware Image has a Valid Checksum.

        Firmware Image compatible with Controller. 

        Valid NVDATA Image found. 

        NVDATA Device ID and Chip Revision match verified.
        NVDATA Versions Compatible.
        Valid Initialization Image verified.
        Valid BootLoader Image verified.

        Beginning Firmware Download...
        Firmware Download Successful.

        Verifying Download...

        Firmware Flash Successful!

        Resetting Adapter...
        Adapter Successfully Reset.

    Finished Processing Commands Successfully.
    Exiting SAS2Flash.

done. If you encounter any issues or have something else to contribute please let me know or post a comment below.

Thanks to that guy's blogpost!