Default firmware for this guide is:
2118it.bin
Version 20.00.07.00
Release date: 11-FEB-16
WARNING: If you have an Integrated, Mini or Mini Mono Perc H310 do NOT try to crossflash with these steps.
So this guide will be the update to my first guide… without double checking everything I’m pretty sure it’s almost identical except for the link to the ZIP file. So I’m not sure why I retyped all of this instead of just updating the ZIP file in the old guide. Anyway…. the difference between the old and new ZIP file is the sas2flsh and sas2flash versions. The default sas2flsh.exe and sas2flash.efi in this new ZIP file are p5 which allows you to pretty much overwrite/downgrade any firmware. This will help mainly those who were getting stuck on the H200 cards. I’ve also included driver, firmware and sas2flash folders that contain a wide array of sometimes hard to find versions.
If you’re just looking for a list of commands that need to be executed then check the very bottom of this page.
Things you’ll need:
- Bootable USB (link). You can follow this post on using Rufus to create a quick FreeDOS bootable USB Drive.
- For those with newer UEFI motherboards you’ll need bootx64.efi (link) (alternate link).
- You’ll want the version: Precompiled x86_64 UEFI Shell v1 Binary.
- This should already be included in the LSI-9211i8i.zip I’ve provided in the next link.
- LSI-9211-8i.zip (link). The main firmware file in this ZIP is P20. This has been updated to support the latest version of FreeNAS. The ZIP also contains versions of the tools that will make this process a bit easier. The default sas2flash tools are P05 which allow downgrading and flashing of non-compatible firmware in many cases.
- Thanks to mobilenvidia and Bryan Vyhmeister (brycv.com) for providing/finding a lot of the files and information used here.
- Both of these guys have provided great guides on flashing IBM M1015 cards and other great information.
- If you have a Dell Perc H310 and your computer won’t boot then you’ll need to cover PCIe pins B5 and B6. You can cover them with a thin piece of electrical tape. Thanks to Andy_Steb from AVS for sharing this tip he found.
- Make sure you don’t cover the A pins on the other side.
B Pins that need to be covered A Pins that should be left exposed
- Make sure you don’t cover the A pins on the other side.
- Your card may have a sticker on it marked SAS Address. If it does then write this down so it’s easily accessible.
Moving on to the steps:
- First thing we need to do is prepare the USB drive.
- Once you’ve created the bootable USB drive in step 1 you want to copy the contents of LSI-9211-8i.zip onto the USB drive.
- The root of the USB drive should look like this:
- Next we’ll want to reboot and boot into FreeDOS/MS-DOS.
- With the bootable USB drive inserted (may work best in a USB2.0 port on the back of the computer) a reboot may boot directly into the USB drive. If not you will need to select the drive from a boot menu. This will be different for every motherboard but should be similar.
- In the below screen shot you can see an ASUS UEFI BIOS Utility screen. At this screen you can hit F8 and select a boot device. The USB drive shows up indented and labeled Patriot Memory. Yours will most likely be labeled by whatever type of drive you have.
- In the below screen shot you can see a GIGABYTE UEFI BIOS screen. This is presented on the Save & Exit tab. The drive also shows up indented here and labeled Patriot Memory PMAP.
- Clicking or Double-clicking on Patriot Memory should boot into the DOS environment as shown below.
- Next we can begin flashing the card.
- If your card doesn’t have a sticker with the SAS Address you should be able to follow these steps to obtain the address.
- If you have a Dell Perc H310 then follow these steps.
megacli.exe -AdpAllInfo -aAll -page 20
- Hit enter once or twice and you should scroll through screens that look like this:
- Write down the SAS Address.
- If you have a Dell Perc H200 then follow the below steps. (If you have a UEFI motherboard then see the steps below for UEFI motherboards)
- To save the SAS Address we’ll need to use sas2flash.
sas2flsh.exe -listall
- You should get a listing of all the cards installed.
- Use the number in the first column to get the SAS Address for the card.
sas2flsh.exe -c 0 -list
- This should dump all the information for the card including the SAS Address.
- Write down the SAS Address and continue to the next steps.
- Flash the card with the Dell 6gbps HBA Firmware.
- The steps for flashing the H310 and H200 will be the same.
megarec.exe -writesbr 0 sbrempty.bin
- If this command fails it should be safe to proceed to step 2.
megarec.exe -cleanflash 0
- Reboot the computer and boot back into the USB drive.
sas2flsh.exe -o -f 6GBPSAS.fw
If flashing a M1015 you can use the 2118p7.bin instead of the 6GBPSAS.FWs2fp19.exe -o -sasadd 500xxxxxxxxxxxxx
(replace this address with the one you wrote down in the first steps).- Reboot the computer and boot back into the USB drive.
- Flash the card with the LSI 9211-8i Firmware.
- The same steps will flash the card to a LSI 9211-8i.
sas2flsh.exe -o -f 2118it.bin
- It should ask you if you want to flash anyway. Type Y to proceed.
- Reboot the computer back into your OS. You may need to remove your USB drive if it was automatically booting.
- Alternatively you can use sas2flsh.exe to flash the 2118p7.bin and then use s2fp19.exe to flash the 2118it.bin. Depending on the revision of the card this method can provide cleaner output for the card details.
- If you’re running linux or BSD then you should be finished. If you’re running Windows 7/2008 R2 and possibly Windows 8.1 then you’ll want to update your drivers.
- Click this (link) to take you back to my previous guide on how to update the drivers.
UEFI Motherboards
- Now if you have a UEFI motherboard and received an error like this:
"ERROR: Failed to initialize PAL. Exiting program."
when trying to run sas2flsh then you’re going to have to run the flashing steps in an efi shell. All of the other instructions should work fine. When you reboot after runningmegarec -cleanflash 0
is when you’ll need to enter the efi shell. - As noted above for the H200 you will need to run sas2flash from the UEFI shell in order to save the SAS Address.
- The EFI boot shell should already be on the USB drive.
- After the
megarec -cleanflash 0
completes, instead of rebooting into the USB drive we’ll want to reboot into the UEFI shell.
- After the
- Using the same two UEFI BIOS configuration screens I’ll show you how to enter the UEFI shell.
- With the GIGABYTE board we will just select the UEFI USB option highlighted below.
- With the ASUS boards you will most likely need to disable secure boot first. This could pertain to other boards as well.
- For the board I was using this was under the Boot tab and named Secure Boot in the Advanced section of the utility.
- Open that option and select Other OS.
- Save those settings and reboot back into the UEFI BIOS utility.
- I had issues launching the UEFI shell from the below menu in the exit screen.
- You should be able to select Launch EFI Shell from filesystem device but that did not work for me.
- I was however able to select ASUS EZ Mode and then use F8 to select the boot device.
- Selecting UEFI: Patriot Memory this time.
- This should launch a shell that looks like this:
- From here you’ll need to select your USB drive.
- Type the following command to display the devices with a -b to pause on each full screen.
map -b
- As long as you have 1 USB drive inserted it will most likely be the first device that shows up labeled
fs0
.
- To select that device type:
fs0:
- Your
Shell>
prompt should change to afs0:\>
prompt.
- Now you can run your sas2flash command. Note that the efi executable is named sas2flash.efi instead of sas2flsh.exe.
- To save the SAS Address for the Perc H200 run the following commands:
sas2flash.efi -listall
- You should get a listing of all the cards installed.
- Use the number from the first column to get the SAS Address for the card.
sas2flash.efi -c 0 -list
- This should dump all the information for the card including the SAS Address.
- Write down the SAS Address and continue to the next steps.
sas2flash.efi -o -f 6GBPSAS.FW
If flashing a M1015 you can use the 2118p7.bin instead of the 6GBPSAS.FWsas2flash_p19.efi -o -sasadd 500xxxxxxxxxxxxx
(replace this address with the one you wrote down)- Reboot the computer and boot back into the UEFI shell.
- The same steps will flash the card to a LSI 9211-8i.
sas2flash.efi -o -f 2118it.bin
- It should ask if you want to flash anyway. Type Y to proceed.
- Reboot the computer back into your OS. You may need to remove the USB drive.
- Alternatively you can use sas2flsh.exe to flash the 2118p7.bin and then use s2fp19.exe to flash the 2118it.bin. Depending on the revision of the card this method can provide cleaner output for the card details.
- If you’re running linux or BSD then you should be finished. If you’re running Windows 7/2008 R2 and possibly Windows 8.1 then you’ll want to update your drivers.
- Click this (link) to take you back to my previous guide on how to update the drivers.
- With the GIGABYTE board we will just select the UEFI USB option highlighted below.
Here is a quick summary of steps to reference:
megacli.exe -AdpAllInfo -aAll -page 20
Write down SAS address.megarec.exe -writesbr 0 sbrempty.bin
If this fails move on to next step.megarec.exe -cleanflash 0
Reboot.sas2flsh.exe -o -f 6GBPSAS.fw
Reboot.sas2flsh.exe -o -f 2118it.bin
- or sas2flsh.exe -0 -f 2118p7.bin, reboot, then s2fp19.exe -o -f 2118it.bin
s2fp19.exe -o -sasadd 500xxxxxxxxxxxxx
sas2flsh.exe -c 0 -list
Write down SAS address.megarec.exe -writesbr 0 sbrempty.bin
If this fails move on to next step.megarec.exe -cleanflash 0
Reboot.sas2flsh.exe -o -f 6GBPSAS.fw
Reboot.sas2flsh.exe -o -f 2118it.bin
- or sas2flsh.exe -o -f 2118p7.bin, reboot, then s2fp19.exe -o -f 2118it.bin
s2fp19.exe -o -sasadd 500xxxxxxxxxxxxx
- Run the following commands in the DOS prompt:
megacli.exe -AdpAllInfo -aAll -page 20
Write down SAS address.megarec.exe -writesbr 0 sbrempty.bin
If this fails move on to next step.megarec.exe -cleanflash 0
- Reboot into UEFI shell and run the following commands:
sas2flash.efi -o -f 6GBPSAS.FW
Reboot and return to UEFI shell.sas2flash.efi -o -f 2118it.bin
- or sas2flash.efi -o -f 2118p7.bin, reboot, then
sas2flash_p19.efi -o -f 2118it.bin
- or sas2flash.efi -o -f 2118p7.bin, reboot, then
sas2flash_p19.efi -o -sasadd 500xxxxxxxxxxxxx
- Boot into UEFI shell:
sas2flash.efi -c 0 -list
Write down SAS address.
- Reboot into DOS prompt:
megarec.exe -writesbr 0 sbrempty.bin
If this fails move on to next step.megarec.exe -cleanflash 0
- Reboot into UEFI shell:
sas2flash.efi -o -f 6GBPSAS.FW
Reboot and return to UEFI shell.sas2flash.efi -o -f 2118it.bin
- or sas2flash.efi -o -f 2118p7.bin, reboot, then
sas2flash_p19.efi -o -f 2118it.bin
- or sas2flash.efi -o -f 2118p7.bin, reboot, then
sas2flash_p19.efi -o -sasadd 500xxxxxxxxxxxxx
Please leave a comment if these instructions were helpful or if you found them to be too confusing. Thanks!
You can also reach me via PM on reddit. /u/techmattr
Everything worked out on my H310 regarding the flashing itself, even without masking the pins.
However making bootable USB for BIOS using latest Rufus did not work for me, I got “DOS/32A fatal (4003): not enough extended memory to load application exec “MEGACLI”.” after issuing the first command. What I ended up doing is, after formatting to FreeDOS mode in Rufus I copied FreeDOS files from the Bootable Floppy .img file available at FreeDOS website (http://www.freedos.org/download/) onto the formatted USB stick, deleted setup.bat and then proceeded to copy flashing related files from the zip from this guide.
There is probably a smoother way to do it, but this was the first thing that worked for me, maybe it will help someone.
Cheers!
Hi,
To retrieve the SAS#. What method is everyone using? I tried using the FREEDOS usb bootable flash key method above and I keep getting the
DOS/32A fatal (4300): not enough extended memory to load application exec “C:\megacli.exe”
I tried even installing an old windows xp copy i had in doing it again in CMD prmpt and it just hangs after entering the exe w/parameters.
So I managed to move on to the next step, but now I’m having issues at the point where I attempt to install the Dell 6GBPSAS.fw file. Every step before that went fine.
When I tell the flasher to load the fw file using the command line: sas2flsh.exe -o -f 6GBPSAS.fw
It starts the LSI flash utility and then it hangs on “Chip is in RESET state. Attempting Host Boot…”
It will remain here until I manually turn on the computer. I’m attempting to run this on an old AMD desktop with ASUS mobo.
Thanks
I’ve just done this, but now the bios, cannot “see the card”, so I cannot enter the config utility. Windows can see it, as 6GB SAS adapter though? Any suggestions ?
Aaah.. Looking through the comments, it actually seems like, its because its flashed without the “bios/firmware” ! I’ve hooked disks to it, and it works flawlessly! Not really sure if I should add the firmware to it, I have really no need for it. Many many thanks! This was btw an H200 card! 🙂
You should only flash the BIOS to the card if you need to boot from disk attached to the card. Which you shouldn’t do anyway.
I’ve just done this, but now the bios, cannot “see the card”, so I cannot enter the config utility. Windows can see it, as 6GB SAS adapter though.
Unable to execute -b mpt2sas.rom
Can anyone help??
No option of ctrl+c appears.
I am stuck
I’m trying to flash this but I can’t even get past the first step. I am getting a Fatal 4003, not enough extended memory. I created the freedos bootable usb with rufus. I can’t find anything online on how to fix it.
If you made a FreeDOS USB stick with Rufus and you get error below when running “megacli.exe -AdpAllInfo -aAll -page 20”:
DOS/32A warning (9004): mouse initialization failed
DOS/32A warning (9001): no extended memory has been allocated
DOS/32A fatal (4003): not enough extended memory to load application exec “C:\MEGACLI.EXE”
Add himemx to the file “sysconfig” in FreeDOS USB stick. You have to enable viewing system config files in Windows to see the sysconfig file.
https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/himemx.html
Contents of my sysconfig on the FreeDOS USB stick:
!MENUCOLOR=7,0
MENU
MENU FreeDOS Language Selection Menu
MENU ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
MENU
MENUDEFAULT=1,5
MENU 1) Use Finnish keyboard with US-English codepage [437]
MENU 2) Use US-English keyboard with US-English codepage [437]
MENU
12?
device=c:\himemx\BIN\HIMEMX.EXE
So the line “device=c:\himemx\BIN\HIMEMX.EXE” has been added to the end of the file.
Now “megacli.exe -AdpAllInfo -aAll -page 20” should work.
And just to be clear, of course you need to download the himemx file also from the link of previous message, not just add line “device=c:\himemx\BIN\HIMEMX.EXE” to the sysconfig.
This worked but I had a scare in the middle of my H200 UEFI process. It skips the zeroing step in there (reboot to legacy DOS, run the megarec commands, reboot back to UEFI). This means that I went directly to using sas2flash.efi to flash, and it bricked my card. I was able to recover it by rebooting to legacy DOS, running the megarec commands, then rebooting to UEFI and continuing the UEFI flash process. My card is running in IT mode now with >100MB/s rates (was ~30MB/s before). THANKS!
i successfully did the megarec.exe -cleanflash 0, but after that it says no SLI sas adapters found. can anyone help
No matter what I have tried to get an H200 into IT mode it always fails with “cannot overwrite IR with IT” I can always get it to flash back to IR.
I flashed my H310 without problems, but I noticed that the firmware version when I was done was P19, not P20. The 2118it.bin file in the ZIP from the MediaFire link I used is dated 2014-04-15. Huh?! It took me a while to figure out my error: before finding and following this tutorial, I’d downloaded the ZIP from the MediaFire link *from your YouTube video*, which is older. User error on my part—but including the “P20” part in your ZIP naming convention woulda helped….
I didn’t realize the video had a different file. I’ll look into that.
This guide is so well written and still up to date and helpful to so many people, I am actually thinking to go through with it – thanks for your effort @mattr.
I am still finding my way around NAS (it is my first attempt!) – I just learned about FreeNAS, OpenMediaVault with ZFS and all these card types and different modes etc.
The hardware is DELL PE T610 with H200/6Gbps SAS HBA BIOS, MPT2BIOS-7.01.09.00 (2010.03.22) and it says SAS2008-IR (Product Identifier). It sits in the storage-slot, not a common pci-slot. I boot from an pci-SSD-SATA and use 3x1TB HDDs (2xWD red, one old Seagate for playing around).
So I am writing all this because I can not tell which information is important and which is not… sorry for that.
I am considering running proxmos and an omv-VM (Snapraid + unionfs maybe) or perhaps a real omv with zfs plugin… or FreeNAS with ZFS, so many options…
I did not use my Card to do any RAID, so I just left the Disks as they are and did everything in whatever os or software I was trying.
I only have issues with proxmox VM, where one of my old HDDs is not recognized, but i already read about some issues with virtualization and passthrough off HDDs being a problem. So maybe I will not use a VE to reduce complexity. Even though I like the idea to be able to have more than one VM on that T610.
I did not try ZFS yet, because of all the “flashing” and my card being in IR-mode, but it reads kind of like a must have for a newbie like me.
I wonder if I should do some kind of flashing or if a FW-Upgrade is enough in my case. The Server I want to run would probably be very basic, more about cloud and backup than about performance and realtime redundancy – but still, since I startet reading and learning I feel like I might miss something or do it wrong if I don’t flash my card like everybody else.
(It’s like in a bakery when you only need some bread, but then when you step inside you want all those cookies and cakes and wonderful pies…)
I feel like my Card is doing fine as it is – but clearly I have no clue what it won’t be able to do with this IR mode and its Dell-FW.
Would you be so kind and tell me something about the “why” to flash my card – I think the “how” is already very nicely done 🙂
Thanks you,
Kristin
What if you want the BIOS on it? I want to do this with a PowerEdge 1950 where it will boot from the two drives connected to H200.
If you’re running FreeNAS then you don’t want to boot from the HBA. You’ll have a bad time. You can flash the BIOS with -b though.
Great, thanks! I’ll be using it with Proxmox.
Just got my H200 and followed the guide, and of course completely forgot to add -b.
How do I get the new IT firmware and BIOS? (as I only have those two drives, and need to boot from it).
I did the H200 DOS-steps, not using the alternative method (sas2flash.efi -o -f 2118it.bin)
You’d have to boot from USB flash drive and repeat.
Do I have to repeat all commands or just the last when flashing? Which do I add the -b to?
Re-ran just the last command after adding mptsas2.rom to the USB.
sas2flsh.exe -o -f 2118it.bin -b mptsas2.rom.
I now got «Avago Technologies” BIOS.
Absolute legend! This saved my skin with my h200. Keep up the good work mate!
Excellent guide! My H200 kept giving the dreaded “Cannot Flash IT Firmware over IR Firmware!” error when attempting to flash to P20 IT firmware. Flashing to P7 IT first, then P20 later, solved that problem.
Just wanted to say thanks for this guide. Been having a battle with a 9260-8i first. In the end got it to semi work (all disk seperately on raid0) but my mainboard (GB p67-ud3-b3) didn’t really like the card, and would only start it after a night without power to the system. After a reboot it just didn’t want to detect it.
After much googleing (is that aven a word), I decided on a H200, and found this guide to flash it to IT mode as it came in IR mode (and that clashed with my onboard SATA controller). Worked flawlessly to the T. The 2118it.bin in the zipfile is still the latest version (as far as I could find) to this day.
Many thanks, as I was about to give up on my old mainboard/system to get something newer as I couldn’t get it to play nice. Now it works flawlessly. On to installaling FreeBSD with ZFS 🙂
Very helpful guide. I had to cover those 2 rogue pins, but everything else worked pretty well.
Many thanks 😉
I’ve just done this, but now the bios, cannot “see the card”, so I cannot enter the config utility. Windows can see it, as 6GB SAS adapter though? Any suggestions?
I am using R720
Cannot see ctrl + C for utility option.
mpt2sas.rom coomand not found neither the package
You don’t need the BIOS unless you’re booting from the HBA. You shouldn’t boot from the HBA when it’s crossflashed. If you still want to you can flash the BIOS from the mpt2sas.rom in the zip file (\Firmware\6GbpsSASHBA_07.03.06.00_A10) or one downloaded from Broadcom.
Did you solve this? I have the same problem now where i can see the card in Win Server 2019 as Dell HBA-card. I can see the disks but cant create storage spaces with them.
Hey Mattr, your guide saved me alot of time and money. Thanks alot!
I followed your guide instructions, and found the card is functioning under linux after flashing the DELL 6GBPSAS.fw file.
Any clue why is it necessary to flash the 2118it.bin file? What’s the benefit?
The drivers for the LSI firmware are baked into more OS’s.
Is the little fan on the LSI chip really nesc? I plan to at least re-paste mine.
In my experience, no. These chips run extremely hot but they are also very durable. The main benefit of the fan is it will greatly reduce case temps in cases with low airflow.
Ok, thanks, I have the Tower T310 so no problems there…the opposite in fact as the fan is high due to Dell being ‘conservative’ since I have 3rd party drives. B.S., IMHO. Still have some updates to do but I’m on the latest BIOS.
These are the 3 I have planned now:
vDell BMC Firmware, v.1.70, A00
iDRAC6_2.92_A00_FW_IMG.exe
Dell Lifecycle Controller v1.7.5
Excellent post, very well written.
Thank you so much!
This is an incredible guide, there wasn’t a single point where I got stuck (that wasn’t my own fault).
I do have a question though, how would I roll the H310 back to the stock setup? I’m very curious how the process would go in reverse. I see the stock H310.bin SBR file, but I don’t understand how to roll it back from there.
Thanks the detail and work that you put into this!
https://techmattr.wordpress.com/2014/06/13/revert-your-perc-h310-back-to-its-dell-firmware/
Thank you! The procedure worked for me with a Dell Perc H200 from China and 4x10TB Seagate Helios spinning rusts.
Thanks for this instructions!
With this information I was able to flash a DellH310 to IT mode after trying various other guides that didn’t work. For some reason I couldn’t boot via BIOS from a flash drive. I had to format a SSD and boot it on a Dell Optiplex 9020.
I got the SAS board flashed and installed into an AMD Ryzen 3 pro system with TrueNas Scale.
Thanks.