Info on LSI SAS3408? Got myself a 530-8i on eBay...

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

BLinux

cat lover server enthusiast
Jul 7, 2016
2,687
1,090
113
artofserver.com
I recently found an auction for a Lenovo 530-8i on eBay and got lucky and picked it up for $55. From what I can tell, it is a LSI SAS3408 chipset based MegaRAID controller, similar to LSI 9440-8i. It does appear to have a built-in "JBOD" mode, which I suspect is similar to the "HBA" mode of the SAS3008 megaraid firmware.

this is the information on the chipset i found on Avago's website:

SAS3408 Tri-Mode I/O Controller

and this is the info on the 9440-8i:

MegaRAID 9440-8i

The Avago marketing material likes to mention this Tri-Mode thing, which is SATA+SAS+NVMe (U.2?). But the Lenovo material doesn't mention it much. The Lenovo firmware also seems older. I'm wondering if anyone has tried flashing the Lenovo card to LSI firmware? And is there an LSI IT mode firmware for this chipset?
 

BLinux

cat lover server enthusiast
Jul 7, 2016
2,687
1,090
113
artofserver.com
well, okay.. looks like the HBA 9400-8i is also based on the LSI SAS3408 chipset, so likely this IT mode firmware might work:

https://docs.broadcom.com/docs/9400_8i_Pkg_P7_SAS_SATA_NVMe_FW_BIOS_UEFI.zip

FWIW, here's the MegaRAID firmware:

https://docs.broadcom.com/docs/50.6.0-1375_9440-8i_SAS_MR_FW_IMAGE.zip

In Linux world, it appears to use the mpt3sas driver, but Avago probably has the latest version:

https://docs.broadcom.com/docs/Linux_Driver-RHEL5-6_SLES10-11_GEN35_PHASE_7.0_NVME.zip

And the megaraid driver:

https://docs.broadcom.com/docs/MR_LINUX_DRIVER_7.6-07.706.03.00-1.tgz
 

BLinux

cat lover server enthusiast
Jul 7, 2016
2,687
1,090
113
artofserver.com
The Avago documentation says to use storcli to flash the HBA firmware, which is usually the tool I see used for MegaRAID operations; maybe there's a chance it is easy to do either HBA or MegaRAID if they are using the same tool to flash the firmware?

storcli ref manual:

StorCLI Reference Manual (870 KB)

The firmware flashing instructions are:

storcli /cx download file=filepath [fwtype=] [nosigchk] [noverchk] [resetnow]

The "noverchk" option looks interesting as a way to by-pass checks.
 

nthu9280

Well-Known Member
Feb 3, 2016
1,630
504
113
San Antonio, TX
SAS3108 firmware lets you use it in JBOD mode when there is no cache & BBU. May be they are continuing that in the next generation of RAID controllers too.
 

BLinux

cat lover server enthusiast
Jul 7, 2016
2,687
1,090
113
artofserver.com
:-( ... well, it wasn't as simple as I hoped. running:

storcli /c0 download file=9400_firmware.bin

only resulted in "failed to validate image file". Tried both the Linux and EFI versions and got same results. Tried the noverchk too, and still same result. I'm not sure yet what this message means...
 

BLinux

cat lover server enthusiast
Jul 7, 2016
2,687
1,090
113
artofserver.com
here are some storcli commands that might be useful that I don't see documented anywhere else (yeah, i'm sort of using STH as my notepad here):

storcli /cx show
storcli /cx show all [logfile[=filename]]
storcli /cx show jbod
storcli /cx set jbod=<on|off> [force]
storcli /cx set bios [state=<on|off>] [Mode=<SOE|PE|IE|SME>] [abs=<on|off>] [DeviceExposure=<value>]
storcli /cx show bios
storcli /cx download file=<filepath> [fwtype=<val>] [ResetNow] [nosigchk] [noverchk] [noreset] [force]
storcli /cx flasherase
storcli /cx shutdown
storcli /cx show maintenance
storcli /cx set maintenance mode=normal|nodevices
storcli /cx show personality
storcli /cx set personality=RAID|HBA|JBOD
storcli /cx set personality behavior=JBOD|None
storcli /cx show assemblynumber
storcli /cx set tracernumber= xxxx
storcli /cx show tracernumber
storcli /cx show boardname
storcli /cx set sasadd = xxxx [devicename] [methodport]
storcli /cx set sasaddhi = xxxx sasaddlow = xxxxx [devicename] [methodport]
storcli /cx show sasadd
storcli /cx set updatevpd file=<filepath>
storcli /cx show vpd
storcli /cx erase nvsram
storcli /cx erase fwbackup
storcli /cx erase bootservices
storcli /cx erase all [excludemfg] [file=filename]
storcli /cx erase perconfpage
storcli /cx erase mpb
storcli /cx erase all [file=filename]
storcli /cx download efibios file=<filepath>
storcli /cx download cpld file=<filepath>
storcli /cx download bios file=<filepath>
storcli /cx download fcode file=<filepath>
storcli /cx compare bios ver =<bios version>
storcli /cx compare fwprodid ver =<fw product id version>
storcli /cx compare ssid ver =<ssid version>
storcli /cx compare firmware ver =<firmware version>
storcli /cx get bios file=<filename>
storcli /cx get firmware file=<filename>
storcli /cx get mpb file=<filename>
storcli /cx get fwbackup file=<filename>
storcli /cx get nvdata file=<filename>
storcli /cx get flash file=<filename>

I extracted the Lenovo firmware update package and found that they are using a variant of 9440-8i firmware, which makes sense. It included its own copy of storcli64, but when I looked into the script, it doesn't seem to use storcli, but rather another utility called "lsiStorUpdate". This tool appears to be able to flash both MR (MegaRAID) and IT firmwares, but will not crossflash. Anyone know anything about this lsistorupdate? Google literally only shows one entry:

Updating the ThinkSystem RAID 930-24I expander firmware fails with error - Lenovo ThinkSystem SR650 - us

The above article is interesting in that it shows how to use storcli to downgrade the firmware... which I may try on the 530-8i since mine seems to have come with some "beta" firmware that is several revisions ahead of what's available on Lenovo's website so I haven't been able to even flash Lenovo firmware yet.
 

BLinux

cat lover server enthusiast
Jul 7, 2016
2,687
1,090
113
artofserver.com
@BLinux

Syntax for various LSI utilities is posted as one of the stickies under this section. They are few years old but I think most of it is still valid.
thanks. i'm aware of that thread and many of the storcli commands i posted above were not in that thread. in fact, i can't really find documentation on some of these options. i only found it by running 'storcli help' and combing through the options. i can imagine by the name of the option what they are for, but wish there was definitive documentation. broadcom's ref manual is from 2013, i think before some of these options were available.

in particular, i tried changing personality=HBA or JBOD and it said it could not complete that operation in the current state. I then noticed the "maintenance" option.. i'm wondering if i need to put it in maintenance mode to run certain commands? when I have time, I'll try a few things...

there is so little information about the SAS3408 chipset other than marketing fluff.
 

BLinux

cat lover server enthusiast
Jul 7, 2016
2,687
1,090
113
artofserver.com
also, i have a feeling that some of the flashing attempts aren't working because of non-matching VPD. i need to see if there's a way to change that i think... or trick it. the lsiStorUpdate utility seems to use a file with sub-system identification, firmware file, and version or something like that... i wonder if i can change the the firmware file to trick it into flashing the firmware thinking the sub-system id does match. although, i don't know if then the firmware will run correctly or not with the wrong ssid?
 

Rand__

Well-Known Member
Mar 6, 2014
6,643
1,778
113
Have you managed to crossflash it? Seems they become available more often on fleabay (oc not as cheap as yours) but still interesting...
 
  • Like
Reactions: RedX1

nthu9280

Well-Known Member
Feb 3, 2016
1,630
504
113
San Antonio, TX
@BLinux
Picked one up for about twice as much as you paid but still on par with 3008 gen controllers. So it's not too bad. Now I have vested interest in getting the FW / BIOS updated. Getting the same issue that you experienced with StorCLI.efi. Didn't try CentOS yet.
Guess need to spend some quality time reading the documentation. Quick scan of the Install & User guide on page 9 shows jumper 'J4' is for SBR. I suspect that is the one of interest to by pass SBR loading.

Install & User Guide http://thinksystem.lenovofiles.com/help/topic/ThinkSystem_RAID_530-8i_PCIe_Adapter/ThinkSystem_RAID_530-8i_Adapter_IUG.pdf

Broadcom TriMode StorCLI Doc has some interesting tidbit on erase and reflash. The question is where to find the split [IT Bootloader image] and [FW Image]

12Gb/s MegaRAID Tri-Mode Software User Guide (5949 KB)

Code:
12Gb/s MegaRAID Tri-Mode StorCLI User Guide
November 30, 2017
Chapter 2: Installing StorCLI on MegaRAID (MR) Controllers
Page:64 

Recovery Commands (UEFI Only)
Recovery commands perform recovery actions related to a specified controller. Recovery commands are supported on
UEFI environment only. The Storage Command Line Interface Tool supports the following recovery commands:
 storcli /cx download completeflash fileone=<IT boot loader image>
filetwo=<firmware image>
 storcli /cx erase all [excludemfg]
— erase all [excludemfg]
The detailed description of each command follows:
storclio /cx download completeflash fileone=<IT boot loader image> filetwo=<firmware image>
This command downloads the complete flash image on a non-operational or an empty controller by performing host
boot using the IT boot loader image. This command takes two files as arguments:
 Fileone - a valid Itboot loader image with which host boot is performed on the controller.
 Filetwo - a valid firmware image which is flashed on the controller.
Syntax:
storcli /c1 download completeflash fileone=<Itbootloaderimage> filetwo=<FW image>
Where:
/c - specifies the controller where x is the index of the controller, and filenames are the arguments.
Input examples:
storcli /c1 download completeflash fileone=vtboot.rom filetwo=nopad.rom
NOTE Unified storCLI can flash only NoPad image. It cannot flash 16 MB/32
MB images.
storcli /cx erase all [excludemfg] file=<itbootloader image>
This command erases the complete flash region, but retains the manufacturing data region.
Syntax:
storcli /cx erase all [excludemfg] file=<itbootloader image>
Input examples:
storcli /c1 erase all excludemfg file=vtboot.rom

NOTE
Unified StorCLI supports only erase all excludemfg erase option. It does not support the erase all option.
 

nthu9280

Well-Known Member
Feb 3, 2016
1,630
504
113
San Antonio, TX
@BLinux

I have the following note regarding similar SBR jumper from a different LSI document (6gbps one).

##
When shunted provides the ability to bypass loading the Bootstrap configuration from external SBR EEPROM device and load the default system values within the ROC. This will allow the hardware to recover the blank or corrupted SBR device using Mega RAID software utilities. Default mode of operation is to not have a shunt on this jumper and load the Bootstrap configuration from external SBR EEPROM device.
##

If you recall we used similar process to cross flash IBM 9340-8i to plain LSI 9300-8i. So that's why I wanted to try this route. The JTAG /UART is beyond my level.

I'm not in a hurry as I have a fairly new version of IBM FW already on the card from Jan-2018 and the latest is only couple of revisions after that. Have not looked at the change log to see if there would be any benefit.


Version :
=======
Firmware Package Build = 50.2.1-1026
Firmware Version = 5.020.01-1219
SBR Version = 5.0202.05-286
Boot Block Version = 7.02.00.00-0016
Bios Version = 7.02.03.1_4.17.08.00_0x07020401
NVDATA Version = 5.0200.00-029
Driver Name = AVAGO EFI SAS Driver
Driver Version = 0x07020401

The latest Lenovo package is from Aug-2018 ( pkg version - 50.5.0-1510 )
Downloads Detail {id} - US

Here are the key cmds grouped. I know this is duplicate as you have posted these earlier in the thread. Just grouped for easier use / ref.

Code:
Get (for backup):
storcli /cx get vpd file=<fileName>

storcli /cx get HWDevice deviceType=<val> [bus=<val> slaveAddress=<val>]
[[offset=<val>] size=<val>] file=<filepath> [fileone=<filepath> filetwo=<filepath>]

storcli /cx get config file=<fileName>
storcli /cx get bios file=<filename>
storcli /cx get firmware  file=<filename>
storcli /cx get mpb  file=<filename>
storcli /cx get fwbackup  file=<filename>
storcli /cx get nvdata file=<filename>
storcli /cx get flash  file=<filename>
storcli /cx get snapdump id=<value> file=<fileName>

Delete & erase:
storcli /cx delete NVRAM
storcli /cx delete config [force]

storcli /cx erase nvsram
storcli /cx erase fwbackup
storcli /cx erase perconfpage
storcli /cx erase mpb
storlci /cx erase bootservices
storcli /cx erase all excludemfg

Updates:
storcli /cx download file=<filepath> [fwtype=<val>] [ResetNow] [nosigchk] [noverchk] [noreset] [force] [forcehcb]
storcli /cx download completeflash fileone=<firmware image/IT bootloader image> filetwo=<flash image/firmware package>
storcli /cx download efibios file=<filepath>
storcli /cx download cpld file=<filepath>
storcli /cx download bios file=<filepath>
Code:
storcli /cx download verbose help

NAME: Download EFI BIOS image
SYNTAX: storcli /cx download efibios file=<filepath>
DESCRIPTION:Downloads the EFI BIOS image
CONVENTION:
/cx - specifies the controller where X is the controller index
Note: This command supports only IT Controllers


NAME: Download CPLD image

SYNTAX: storcli /cx download cpld file=<filepath>
DESCRIPTION:Downloads the CPLD image
CONVENTION:
/cx - specifies the controller where X is the controller index
Note: This command supports only IT Controllers


NAME: Download BIOS image

SYNTAX: storcli /cx download bios file=<filepath>
DESCRIPTION:Downloads the BIOS image
CONVENTION:
/cx - specifies the controller where X is the controller index
Note: This command supports only IT Controllers


NAME: Download FCODE image

SYNTAX: storcli /cx download fcode file=<filepath>
DESCRIPTION:Downloads the FCODE image
CONVENTION:
/cx - specifies the controller where X is the controller index
Note: This command supports only IT Controllers


NAME: Download or Flash controller firmware

SYNTAX:
storcli /cx download file=<filepath> [fwtype=<val>] [ResetNow] [nosigchk] [noverchk] [noreset] [force]

DESCRIPTION: Download or Flash controller firmware.
          a)If resetNow, Invokes Online f/w Update
     b)If nosigchk, flashes the f/w even if the check word on the
       file does not match the required check word for the ctrl.
     c)If noverchk,flashes the controller f/w without checking
       the version of the f/w image.
          d)If noreset,Reset will not be issued,provided certain conditions are met.
     e)fwtype=[0(APP) | 1(TMMC) | 2(GG-Enhanced)]. Default - 0(APP).
     f)If force, flashes the f/w even if it is unsupported.
     g)file should be the abs path for f/w image.

CONVENTION:
/cx - specifies the controller where X is the controller index
Note : 1.noreset option is supported only by IT controller
 
Last edited:

nthu9280

Well-Known Member
Feb 3, 2016
1,630
504
113
San Antonio, TX
Have not spent too much time but here is some update on the progress of what I've done so far. Tested in HP Elite 8300 desktop (ivy bridge era) so non IBM are ok if you want to stick with Lenovo's iMR firmware. Does not work in Win 10 driver is loaded but device manager has warning. Loaded CentOS driver fine but have not tested with drives.

I have not been successful at my basic attempts flash LSI firmware so far. But I have not tried to flash with jumper the J4 either. I need to figure out both files especially "fileone" before I attempt to erase and try the below command. I think it's BIOS file in the IT package but not sure.

syntax:
storcli /cx download completeflash fileone=<firmware image/IT bootloader image> filetwo=<flash image/firmware package>

Megarec does not see the card even with jumper J4 on.

It came with LSI MegaRAID SAS-MFI BIOS but have not been able to get into it. Does not prompt during the post and none of the usual combinations Ctrl-R / Ctrl-H / Crtl-C worked.

Only some of the StorCli.EFI /cx get worked from the above list and I saved the information from successful ones. I was not able to backup the FW, BIOS, NVData etc.

CentOS 7.5 lenovo drivers see the card as Tri-mode under lspci but StorCLI under linux reports no controllers. I can reboot to UFI and can see the card and also during the POST. Since lspci / dmesg show the driver loading, I'll test with few drives in the coming days as my time permits.

I flashed the Lenovo's latest FW. Just extracted the windows package and used StorCli.EFI to flash the FW. The extract also has two other rom files - app1026.rom & app1032.rom and not sure what they are for. I also didn't see them referenced in the supplied batch file.
 

iblik.94

New Member
Nov 16, 2018
10
10
3
Hi,
I have the knowledge of the 530-8i HBA 9400-8i

download FW:
HBA 9400-8i Tri-Mode Storage Adapter

1. We have jumper J4 - ON. And boot to efi

2. storcli / cx download firmware file = HBA_9405W-16i_SAS_SATA_Profile.bin

3. We have jumper J4 - OFF.

4. boot to efi

5. storcli / cx download efibios file = mpt35sas_x64.rom

6. storcli.efi / cx download bios file = mpt35sas_legacy.rom

7. storcli.efi / cx set sasadd= (sas asdress)
 
Last edited:

iblik.94

New Member
Nov 16, 2018
10
10
3
do not you know how the command works?

storcli.efi / cx get

because I have a MegaRAID 9460-8i card I would need to download the firmware from it.
and use the 930i
 

BLinux

cat lover server enthusiast
Jul 7, 2016
2,687
1,090
113
artofserver.com
Hi,
I have the knowledge of the 530-8i HBA 9400-8i

download FW:
HBA 9400-8i Tri-Mode Storage Adapter

1. We have jumper J4 - ON. And boot to efi

2. storcli / cx download firmware file = HBA_9405W-16i_SAS_SATA_Profile.bin

3. We have jumper J4 - OFF.

4. boot to efi

5. storcli / cx download efibios file = mpt35sas_x64.rom

6. storcli.efi / cx download bios file = mpt35sas_legacy.rom

7. storcli.efi / cx set sasadd= (sas asdress)
I finally had time to look at this last night. And I can confirm this process works. I used firmware file "HBA_9400-8i_SAS_SATA_Profile.bin" instead of the -16i variant on my 530-8i. BTW, there's another firmware file called "HBA_9400-8i_Mixed_Profile.bin", does anyone know what that is for? Does that version support NVMe?

On the 530-8i, the SAS address is on a sticker on the 8643 connectors; so write that down before you start. The firmware flash will erase the SAS address.

I think I got lucky with an eBay auction and got this at $55, I don't think it is typical to find these at this price. But, they can be found for $100-$150 pretty regularly; and that's a decent price for a SAS-3 HBA that supports "Tri-Mode". I also like the enormous size of the heatsink on this card, which should provide better temperatures without having to crank up the "High I/O" fan profile.

Edit: wanted to say thanks @iblik.94 and @nthu9280
 

nthu9280

Well-Known Member
Feb 3, 2016
1,630
504
113
San Antonio, TX
do not you know how the command works?

storcli.efi / cx get

because I have a MegaRAID 9460-8i card I would need to download the firmware from it.
and use the 930i
I've posted the summary of get commands couple of posts before. on 530-8i it was only successful on some and failed on others. The documentation specifies some of the commands are only applicable to RAID cards. Don't recall which ones. Cards like 730-8i / 930-8i should work. Since that command is just dumping the files to disk, I don't see any harm trying all of them.

Thanks for the confirmation on the SBR jumper. I've not tried after the initial attempts failed without shunting it. I just flashed with Lenovo's latest FW and put it away.
 

Gadgetguru

Member
Dec 17, 2018
41
14
8
So... How do I flash the firmware? Like, broken down Barney style. Googled a bunch. My BIOS (not UEFI) does not have an option to boot into EFI. Tried to use shell.efi on a thumb drive, DOS boot thumb drive, renamed it, put it under \EFI\Boot, tried Refind, bunch of different things. Downloaded StorCLI but haven't tried that yet. If it is easier to do under Windows with some software, I can do that.

I understand about the jumper during the process and having to enter the SAS address. No idea about EFI or StorCLI. If anybody would be willing to have mercy on me I'd appreciate it! This card has some test firmware on it and no way to get into the configuration, as has been mentioned before. Thank you!