Register for the iXsystems Community to get an ad-free experience and exclusive discounts in our eBay Store.

Flashing the LSI2308 firmware on a Supermicro X10SL7-F motherboard.

Status
Not open for further replies.

PenalunWil

Member
Joined
Dec 30, 2013
Messages
115
I appreciate that there are a lot of examples of this in the forums and may be I'm heaping coals onto an already burning fire, but I've written this as an aid to myself and to help me if I have to do it again at some point in the future.

First things first don’t use the DOS prompt instructions for flashing the LSI’s firmware. It is far easier using the UEFI shell method. If your not familiar with the UEFI shell then go back and read up about your Supermicro motherboard and how to use IPMI view. So it is very important to enter the Supermicro’s BIOS set up and change the boot options to the UEFI built in shell. This will direct you to UEFI shell when you turn off and re-boot the Supermicro motherboard. Also before you start make sure that “Watchdog” and “XHC1” in your Motherboard BIOS is disabled.

To continue you will need to get the LSI SAS address for your motherboard. Restart your Supermicro motherboard and when you see the LSI prompt “LSI Corporation” press “control-C” on your keyboard (all of this can be done from the IPMI GUI). Press “control-C” and you should see “starting configuration utility”. Here you can also see what firmware is currently running and in what mode. Mine is version P20.00.20.00 in raid IT.

You can now press enter and this will show you the SAS address which should look a little like this > 50030480:119C8300.

Next disconnect all the hard drives from the motherboard’s LSI 2308 raid controller just to be on the safe side. Make sure you note which cable goes where. Get a permanent marker and write the SATA Mobo connection on the cable, or note your hard drives order and mark the cables in their correct order. It would also be prudent to make sure you have backed up your all your data and config files etc as recommended in the FreeNAS manual.

Next format a USB stick/flashdrive in FAT32 ready for the firmware.

Using a web browser ( from another computer if you want) go to ftp://ftp.supermicro.com/Driver/SAS/LSI/2308/Firmware/IT and download the latest version of this firmware to a previously prepared file on that computer and extract the ZIP contents to here. Insert your USB stick/flashdrive into this computer and copy the contents of the UEFI file onto it. This should include a file/programme called SMC2308T.NSH


With the firmware safely on the USB stick remove it from the computer and insert it into one of the USB sockets on your Supermicro motherboard. Then start up your motherboard and enter/press F11 and enter the UEFI shell if you haven’t already done so. You should see the USB stick/flashdrive “fso”. If not power down and power up the motherboard again.

From this position you should be able to flash the firmware by typing - shell> SMC2308T.NSH and then press enter. The programme will start to run and when it has completed it will ask for the last nine numbers and letters of your SAS address which you should type in and then press enter.

On completion of the update or flash you can re-enter the motherboards LSI by pressing “control-C” on boot up and checking that the firmware has actually up-dated and in the correct mode. If you’re happy you should then enter the motherboard’s BIOS again and change the boot order back to the FreeNAS device in order for the host to start up. Further re-connect all your hard drives in their proper original order.

Finally re-boot your motherboard and your FreeNAS should be up and running with your new firmware.
 

depasseg

FreeNAS Replicant
Joined
Sep 16, 2014
Messages
2,862
If not power down and power up the motherboard again.
You can also use "map -r" command to reload the available drives. I just recently figured that out after a year of rebooting. :smile:
 

Jailer

Not strong, but bad
Joined
Sep 12, 2014
Messages
4,364
You don't need to change the boot order in the BIOS. When you reboot you are presented with a boot menu option (IIRC it's F11 or F12) that will let you select the UEFI shell.

And if you want to save the instruction I'll attach this PDF file again (I've posted it before) that spells it all out. It's for an X9 series board but the procedure is identical.
 

Attachments

Last edited:

philiplu

Member
Joined
Aug 10, 2014
Messages
58
To continue you will need to get the LSI SAS address for your motherboard. Restart your Supermicro motherboard and when you see the LSI prompt “LSI Corporation” press “control-C” on your keyboard (all of this can be done from the IPMI GUI). Press “control-C” and you should see “starting configuration utility”. Here you can also see what firmware is currently running and in what mode. Mine is version P20.00.20.00 in raid IT.

You can now press enter and this will show you the SAS address which should look a little like this > 50030480:119C8300.
You can also find the SAS address while FreeNAS is running, which I find easier than trying to time entering the controller firmware after a reboot. Bring up a console and run sas2flash -listall:
Code:
[phil@Marvin ~]$ sudo sas2flash -listall
LSI Corporation SAS2 Flash Utility
Version 16.00.00.00 (2013.03.01)
Copyright (c) 2008-2013 LSI Corporation. All rights reserved

        Adapter Selected is a LSI SAS: SAS2308_1(D1)

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

0  SAS2308_1(D1)   20.00.02.00    14.01.00.14    07.39.00.00     00:02:00:00

        Finished Processing Commands Successfully.
        Exiting SAS2Flash.

Then run sas2flash -c # -list, where '#' is the controller num from the -listall output. You can omit the -c # if you've only got the single controller:
Code:
[phil@Marvin ~]$ sudo sas2flash -list
LSI Corporation SAS2 Flash Utility
Version 16.00.00.00 (2013.03.01)
Copyright (c) 2008-2013 LSI Corporation. All rights reserved

        Adapter Selected is a LSI SAS: SAS2308_1(D1)

        Controller Number              : 0
        Controller                     : SAS2308_1(D1)
        PCI Address                    : 00:02:00:00
        SAS Address                    : 5003048-0-11c7-eb00
        NVDATA Version (Default)       : 14.01.00.14
        NVDATA Version (Persistent)    : 14.01.00.14
        Firmware Product ID            : 0x2214 (IT)
        Firmware Version               : 20.00.02.00
        NVDATA Vendor                  : LSI
        NVDATA Product ID              : LSI2308-IT
        BIOS Version                   : 07.39.00.00
        UEFI BSD Version               : 07.27.01.00
        FCODE Version                  : N/A
        Board Name                     : LSI2308-IT
        Board Assembly                 : N/A
        Board Tracer Number            : N/A

        Finished Processing Commands Successfully.
        Exiting SAS2Flash.

The SAS Address will be output, along with a bunch of other info, though here it includes dashes instead of the colon displayed during boot-up.
 

PenalunWil

Member
Joined
Dec 30, 2013
Messages
115
You can also use "map -r" command to reload the available drives. I just recently figured that out after a year of rebooting. :)
Thanks depasseg... that one is new on me too... BRILLLLL

You don't need to change the boot order in the BIOS. When you reboot you are presented with a boot menu option (IIRC it's F11 or F12) that will let you select the UEFI shell.

And if you want to save the instruction I'll attach this PDF file again (I've posted it before) that's spells it all out. It's for an X9 series board but the procedure is identical.
That's a Cracking PDF Jailer.. I've printed it off and added to my FreeNAS manual. Thanks Buddy.

You can also find the SAS address while FreeNAS is running, which I find easier than trying to time entering the controller firmware after a reboot. Bring up a console and run sas2flash -listall:
Code:
[phil@Marvin ~]$ sudo sas2flash -listall
LSI Corporation SAS2 Flash Utility
Version 16.00.00.00 (2013.03.01)
Copyright (c) 2008-2013 LSI Corporation. All rights reserved

        Adapter Selected is a LSI SAS: SAS2308_1(D1)

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

0  SAS2308_1(D1)   20.00.02.00    14.01.00.14    07.39.00.00     00:02:00:00

  
The SAS Address will be output, along with a bunch of other info, though here it includes dashes instead of the colon displayed during boot-up.
[/QUOTE]

Another little gem... many thanks philiplu... this ones going into my manual as well.

Thanks to everyone... :):cool:;)
 

depasseg

FreeNAS Replicant
Joined
Sep 16, 2014
Messages
2,862
If you look at the .NSH file you will see that it's just a script. I find it easier (less risk and less work) to just run sas2flash.efi (or sas3flash.efi) -fwall filename.bin. This doesn't actually erase the firmware that is currently on the card until it's verified that the new firmware is compatible, and it doesn't require you to keep track of the address.

So it's the same process in terms of getting the files onto the USB and booting from USB (except you only need 2 files), and then run that single command (I prefer not to have the bootable option, so I don't bother with the mptsas.rom files). The nice this is that this approach also works for non-SuperMicro chips (SM seems to be the only one who creates the .NSH script).
 

kirkdickinson

Member
Joined
Jun 29, 2015
Messages
98
You can now press enter and this will show you the SAS address which should look a little like this > 50030480:119C8300.
Yeah, Mine looks like that. 50030480:1CA1F900 two sets of 8 alphanumerics separated by a Colon

when it has completed it will ask for the last nine numbers and letters of your SAS address which you should type in and then press enter.
Is a little confusing. I had to try a couple of times. The colon is not part of the alphanumeric. You have to use one number before the colon and then 8 after. Uggg. I feel so stupid.

I now have firmware revision
20.00.04.00-IT

OP has P20.00.20.00-IT

I got my firmware from that link why is it different?
 

solarisguy

Neophyte Sage
Joined
Apr 4, 2014
Messages
1,125
To all who wonder...

The initial post has an error. The version is 20.00.02.00 (please notice that it is 02, and not 20). This is an older version. The current version is 20.00.04.00.

Version 20.00.04.00 is currently available at ftp://ftp.supermicro.com/Driver/SAS/LSI/2308/Firmware/IT/

The older version (it contains errors, so it was fairly quickly replaced by the new version) is available at ftp://ftp.supermicro.com/Driver/SAS/LSI/2308/Firmware/IT/Previous%20Releases/
 

Jeff Lamer

Member
Joined
Nov 17, 2015
Messages
121
I've posted this here just in case some one makes the same mistake as me!

https://forums.freenas.org/index.ph...reciated-and-thanked.39333/page-2#post-247460

OK , I really think I screwed up this time. When I was flashing my SAS to SATA I screwed up and only entered 8 numbers instead of 9 ( I only wrote down 8 numbers) I though I could go back and get the numbers and start over....No such luck :)
What can I do now ????


 

depasseg

FreeNAS Replicant
Joined
Sep 16, 2014
Messages
2,862
You can use the "sas2flash" command to (re-)program the address:
Code:
5.4.21 Program SAS Address 
Use the Program SAS Address command to program the specified controller with a SAS
address. You must provide the complete SAS address, which is programmed directly to
the controller. This command recognizes the input format of the SAS address. The
address can optionally include the hexadecimal prefix 0x.
Syntax:
sas2flash –o –sasadd 50062b000000000
sas2flash –o –sasadd 0x50062b000000000

5.4.22 Program SAS Address High
Use the Program SAS Address High command to program the specified controller with
the first 28 bits (seven characters) of the SAS address, which are specified at the
command line. The SAS2Flash Utility then prompts you to enter the other nine
characters and programs the value to the controller. Use this command with a barcode
reader.
Syntax:
sas2flash –o –sasaddhi 50062b0
 

RichTJ99

Senior Member
Joined
Sep 12, 2013
Messages
376
Quick question on the flashing.

I formatted to Fat32, copied the UEFI directory to the drive, booted to shell & it cant seem to see it.

I think it is me as i tried 3 different usb sticks.

Any ideas what I am doing wrong?

Thanks,
Rich
 

Attachments

RichTJ99

Senior Member
Joined
Sep 12, 2013
Messages
376
Nope, just the one stick.

I even unplugged all the SATA hard drives.

Fat32 formatted at default windows 7 settings.
 

suhlhorn

Junior Member
Joined
Apr 20, 2016
Messages
23
If you look at the .NSH file you will see that it's just a script. I find it easier (less risk and less work) to just run sas2flash.efi (or sas3flash.efi) -fwall filename.bin. This doesn't actually erase the firmware that is currently on the card until it's verified that the new firmware is compatible, and it doesn't require you to keep track of the address.
Thanks for this tip. Sorry if this is too noob, but...
Which file do you use for "filename.bin"? There are 3 *.ROM files under the UEFI directory, but none are *.bin.

Thanks-
-stephen
 

depasseg

FreeNAS Replicant
Joined
Sep 16, 2014
Messages
2,862
You can use the .ROM files. (You can always read through the .BAT and/or the .NSH files in a text editor to see what commands they will run).
 

depasseg

FreeNAS Replicant
Joined
Sep 16, 2014
Messages
2,862
Status
Not open for further replies.
Top