LSI Controller FW updates IR/IT modes


Recommended Posts

In case anyone is interested, I just got SAS2108 based controller (LSI 9280-i4ie) working in IT mode.

 

I don't have any external devices to test with, but at least internal port disks are detected.

 

If someone else wants to try it out, here's what I did:

- clean the flash memory with megarec -cleanflash

- read SBR out, change to Fusion mode (change 0xc6 to 0xd6 at location 0x56), write changed SBR to card

 

Now you can boot Linux and use lsirec to hostboot using latest 9211-8i firmware, after hostboot run rescan, card should be up and running, disks visible and all.

 

Programming the firmware to flash chip didn't seem to work with either sas2flash or lsiutil, which limited the card usefulness severely, you could hostboot the card every time but that is not compatible with IOMMU.

 

So to fix that, I programmed the firmware manually to the flash chip with external programmer - and it actually just worked.

 

Firmware I programmed to the chip was downloaded from IBM M1015 card flashed with 9211-8i firmware using sas2flash -o -uflash command. That card had 16MB flash chip and this 9280 has only 8MB chip and I wasn't sure where the controller would boot from (and didn't want to desolder the flash chip again) so I cut the firmware up and pasted first 1M from the 16MB file, then last 3M and then last 4M again. Now the firmware is copied at 0x1a0000, 0x2e0000, 0x5a0000 and 0x6e0000 and boot blocks are at 0x3e0000 and 0x7e0000.

 

Now someone just needs to find out a way to program the flash memory without getting it off from the board fist, I didn't find any hints of anyone doing that on the Internet on SAS2108 controllers.

 

Maybe I'll try next if the IR firmware is compatible...

 

  • Like 1
Link to comment
On 9/24/2022 at 6:10 PM, Hakki said:

In case anyone is interested, I just got SAS2108 based controller (LSI 9280-i4ie) working in IT mode.

 

I don't have any external devices to test with, but at least internal port disks are detected.

 

If someone else wants to try it out, here's what I did:

- clean the flash memory with megarec -cleanflash

- read SBR out, change to Fusion mode (change 0xc6 to 0xd6 at location 0x56), write changed SBR to card

...

Maybe I'll try next if the IR firmware is compatible...

 

That's the info I was waiting for. I've got an LSI 9280-24i4e and trying to find a way getting this card to IT-mode. Hoping someone will find a way, flashing the memory. 

Link to comment
On 9/29/2022 at 2:07 AM, Keller-Server said:

That's the info I was waiting for. I've got an LSI 9280-24i4e and trying to find a way getting this card to IT-mode. Hoping someone will find a way, flashing the memory. 

 

I'm waiting for another SAS2108 card to appear to do more testing, I modified the 4i4e model because of the external connector and don't want to break it. I'm sure I have 3ware 9750-4i somewhere..

 

I'll have to amend previous instructions a little, I did use sbrtool.py from lsirec project to edit the SBR and changed also PCI IDs to match 9211-8i card. Unk08 = 0x91c600f8 changed to 0x91d600f8, PCIPID to 0x0072 and SubsysPID to 0x3050. I tried to do minimal changes, those were enough on this card.

 

Even if SBR was programmed with 9211-8i card data, controller still went to megaraid mode if flash was not cleared. The SAS2108 controller boots from the flash chip and looks like firmware/bootloader set the chip back to megaraid mode regardless of SBR contents.


So if you don't have any way to program the flash chip, you could just program SBR, clean the flash memory and use lsirec to hostboot 9211-8i IT firmware and rescan the controller to test if anything works, controller and disks should be detected. Just remember to save the original SBR somewhere to restore original functionality if nothing works..

 

Also the card worked just fine without the big flash memory chip at all, you just had to hostboot it every time :)

Maybe someone could figure out a way to make the hostboot work with IOMMU, then it wouldn't be a problem .. and someone could patch the driver to load firmware on the fly as many other drivers do.

 

 

Link to comment
  • 3 months later...

Hi 

 

I try to find any information about cross-flashing perc h710 with lsi firmware BUT keep raid mode not IT. I can see there's many guide how to get it mode but can't find any info/guid how to get raid mode  mode, if it possible. If someone can guid me where to look for it? 

Thank you

 

 

Link to comment
5 minutes ago, jas7o said:

I can see there's many guide how to get it mode but can't find any info/guid how to get raid mode  mode,

The procedure is the same, but when flashing with the LSI firmware use the RAID mode firmware (IR) instead of IT mode.

Link to comment
  • 3 weeks later...

From what I read shortly this forum seems like a great find. After all the official support from SuperMicro/LSI has been a letdown ever since I got my HBA card around 2014 or so. I'm running LSI OEM 9217-8i (Supermicro AOC-S2308L-L8e - flashed to LSI 9207-8i). I've never needed RAID functionality, only additional SATA connections.

 

Today I updated my system from i9-12900k to 13900k. Subsequently my system wouldn't post after enabling XMP for the RAM. Also the LSI card seemed to disappear from my system without any sign either in BIOS or Windows, with all the drives connected to it. I'm dealing with the possible RAM incompatibility issue elsewhere, and meanwhile started searching if there were any fw updates to the HBA card.

 

I switched back to 12900k for the time being and everything works as norm. I've attached pics of what my motherboard submenu has to say about the card. It seems the bios version is 7.27.01.00 and the IT firmware 20.0.2.0. I read that the most recent versions would be 7.39.02.00 and 20.00.07.00, is that correct? Also it was suggested that in HBA mode the BIOS is pretty much redundant and could be erased and thus disabled, am I right? Anything to speed up the startup.

 

I hardly doubt updating the fw by a small increment will resolve the problem with the 13900k, but I might as well do it anyway. Also, it came to my mind after I switched the 12900k back that the BIOS might've re-assigned the PCIe lanes all to the GPU, disabling the 2_PCIe_x16, which is where the LSI card is attached. I did load optimized defaults for the BIOS, but never checked weather the BIOS had done this on its own after the CPU update.


20230208_153910.thumb.jpg.155b678bb85ce4f7ca68cbcf966e2fb3.jpg

If it's true there's an update to my HBA card, would you be so nice as to point out a trusted source where I can download it? It looks as Broadcom/LSI haven't stored the files for bit now or at least I can't find them.

 

My system specs are as follows:

Spoiler

Windows 11 Pro
Corsair AX1600i
Aquaero 6 Pro USB
Asus ROG Maximus Z690 Extreme E-ATX (lates BIOS v. 2204)
Intel Core i9-13900k (now back to 12900k)
G.Skill Trident Z5 DDR5 6000 MHz CL36 32 GB (F5-6000J3636F16GX2-TZ5K) (2x16 GB kit)
MSI GeForce RTX 3090 Suprim X 24G
LSI OEM 9217-8i (Supermicro AOC-S2308L-L8e - flashed to LSI 9207-8i)
_01: Samsung 980 Pro 2 TB (M.2 PCIe x4 Gen4 - OS drive)
...(drives 2-5 detached as of currently)

_06: WD60EFRX-68L0BN1 (Western Digital Red NAS HDD 6,0TB SATA3 6,0Gb 5400RPM)
_07: WD60EFRX-68L0BN1 (Western Digital Red NAS HDD 6,0TB SATA3 6,0Gb 5400RPM)
_08: WD60EFRX-68L0BN1 (Western Digital Red NAS HDD 6,0TB SATA3 6,0Gb 5400RPM)
_09: WD60EFRX-68L0BN1 (Western Digital Red NAS HDD 6,0TB SATA3 6,0Gb 5400RPM)
_10: WD60EFAX-68JH4N1 (Western Digital Red NAS HDD 6,0TB SATA3 6,0Gb 5400RPM)
_11: WD60EFAX-68JH4N1 (Western Digital Red NAS HDD 6,0TB SATA3 6,0Gb 5400RPM)
_12: Samsung 870 QVO 2 TB
_13: Samsung 960 Pro 512 GB OEM SM961 (M.2 PCIe x4 Gen3)

 

20230208_153841.jpg

20230208_153910.jpg

 

 

edit: I browsed the thread, but couldn't find the exact instructions to update my card, so I went ahead with these ones:

https://www.stevenkussmaul.com/2020/06/12/how-to-flash-a-new-bios-and-firmware-to-your-lsi-9217-8i-sas2308-controller/

 

And I also was pointed to the update files that still resides over at Broadcom site by their support:

https://u4977512.ct.sendgrid.net/ls/click?upn=1CUR-2BByiJ4AplZmi3YlaGAl0laie8uLA3fo-2B1VPgBVyGe4Ys1Uth2kvTIr-2B4yclFQR-2Fu-2FBCJh54fqeTNm7lZ75uXyBZ3RSAzVrEPbDxtkdY2kwzpMcEv03qB-2Fo-2BcLpfH8zFDr2U9aK1ZT7-2BmD4mwovcYVrFqDoxw80axOwpY2asIPaG1em55G-2B9jec7En8XdJeKQEZ-2BQWNGP5-2BVXEadJxSFdkHkMRRDHy2PMBG2KoVA-3D4yFy_mGueFG7Rfpx-2F84EakNz586ljXl-2Fo-2BcP7JPEERWufWacjtdPklVWDLFJZM4HHRK5skEjcsm-2FZ-2BrmqWBCTCx6-2FfqSuJkKTO8bqmn8WGMdhg4d168NbfcQxJYt9bqUZ45qyiHyk6kxWSQyQL4eKswgV4mmmAD01KIh-2BGlmhc-2B1zt5I25o5uxtxntp4vGhUWnyLAoNgpcWcSb-2Fs-2BgmehS-2F7MBdefh3q5Rqk0Glo-2BbfFUYMY-3D

 

First I tried the instructions in Windows 11 Pro environment, but the first procedure of the flash "sas2flsh -o -e 6" ends up in a error around the lines "unable to execute command in this environment", so I tried to prepare a bootable USB flash drive with Rufus, copied sas2flsh.exe from sas2flash_dos_rel directory to the USB stick, with 9207-8.bin. I tried to boot from the stick with all SATA drives disconnected (is this necessary?) from the HBA, but was unable to do so. For some reason I only end up back in the BIOS. Maybe I need to change some settings in BIOS to be enable to boot into freeDOS from a FAT32 stick aside from setting it to first (and only) boot priority?

 

Can someone give me assistance with the process or point to a previous guide how to perform the flash? I would like to update the fw and erase the BIOS for optimized boot up speed, as I won't be needing the RAID functionality. Many thanks.

Edited by niteynite
Link to comment

Well, I managed to update the fw and the BIOS of the card to latest versions in Windows 11 Pro with command prompt, but am unable to execute the BIOS wipe. With sas2flash.exe (sas2flash_win_x64_rel) in Windows I get a message "(erase) command not supported in this environment" and when booted (finally managed to do that with CSM enabled) into FreeDOS from USB an error message "failed to initialize PAL" right when I try to start sas2flsh.exe (sas2flash_dos_rel). I tried to follow these instructions, but am unable to find the mentioned EFI shell setting in my BIOS, which could be the reason:

 

https://serverfault.com/questions/679175/failed-to-initialize-pal-while-upgrading-an-lsi-9211-8i-to-it

Edited by niteynite
typos
Link to comment
  • 1 month later...

Stupid questions alert!  OK not stupid, but definitely somewhat uninformed.  Long story short, I've got 2 8-port LSI cards in my server, and in looking into something else, I checked the firmware version on my cards (something I should have done a long time ago).  I found two things, first, one of the card appears to have really old firmware, and second is that both cards are in IR mode. 

 

here's sas2flash -listall

 

Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
----------------------------------------------------------------------------

0  SAS2008(B2)     11.05.02.00    0a.03.00.1a    07.21.04.00     00:01:00:00
1  SAS2008(B2)     20.00.07.00    14.01.00.09    07.39.02.00     00:02:00:00

 

root@unRAID:/lsi# ./sas2flash -list
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: SAS2008(B2)   

        Controller Number              : 0
        Controller                     : SAS2008(B2)   
        PCI Address                    : 00:01:00:00
        SAS Address                    : 500605b-0-0557-29d0
        NVDATA Version (Default)       : 0a.03.00.1a
        NVDATA Version (Persistent)    : 0a.03.00.1a
        Firmware Product ID            : 0x2713 (IR)
        Firmware Version               : 11.05.02.00
        NVDATA Vendor                  : LSI
        NVDATA Product ID              : SGX-SAS6-INT-Z
        BIOS Version                   : 07.21.04.00
        UEFI BSD Version               : 07.18.02.11
        FCODE Version                  : 01.00.60.00
        Board Name                     : SGX-SAS6-INT-Z
        Board Assembly                 : H3-25104-03A
        Board Tracer Number            : SP23819718

        Finished Processing Commands Successfully.
        Exiting SAS2Flash.
root@unRAID:/lsi# ./sas2flash -c 1 -list
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: SAS2008(B2)   

        Controller Number              : 1
        Controller                     : SAS2008(B2)   
        PCI Address                    : 00:02:00:00
        SAS Address                    : 500605b-0-0810-c2d0
        NVDATA Version (Default)       : 14.01.00.09
        NVDATA Version (Persistent)    : 14.01.00.09
        Firmware Product ID            : 0x2713 (IR)
        Firmware Version               : 20.00.07.00
        NVDATA Vendor                  : LSI
        NVDATA Product ID              : SAS9211-8i
        BIOS Version                   : 07.39.02.00
        UEFI BSD Version               : 07.02.04.00
        FCODE Version                  : N/A
        Board Name                     : SAS9211-8i
        Board Assembly                 : H3-25250-02H
        Board Tracer Number            : SP43428856

        Finished Processing Commands Successfully.
        Exiting SAS2Flash.

 

Controller 0 is the main one in question, with the 11.0 firmware (current seems to be 20.0).  Both cards are 9211-8i's.

 

I guess mainly what I'm curious about is, I guess obviously I should update the firmware, but should I flash them to IT mode given they're both in IR mode? 


Second, I was reading the other LSI flashing thread, and it suggests not cross flashing from unRAID, does that still apply?  Does IR->IT mode count as crossflashing (or is that more referring to something like Dell->LSI)?  And if I shouldn't do this from inside unRAID, I found a thread about using the UEFI flasher, is that the way to go?

 

Only reason I hesitate is I've been running these cards for several years and don't want to unnecessarily break things.

 

Thanks

Link to comment

OK, now I'm kinda stuck, I can't get it to boot UEFI (tried using RUFUS, set to FreeDOS) and it just won't boot off that.  And if I boot into DOS I get the "PAL cannot be initialized" from sas2flsh.exe which according to this, says you need to use UEFI.

 

I also tried formatting the stick GPT/Fat32 and still no luck getting it to boot. 

Link to comment
23 minutes ago, stanger89 said:

And if I boot into DOS I get the "PAL cannot be initialized" from sas2flsh.exe which according to this, says you need to use UEFI.

Correct, do you have an older board/PC without UEFI? That's what I usually do when I need to do that.

Link to comment
  • 1 month later...
12 hours ago, unr41dus3r said:

Do you have a card to recommend for 8 SATA Ports with Trim support?

LSI 9300-8i supports trim, but only for devices with deterministic read zeroes after trim.

Link to comment
  • 1 month later...

I have a Fujitsu 2607 with a LSISAS2008 8i chipset, and after trying pretty much everything I read on internet, only FingerlessGloves’ guide worked! Thank you very very much!!!

 

As a thanks to the community, I posted online my own toolset and a 2023 updated guide, as well as an updated sas2hax.efi (the original by Marcan was a patched p19 version, here I did the same patch on p20 and I tested it successfully - it may help in some cases maybe). My updated sas2hax.efi is called sas2haxp20.efi.

 

Everything can be found here:

https://github.com/lrq3000/lsi_sas_hba_crossflash_guide

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.