LSI_HBA_Cards

2023/04/02

Categories: technology Tags: tech linux

LSI HBA adapter notes - Background

If you want to add significant amounts of storage to your computer, you may find that getting a decent SATA controller for a good price is pretty challenging. I’ve had some success with these, but have also found some of them a bit flaky or very expensive. However, it turns out that LSI based adapter cards for SAS drives offer a very performant option, for not a lot of money.

I’ve bought two of these, the first was pretty much plug and play, I think an IBM H1110, already in IT mode: https://www.ebay.co.uk/itm/124168996493 Once I got the right cables to connect it to SATA drives.

lspci output: 28:00.0 RAID bus controller: Broadcom / LSI SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)

The second one I bough more recently gave me some problems. Sold as an HP H220 card, I was initially a bit disappointed:

I’m going to collect here some of the resources that I found helpful, and then summarise the specific things I needed to do with my own card.

Guides and Documentation

Collecting here some good resources, and how I used them.

Specific steps for HP HBA card

The guides above are where you’re likely to find your solution, however just in case the specifics of my case are relevant, here are a couple of high level observations.

The card did come with an IT mode firmware, and as far as I could tell, it was already an LSI firmware (as opposed to an HP OEM firmware). This simplifies the process when compared to the true cross-flashing process described in the “Detailed Guide” above.

The card was labelled as an SAS9205-8i, and I downloaded the relevant firmware from here. Note that this is a 9205-8e firmware, while the card is labelled 9205-8i. I expected this to work, and I could not find an 8i firmware in the database.

I tood a dead end trying to set up a FreeDOS boot-drive to run the relevant tools. As my MBoard is UEFI booting, this could not work (this is very obvious I’m sure). I didn’t spend long trying to switch the MBoard to legacy booting as that was not straightforward.

The EFI-boot guide above was very helpful in switching tack to using the EFI tools. The guide is redundant, but in any case it worked fine. Unfortunately I hit problems trying to sas2flash the firmware on to the board.

LSI Corporation SAS2 Flash Utility
Version 10.00.00.00 (2011.05.13) 
Copyright (c) 2008-2011 LSI Corporation. All rights reserved 

	Advanced Mode Set

	Adapter Selected is a LSI SAS: SAS2308_2(Rev 5)

	Executing Operation: Flash Firmware Image

		Firmware Image has a Valid Checksum. 

		Firmware Image compatible with Controller. 

		Valid NVDATA Image found. 

		ERROR: NVDATA Image does not match Controller Chip Revision! 
		       NVDATA Chip Revision Range: 0x1 to 0x3 
		       Controller Chip Revision: 0x5 

		Firmware Image Validation Failed! 

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

I later discovered that there are also Linux native versions of sas2flash. They gave me the same error as the EFI version. Trying different versions of the flashing tool (e.g. going back to P12 an P14) were no more successful (apparently some of the older versions are less picky about the specifics of the board, which can help when making the jump from OEM firmware to the first LSI firmware.

Finally, after looking more at the HP links above, and a bit emboldened by the reassurances in the Detailed Guide on how salvagable almost all outcomes are, I decided to just try another “credible” firmware. I downloaded the 9207-8i firmware, and this finally worked!

sudo ./sas2flash -c 0 -o -f ../../9207_8i_Package_P20_IR_IT_FW_BIOS_for_MSDOS_Windows/Firmware/HBA_9207_8i_IT/9207-8.bin

I cannot of course vouch for the suitability of this firmware, however it has been working fine for me so far, and some of the discussion above seems to indicate that HP has been very slapdash in the labelling and naming of cards.

To-do

replacing or removing the BIOS to speed up boot. First try, from the linux command line tool (P14) was not successful, but I haven’t pursued it further.

>> Home