Upgrading firmware on LSI 9211-8i

Status
Not open for further replies.

jamie543

Cadet
Joined
Feb 10, 2016
Messages
2
Hi wonder if i could get some help i have a HBA card LSI 9211-8i which i believe is running on firmware 19 how do i go about upgrading this to version 20 and change it to IT mode thanks for your help
 

Spearfoot

He of the long foot
Moderator
Joined
May 13, 2015
Messages
2,478

Scharbag

Guru
Joined
Feb 1, 2012
Messages
620
The posted thread is a long one.

Here is what I did:

Code:
Use Rufus to make a FreeDOS USB boot volume

Copy:

sas2flsh.exe
2118it.bin

to the root of the USB

Boot from USB

execute sas2flsh -listall

note the numbers of the 2 cards (should be 0 and 1)

execute:

sas2flsh -c 0 -o -e 6 (erases the firmware ROM, do not reboot until new firmware is loaded)
sas2flsh -c 0 -f 2118it.bin

sas2flsh -c 1 -o -e 6 (erases the firmware ROM, do not reboot until new firmware is loaded)
sas2flsh -c 1 -f 2118it.bin

sas2flsh -listall (verify the firmware is loaded properly)

There is no need to load the mptsas2.rom unless you want to boot from a disk connected to the HBA cards (just use the SATA ports for boot, or USB).

The above is all true too if you use the UEFI installer which is recommended.  The command is sas2flash.efi instead.  The command map lists all drives in the EFI shell.  Change drives in UEFI like dos "DirveName:" to change dir.


I have done it in both DOS and UEFI. I have not tried this from within FreeNAS itself although I think it can be done. My reason for this is I would rather not have the pools attached during a firmware upgrade (I am paranoid, I actually detach the drives during a firmware upgrade). Prefer the UEFI method as I do not need to make a bootable USB disk. I personally do not install the mptsas2.rom as I do not plan on ever booting from the SAS controller.

Cheers,
 

ethereal

Guru
Joined
Sep 10, 2012
Messages
762
i have run the firmware upgrade in freenas and it worked great - quicker and faster than a boot drive.

i have used a dos boot drive, a uefi boot drive and in freenas - freenas was the easiest in my opinion
 

Scharbag

Guru
Joined
Feb 1, 2012
Messages
620
i have run the firmware upgrade in freenas and it worked great - quicker and faster than a boot drive.

i have used a dos boot drive, a uefi boot drive and in freenas - freenas was the easiest in my opinion
Question for ya: when you use FreeNAS to update the firmware, do you detach your pools first?

Thanks,
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Im actually quite confused on what files i would need could some 1 tell me which ones from http://www.avagotech.com/products/server-storage/host-bus-adapters/sas-9211-8i#downloads i can do uefi just not sure what files i need for IT mode
I believe they've started only including the actual firmware images with the Windows download.

So, to flash via the EFI shell, grab the UEFI package, stick it on a FAT32 USB device with the firmware image (and, optionally, the BIOS or UEFI extension ROM).
 

ethereal

Guru
Joined
Sep 10, 2012
Messages
762
Question for ya: when you use FreeNAS to update the firmware, do you detach your pools first?

Thanks,

i left everything attached - no problems at all
 

Scharbag

Guru
Joined
Feb 1, 2012
Messages
620
Cool. So does the HBA continue to function during the update? Can you still access the pools?

Cheers,
 

ethereal

Guru
Joined
Sep 10, 2012
Messages
762
i think i had the firmware on one of my pools - but i can't say that 100%

i wouldn't recommend transferring/moving files during flashing.

reboot after flashing.
 
Joined
Jul 13, 2013
Messages
286
Bummer, getting the "Failed to initialize PAL" thing. On an AMD motherboard, too (lots of reports seem to tie it to Intel). I think maybe trying UEFI shell is next, sigh.
 
Joined
Jul 13, 2013
Messages
286
Okay, I'm stuck. I get the "Failed to initialize PAL" error on the motherboard I have handy for this running the DOS form of the utility; I have local friends and other more drastic options, but digging the card out of the box, transporting it elsewhere, and putting it into a system we can play with is kind of a pain.

So, looking at using the UEFI form of the tool. The various motherboards I have convenient access to support UEFI at some level. So there might be some way to boot into an UEFI shell? And I then have the .efi form of the firmware update utility, and should be fine from there.

None of the instructions actually tell me how to do it, though. There's half a suggestion that it's highly motherboard-specific, that might be part of it? Many of the instructions seem to suggest that just having the shellx64.efi "in the right place" on the USB boot key is all that's needed -- but there are various opinions about "right place", and no clear indication of what else should be on the boot usb key or what you do with it. None of those things work for me, anyway.

So -- has anybody ever gotten into a UEFI shell? And maybe even managed to run the LSI update from it? HOW? Clues eagerly sought!

(Ideally, a way that works on an ASUS M5 A97 LE R2.0 motherboard, but getting a general idea how it works on a variety of MBs would probably help, unless they're really randomly designed.)
 

Spearfoot

He of the long foot
Moderator
Joined
May 13, 2015
Messages
2,478
Okay, I'm stuck. I get the "Failed to initialize PAL" error on the motherboard I have handy for this running the DOS form of the utility; I have local friends and other more drastic options, but digging the card out of the box, transporting it elsewhere, and putting it into a system we can play with is kind of a pain.

So, looking at using the UEFI form of the tool. The various motherboards I have convenient access to support UEFI at some level. So there might be some way to boot into an UEFI shell? And I then have the .efi form of the firmware update utility, and should be fine from there.

None of the instructions actually tell me how to do it, though. There's half a suggestion that it's highly motherboard-specific, that might be part of it? Many of the instructions seem to suggest that just having the shellx64.efi "in the right place" on the USB boot key is all that's needed -- but there are various opinions about "right place", and no clear indication of what else should be on the boot usb key or what you do with it. None of those things work for me, anyway.

So -- has anybody ever gotten into a UEFI shell? And maybe even managed to run the LSI update from it? HOW? Clues eagerly sought!

(Ideally, a way that works on an ASUS M5 A97 LE R2.0 motherboard, but getting a general idea how it works on a variety of MBs would probably help, unless they're really randomly designed.)
David, I used my SuperMicro X10SL7's UEFI shell to update its built-in LSI 2008 controller. On my system, you can load a UEFI shell at boot time from the BIOS boot selection menu. Certainly your ASUS will be different... but does it have such a choice in its BIOS? Here's the link to my flashing instructions from last Summer:

https://forums.freenas.org/index.ph...sion-20-for-dev-mps0.36536/page-3#post-223652

I recall putting a copy of shellx64.efi on my USB drive when I did this... but I'm not sure I really needed it.

Anyway, according to my fuzzy memory... Once you get a UEFI shell up, it seems like you have to try changing drives until you 'find' the USB drive containing your files. On my system I entered fs0: to switch to the USB drive. Then you proceed with the flashing steps.

Hope this helps...
 
Joined
Jul 13, 2013
Messages
286
I don't get an entry in the boot menu that I recognize as a UEFI shell; it doesn't say "UEFI shell" for example, or anything close enough to catch my attention. One thing I see is "UEFI: 15481" (not sure of the number; it's the size of one of the flash drives", but even when that drive is the one with shellx64.efi on it, booting that entry just gets me the "NAS disk, not bootable" error (wrong words, but that's what it means).

But thinking about this has lead me to look at a few additional things, and I've at least got something new to try. Excuse me, no point talking about it when I can test it!
 
Joined
Jul 13, 2013
Messages
286
Got it.

The Asus bios hid it in an inconceivable location ("That word you keep using...I don't think it means what you think it does!"). Specifically, it is not in the boot menu, and it is not on the boot screen, and it is not in the tools menu.

It is the last option on the "exit" menu that you get if you use a mouse (UEFI, remember) to click the exit button in the upper right corner.

Having decided to dig into motherboard-specific things more deeply, I found it using text searches in the PDF of the user guide (I hadn't found it going through the paper copy by eye).

So -- For the Asus M5 A97 LE R2.0 motherboard, the way to load the UEFI shell is to get into BIOS mode, advanced, exit that, and find the "boot UEFI shell" option at the bottom of the dialog that pops up with exit options. No doubt a number of other Asus motherboards work similarly, but this is the one I've tested :smile:.

From other things I've read, it may matter having the shellx64.efi file on the USB stick. I had it in two places, at the root and in /EFI/TOOLS/, so I don't know which if either place is necessary.

I was able to find (with map) the right drive, and mount it, and list the files I put on it (ls). I'm tired and I have to research the exact commands and get them on paper for when I actually do this -- so I'm done for tonight, I'll get back to that in the morning (by which I mean some time between 10:00 and 14:00).
 

ethereal

Guru
Joined
Sep 10, 2012
Messages
762
these were the steps i took when i used a boot disc to flash my firmware.

https://forums.freenas.org/index.php?threads/my-socket-2011v3-build.24842/page-2


1. Items needed: DOS-bootable USB flash drive with MEGAREC.EXE and its dependency DOS4GW.EXE, EMPTY.BIN, sas2flash.efi, and the firmware version P20 of 2118it.bin.

2. Put the files on the DOS USB drive and boot the server with it.

3. Save original sbr (serial boot rom) by typing: megarec -readsbr 0 backup.sbr (put this backup in a safe place once you're done with the whole process).

4. Write an empty sbr file to controller: megarec -writesbr 0 empty.bin

5. Erase controller flash: megarec -cleanflash 0

6. Reboot into UEFI Shell (through F11 Boot menu).

7. In the SuperMicro UEFI Shell, you can see devices with map. Adding -b to most commands stops from scrolling off the screen.

8. fs0: takes you to the first filesystem (should be flash drive). Now ls will work to see files.

9. Erase the firmware and bios (not sure this is needed since I did it with megarec, but it didn't hurt): sas2flash.efi -o -e 6

10. This will say the controller is not operational, then ask for a firmware version, this is the file 2118it.bin. The erasure takes time.

11. Flash the controller to the new firmware: sas2flash.efi -o -f 2118it.bin

12. Put SAS address in where 500605b********* is the code on the green sticker on your card (no hyphens or spaces):
sas2flash.efi -o -sasadd 500605b*********

13. Verify success with: sas2flash.efi –list

14. In the list will be a Firmware product ID. If that ends with (IT), you should be good.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Many boards include the EFI shell executable. On any UEFI system, booting to a device that has said executable in its root will also work. This step is naturally unnecessary if the BIOS does include the executable - such is the case for Supermicro boards (X11 and X10 at the very least).
 
Joined
Jul 13, 2013
Messages
286
On any UEFI system, booting to a device that has said executable in its root will also work.

Nope; doesn't work on my Asus M5 A97 LE R2.0. I have to go through the UEFI setup screen (I keep wanting to say "BIOS", but it isn't that) and use the UEFI shell option in its exit command.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Nope; doesn't work on my Asus M5 A97 LE R2.0. I have to go through the UEFI setup screen (I keep wanting to say "BIOS", but it isn't that) and use the UEFI shell option in its exit command.
Well, you do have to boot in UEFI mode instead of BIOS compatibility mode, which may require additional configuration. Point is, if the BIOS doesn't include the EFI shell, it can be supplied on the root of a mass storage device.
 
Status
Not open for further replies.
Top