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

Discussion in 'RAID Controllers and Host Bus Adapters' started by BLinux, Aug 21, 2018.

  1. BLinux

    BLinux Well-Known Member

    Joined:
    Jul 7, 2016
    Messages:
    1,792
    Likes Received:
    482
    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?
     
    #1
  2. BLinux

    BLinux Well-Known Member

    Joined:
    Jul 7, 2016
    Messages:
    1,792
    Likes Received:
    482
    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
     
    #2
  3. BLinux

    BLinux Well-Known Member

    Joined:
    Jul 7, 2016
    Messages:
    1,792
    Likes Received:
    482
    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.
     
    #3
  4. nthu9280

    nthu9280 Well-Known Member

    Joined:
    Feb 3, 2016
    Messages:
    1,019
    Likes Received:
    236
    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.
     
    #4
  5. BLinux

    BLinux Well-Known Member

    Joined:
    Jul 7, 2016
    Messages:
    1,792
    Likes Received:
    482
    :-( ... 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...
     
    #5
  6. BLinux

    BLinux Well-Known Member

    Joined:
    Jul 7, 2016
    Messages:
    1,792
    Likes Received:
    482
    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.
     
    #6
    Tha_14, marcoi and Patrick like this.
  7. nthu9280

    nthu9280 Well-Known Member

    Joined:
    Feb 3, 2016
    Messages:
    1,019
    Likes Received:
    236
    @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.
     
    #7
  8. BLinux

    BLinux Well-Known Member

    Joined:
    Jul 7, 2016
    Messages:
    1,792
    Likes Received:
    482
    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.
     
    #8
  9. BLinux

    BLinux Well-Known Member

    Joined:
    Jul 7, 2016
    Messages:
    1,792
    Likes Received:
    482
    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?
     
    #9
  10. Rand__

    Rand__ Well-Known Member

    Joined:
    Mar 6, 2014
    Messages:
    2,483
    Likes Received:
    324
    Have you managed to crossflash it? Seems they become available more often on fleabay (oc not as cheap as yours) but still interesting...
     
    #10
  11. BLinux

    BLinux Well-Known Member

    Joined:
    Jul 7, 2016
    Messages:
    1,792
    Likes Received:
    482
    no, not yet. i got busy with work and haven't gotten back to this...
     
    #11
  12. nthu9280

    nthu9280 Well-Known Member

    Joined:
    Feb 3, 2016
    Messages:
    1,019
    Likes Received:
    236
    @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.
    
     
    #12
  13. BLinux

    BLinux Well-Known Member

    Joined:
    Jul 7, 2016
    Messages:
    1,792
    Likes Received:
    482
    @nthu9280 that's interesting... about J4. Did you see J8? I have a USB to serial UART cable... wonder what one can do with that?
     
    #13
  14. nthu9280

    nthu9280 Well-Known Member

    Joined:
    Feb 3, 2016
    Messages:
    1,019
    Likes Received:
    236
    @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 )
    https://support.lenovo.com/us/en/downloads/DS504764

    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>  
    
    
     
    #14
  15. nthu9280

    nthu9280 Well-Known Member

    Joined:
    Feb 3, 2016
    Messages:
    1,019
    Likes Received:
    236
    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.
     
    #15
Similar Threads: Info SAS3408
Forum Title Date
RAID Controllers and Host Bus Adapters anyone have more info about HP H240 HBA? Jun 10, 2018
RAID Controllers and Host Bus Adapters Proxmox 5 modinfo mpt3sas LSI 9207-8i Sep 7, 2017
RAID Controllers and Host Bus Adapters LSI 9361-8i help and information required. Jun 15, 2017
RAID Controllers and Host Bus Adapters Benchmrks! : Adaptec 8405 -> RES3TV360 Expander + benchmarks/info May 3, 2015
RAID Controllers and Host Bus Adapters Issues with LSI2008 on OmniOS? (mptsas_handle_event_sync: IOCStatus=0x8000, IOCLogInfo=0x31110d00) Oct 30, 2014

Share This Page