SOLVED SAS2FLASH Easier Alternative

Status
Not open for further replies.

YTKColumba

Dabbler
Joined
Jan 1, 2012
Messages
19
I've just upgrade to FreeNAS 9.3 and saw a warning error regarding firmware and driver version mismatch. I went through a lot of internet forum trying to upgrade my my LSI 9211-8i to V16 IT, but had no luck.

I currently do not have a system with a BIOS that supports EFI Shell. I tried upgrade via different methods:

- FreeNAS SAS2FLASH (can't convert IR to IT)
- FreeDOS (Failed to initialize PAL. Exiting program)
- Windows Boot Disk (Erase flash command not Supported on this platform.)

I've read that is highly recommended to have the firmware version to match the driver version. So I was wondering if a better way for upgrade / re-flash can be provided?
 

SweetAndLow

Sweet'NASty
Joined
Nov 6, 2013
Messages
6,421
you need to get the file that is called sas2flash.efi and place that along with the firmware file that ends in .bin onto the root of a flash drive then when in the bios the sas2flash.efi shell will appear as a boot option. Once you boot from this you can follow the directions to flash as normal. My motherboard didn't have a built in efi shell and i spent way to much time learning about everything before i found this solution.
 

YTKColumba

Dabbler
Joined
Jan 1, 2012
Messages
19
you need to get the file that is called sas2flash.efi and place that along with the firmware file that ends in .bin onto the root of a flash drive then when in the bios the sas2flash.efi shell will appear as a boot option. Once you boot from this you can follow the directions to flash as normal. My motherboard didn't have a built in efi shell and i spent way to much time learning about everything before i found this solution.
I got the sas2flash.efi and placed it on the root of the USB and I don't see an option to boot from it. Also as I mentioned I don't have machine with UEFI BIOS.
 

SweetAndLow

Sweet'NASty
Joined
Nov 6, 2013
Messages
6,421
If you saw the pal error then your bios is efi.
 

SweetAndLow

Sweet'NASty
Joined
Nov 6, 2013
Messages
6,421
You don't run it in dos you don't need any kind of os to do this. Your motherboard should give you the option to boot into the sas2flash.efi shell at the boot selection section of the bios. Or boot from the USB or something like that.
 

YTKColumba

Dabbler
Joined
Jan 1, 2012
Messages
19
You don't run it in dos you don't need any kind of os to do this. Your motherboard should give you the option to boot into the sas2flash.efi shell at the boot selection section of the bios. Or boot from the USB or something like that.
I have an ASUS M3A78-EM mobo and when I go to the boot menu and bios it doesn't have an options to boot from EFI.
 
Joined
Oct 2, 2014
Messages
925
Follow this guide, it will help you create a DOS bootable USB http://www.servethehome.com/ibm-serveraid-m1015-part-4/

Once you make the DOS bootable flash drive, reboot the server, press F8 while its booting and select the DOS bootable flash drive you just create to boot from it
 

YTKColumba

Dabbler
Joined
Jan 1, 2012
Messages
19
Follow this guide, it will help you create a DOS bootable USB http://www.servethehome.com/ibm-serveraid-m1015-part-4/

Once you make the DOS bootable flash drive, reboot the server, press F8 while its booting and select the DOS bootable flash drive you just create to boot from it
yep, tried that already, created bootable USB with MS-DOS and FreeDOS. Also tried booting with the Command Prompt from Windows installation disc as well as using Linux Live CD, none of them worked...
 

SweetAndLow

Sweet'NASty
Joined
Nov 6, 2013
Messages
6,421
Ok there are two ways to get this done. The efi way and the non efi way. Since you got the PAL error I'm assuming your bios is UEFI and asus just does a terrible job making this known. I looked though my notes and will try to walk you through how to do it the efi way when your motherboard doesn't have a built in efi shell. You should ignore all you have read about making a dos bootable usb, that method only works for the non uefi motherboards and is how most of the guides are written. What you need to do is:

1. format a usb stick to FAT filesystem
2. Download the sas2flash.efi file from lsi.
3. create a directory hierarchy on the usb like this /efi/boot/
4. now in /efi/boot/ place the sas2flash.efi file and name it bootx64.efi
* this is now going to let your bios see the sas2flash.efi as a possible boot device and will boot you into a efi shell.
5. now download the firmware you need and the rom you need. For me it was 2118.it.bin and mptsas2.rom.
6. place those in the root of the USB stick. they can probably go anywhere but the root makes it easy.
7. now boot your pc and enter the bios.
8. go to the boot device selection screen and select the usb option. It will probably show up as "UEFI: USB USB" or some variation of.
9. when you select that you should get dropped into a efi shell that you can execute the sas2flash commands in that you see in all the other guides.

I meant to make a write up of this in more detail and share it but never got around to it.
 

YTKColumba

Dabbler
Joined
Jan 1, 2012
Messages
19
Ok there are two ways to get this done. The efi way and the non efi way. Since you got the PAL error I'm assuming your bios is UEFI and asus just does a terrible job making this known. I looked though my notes and will try to walk you through how to do it the efi way when your motherboard doesn't have a built in efi shell. You should ignore all you have read about making a dos bootable usb, that method only works for the non uefi motherboards and is how most of the guides are written. What you need to do is:

1. format a usb stick to FAT filesystem
2. Download the sas2flash.efi file from lsi.
3. create a directory hierarchy on the usb like this /efi/boot/
4. now in /efi/boot/ place the sas2flash.efi file and name it bootx64.efi
* this is now going to let your bios see the sas2flash.efi as a possible boot device and will boot you into a efi shell.
5. now download the firmware you need and the rom you need. For me it was 2118.it.bin and mptsas2.rom.
6. place those in the root of the USB stick. they can probably go anywhere but the root makes it easy.
7. now boot your pc and enter the bios.
8. go to the boot device selection screen and select the usb option. It will probably show up as "UEFI: USB USB" or some variation of.
9. when you select that you should get dropped into a efi shell that you can execute the sas2flash commands in that you see in all the other guides.

I meant to make a write up of this in more detail and share it but never got around to it.

I just tried the method you've provided, and it did not work.

I understand your method, and I believe it will probably work if is UEFI BIOS, but my BIOS is not a UEFI. I am not sure why you think the PAL error leads toward UEFI?

The mobo is ASUS M3A78-EM and came up a while ago and it only have legacy BIOS even with the latest update.

Could you please let me know how would you do it the non efi way?

Thank you for all your help.
 

mjws00

Guru
Joined
Jul 25, 2014
Messages
798
Here is the most complete answer I could find on the PAL error. http://mycusthelp.info/LSI/_cs/AnswerDetail.aspx?inc=8352

Bottomline is it the BIOS must support the BIOS32 Service directory feature. Or you throw the PAL error. To which the most common answer is use UEFI or a different motherboard to flash the card.

Note: The DOS version of sas2flsh (sas3flsh for 12 Gb/sec HBAs) requires that the motherboard support the BIOS32 service directory feature. If the BIOS32 service directory feature isn't supported, when DOS is booted and sas2flsh.exe is run, an error message "ERROR: Failed to initialize PAL. Exiting program." will be displayed. You can either use the UEFI version of sas2flsh (called sas2flash.efi for 6 Gb/sec, or sas3flash.efi for 12 Gb/sec), or contact the motherboard vendor and ask if it is possible to add BIOS32 service directory support to the motherboard (most likely via a motherboard BIOS update).
 

mjws00

Guru
Joined
Jul 25, 2014
Messages
798
What error does 'sas2flash' throw when run from the FreeNAS CLI? Not sure why it wouldn't work from there. But I always just use DOS or UEFI as it is habit.
 

YTKColumba

Dabbler
Joined
Jan 1, 2012
Messages
19
What error does 'sas2flash' throw when run from the FreeNAS CLI? Not sure why it wouldn't work from there. But I always just use DOS or UEFI as it is habit.
from FreeNAS CLI I get the error that I couldn't update / convert Firmware from IR to IT.
 

mjws00

Guru
Joined
Jul 25, 2014
Messages
798
You need to list exact commands and ouput in code tags. It may not work, but at least we will have good info.
run:
** To wipe the card
>sas2flash -o -e 6

**To install the firmware to the wiped card
>sas2flash -o -f 2118it.bin

Post commands and output in code tags, so we can see exact details. Does the wipe fail? Does forcing the write to a clean card cause an error? IR to IT is never a one shot deal.

You could also write an empty '.bin' and see what happens. i.e pretend this is a crossflash.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
You need to list exact commands and ouput in code tags. It may not work, but at least we will have good info.
run:
** To wipe the card
>sas2flash -o -e 6

**To install the firmware to the wiped card
>sas2flash -o -f 2118it.bin

Post commands and output in code tags, so we can see exact details. Does the wipe fail? Does forcing the write to a clean card cause an error? IR to IT is never a one shot deal.

You could also write an empty '.bin' and see what happens. i.e pretend this is a crossflash.

Doing that is almost crazy dangerous. If he wipes the card and can't install the firmware (which so far he hasn't been able to do) he'll brick his card.. permanently.
 

mjws00

Guru
Joined
Jul 25, 2014
Messages
798
@cyberjock He has to wipe the card to install IT software. You know that as well as I do. There is no gain without risk when flashing firmware. I've spewed my hate on this many many times. But accept the vile practice as necessary. ;)

That said if you wanted to test an IR upgrade via the built in sas2flash that would be safer and verify the ability to write. Eventually, you have to suck it up and wipe the thing.

If you have a better idea, speak up cyberjock.

Edit: Good chance the wipe won't execute under BSD... but I can't test that atm. Also I would have thrown this card on another mobo long, long ago (post #12). Why do this on an old AMD that is giving you grief?
 
Last edited:

YTKColumba

Dabbler
Joined
Jan 1, 2012
Messages
19
You need to list exact commands and ouput in code tags. It may not work, but at least we will have good info.
run:
** To wipe the card
>sas2flash -o -e 6

**To install the firmware to the wiped card
>sas2flash -o -f 2118it.bin

Post commands and output in code tags, so we can see exact details. Does the wipe fail? Does forcing the write to a clean card cause an error? IR to IT is never a one shot deal.

You could also write an empty '.bin' and see what happens. i.e pretend this is a crossflash.
Doing that is almost crazy dangerous. If he wipes the card and can't install the firmware (which so far he hasn't been able to do) he'll brick his card.. permanently.
@cyberjock He has to wipe the card to install IT software. You know that as well as I do. There is no gain without risk when flashing firmware. I've spewed my hate on this many many times. But accept the vile practice as necessary. ;)

That said if you wanted to test an IR upgrade via the built in sas2flash that would be safer and verify the ability to write. Eventually, you have to suck it up and wipe the thing.

If you have a better idea, speak up cyberjock.

Edit: Good chance the wipe won't execute under BSD... but I can't test that atm. Also I would have thrown this card on another mobo long, long ago (post #12). Why do this on an old AMD that is giving you grief?

mjws00 is correct, the wipe won't work in FreeNAS. I tried sas2flash -o -e 6 and it said it can't be executed.
 

mjws00

Guru
Joined
Jul 25, 2014
Messages
798
So you have limited options left:

1. Easiest by far is to use a different box where the standard commands work. Truth is this reflash should take less than 10 minutes and is pretty easy on hardware that supports it.
2. Find out what is up with the ASUS board. Maybe a later BIOS version or something upgraded it to a standard where the DOS flash will work. It kinda looks like they have some sort of UEFI hack going on for that expressgate BS. But no functional UEFI shell or provisions for it. 2008 is early days for UEFI, and even recently ASUS has a poor implementation requiring you to add a shell. So not worth the fight, imho.
3. I'd upgrade to a different board. Or pick an OS that is happy on that gear. Even if you were running 8GB ECC ... still kinda gross. But you listed no specs.

Sorry man. You've pretty much tried all the reasonable approaches. There is no magic wand.
 

YTKColumba

Dabbler
Joined
Jan 1, 2012
Messages
19
So you have limited options left:

1. Easiest by far is to use a different box where the standard commands work. Truth is this reflash should take less than 10 minutes and is pretty easy on hardware that supports it.
2. Find out what is up with the ASUS board. Maybe a later BIOS version or something upgraded it to a standard where the DOS flash will work. It kinda looks like they have some sort of UEFI hack going on for that expressgate BS. But no functional UEFI shell or provisions for it. 2008 is early days for UEFI, and even recently ASUS has a poor implementation requiring you to add a shell. So not worth the fight, imho.
3. I'd upgrade to a different board. Or pick an OS that is happy on that gear. Even if you were running 8GB ECC ... still kinda gross. But you listed no specs.

Sorry man. You've pretty much tried all the reasonable approaches. There is no magic wand.
yeah, unfortunately i don't own any other machine with UEFI BIOS. My ASUS board is already on the latest version of the BIOS and I don't seem to be able to get into the EFI Shell. I'll have to see if I can find a non EFI solution.
 
Status
Not open for further replies.
Top