Please visit the updated guide here:

https://techmattr.wordpress.com/2016/04/11/updated-sas-hba-crossflashing-or-flashing-to-it-mode-dell-perc-h200-and-h310/

UPDATE: I’ve updated this post as of 2013-09-21. I’ve removed parts about the IBM M1015 and focused more on the Dell H310 and H200. I’ve also updated some of the links and added steps for flashing to the LSI P17 firmware from the Dell 6Gbps SAS HBA firmware which I highly recommend.

I just wanted to go through a few things I found while trying to flash IT firmware to my Dell Perc H310. This process is pretty well documented on various sites and forums for users that have an older motherboard with a typical BIOS. For users like myself who only had newer motherboards with UEFI it gets a little tricky. All of the information you need is out there but I had a hard time finding it in one place and with the detail needed to not fumble through the process. So let’s get down to what we’re going to need.

  1. Bootable USB (link). You can follow this post on using Rufus to create a quick FreeDOS bootable USB drive.
  2. For those with newer UEFI motherboards you’ll need bootx64.efi (link) (alternate link).
    1. You’ll want the version: Precompiled x86_64 UEFI Shell v1 binary.
    2. This should already be included in the LSI-9211-8i.zip I’ve provided in the next link.
  3. LSI-9211-8i.zip tools (link). (Thanks to mobilenvidia and Bryan Vyhmeister brycv.com for providing/finding a lot of the files and information used here)
    1. Both of these guys have provided great guides on flashing IBM M1015 cards and other great information.
  4. 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)
      1. Make sure you don’t cover the A pins on the other side.
    300_8881
    B Pins that need to be covered

    300_8883
    A pins that should be exposed
  5. 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:

  1. First thing we need to do is prepare the USB drive.
    1. Once you’ve created the bootable USB drive in step 1 you want to copy the contents of sLSI-9211-8i.zip onto the USB drive.
    2. The root of the USB drive should look like this:
      ScreenShot057
  2. Next we’ll want to reboot and boot into FreeDOS/MS-DOS.
    1. With the bootable USB drive inserted (may work best in a USB 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.
    2. 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.
    3. 130821130901
    4. 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.
    5. 130821183951
    6. Clicking or Double-clicking on  Patriot Memory should boot into the DOS environment as shown below.
    7. ScreenShot034
  3. Next we can begin flashing the card.
    1. If your card doesn’t have a sticker with the SAS Address you should be able to follow these steps to obtain the address.
    2. If you have a Dell Perc H310 then follow these steps.
      1. megacli -AdpAllInfo -aAll -page 20
      2. Hit enter once or twice and you should scroll through screens that look like this:
      3. ScreenShot035ScreenShot036
      4. Write down the SAS Address.
    3. 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)
      1. To save the SAS Address we’ll need to use sas2flsh.
      2. sas2flsh -listall
      3. You should get a listing of all the cards installed.
      4. ScreenShot037
      5. Use the number in the first column to get the SAS Address for the card.
      6. sas2flsh -c 0 -list
      7. This should dump all the information for the card including the SAS Address.
      8. ScreenShot038
      9. Write down the SAS Address and continue to the next steps.
    4. The steps for flashing the H310 and H200 will be the same.
      1. megarec -writesbr 0 sbrempty.bin
        1. If this command fails it should be safe to proceed to step 2.
      2. megarec -cleanflash 0
      3. Reboot the computer and boot back into the USB drive.
      4. sas2flsh -o -f 6GBPSAS.FW
      5. sas2flsh -o -sasadd 500xxxxxxxxxxxxx (replace this address with the one you wrote down in the first steps).
      6. Reboot the computer and boot back into the USB drive.
    5. The same steps will flash the card to a LSI 9211-8i
      1. sas2flsh -o -f 2118it.bin
      2. It should ask you if you want to flash anyway. Type Y to proceed.
      3. Reboot the computer back into Windows. (If you’re using Windows) You may need to remove the USB drive.
    6. In Windows make sure you’re using the LSI StorPort driver.
      1. Start > Right Click Computer > Properties > Device Manager > Expand Storage Controllers
    7. If your controller doesn’t look like the one with the red arrow it will either look like one of the other 3 in this screen shot:
    8. If it looks like one of the other 3 drivers then right click on it and select Update Driver
      ScreenShot050
    9. Select Browse my computer for driver software
      ScreenShot051
    10. Click the Browse… button
      ScreenShot052
    11. Browse to your USB drive and expand LSImpt_SAS2_P16 and select either the x64 or x86 folder depending on your OS.
      ScreenShot053
    12. Click OK and then click Next. After it installs your driver should now say – StorPort

UEFI Motherboards

  1. 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 need to run the flashing steps in an efi shell. All of the other instructions should work fine. When you reboot after running megarec -cleanflash 0 is when you’ll need to enter the efi shell.
  2. As noted above for the H200 cards you will need to run sas2flash from the UEFI shell in order to save the SAS Address. See step 30 for the commands to view the SAS Address.
  3. The EFI boot shell should already be on the USB drive.
    ScreenShot039

    1. After the megarec -cleanflash 0 completes instead of rebooting into the USB drive we’ll want to reboot into the UEFI shell.
    2. Using the same two UEFI BIOS configuration screens I’ll show you how to enter the UEFI shell.
    3. With the GIGABYTE board we will just select the UEFI USB option highlighted below.
    4. 130821184001
    5. With the ASUS boards you will most likely need to disable secure boot first. This could pertain to other boards as well.
    6. For the board I was using this was under the Boot tab and named Secure Boot in the Advanced section of the utility.
    7. Open that option and select Other OS.
    8. 130821130652
    9. 130821130709
    10. Save those settings and reboot back into the UEFI BIOS Utility.
    11. I had issues launching the UEFI shell from the below menu in the exit screen:
    12. 130821130738
    13. You should be able to select Launch EFI Shell from filesystem device but that did not work for me.
    14. I was however able to select ASUS EZ Mode and then use F8 to select the boot device.
    15. Selecting UEFI: Patriot Memory this time.
    16. This should launch a shell that looks like this:
    17. ScreenShot041
    18. From here you’ll need to select your USB drive.
    19. Type the following command to display the devices with a -b to pause on each full screen.
    20. map -b
    21. ScreenShot042
    22. As long as you have 1 USB drive inserted it will most likely be the first device that shows up labeled fs0.
    23. ScreenShot043
    24. To select that device type:
    25. fs0:
    26. ScreenShot044
    27. Your Shell> prompt should change to a fs0:\> prompt.
    28. ScreenShot045
    29. Now you can run your sas2flash command. Note that the efi executable is named sas2flash.efi instead of sas2flsh.exe
    30. To save the SAS Address for the Perc H200 run the following commands:
      1. sas2flash.efi -listall
      2. You should get a listing of all the cards installed.
        ScreenShot055
      3. Use the number in the first column to get the SAS Address for the card.
      4. sas2flash.efi -c 0 -list
      5. This should dump all the information for the card including the SAS Address.
        ScreenShot056
      6. Write down the SAS Address and continue to the next steps.
    31. sas2flash.efi -o -f 6GBPSAS.FW
    32. sas2flash.efi -o -sasadd 500xxxxxxxxxxxxx (replace this address with the one you wrote down in the first steps).
    33. Reboot the computer and boot back into the UEFI shell.
    34. The same steps will flash the card to a LSI 9211-8i
      1. sas2flash.efi -o -f 2118it.bin
      2. It should ask you if you want to flash anyway. Type Y to proceed.
      3. Reboot the computer back into Windows. (If you’re using Windows) You may need to remove the USB drive.
    35. If the steps for flashing the 2118it.bin do not work you can try a couple different methods.
      1. Try flashing the 2118p7.bin first and then flashing the 2118it.bin.
      2. Try flashing with the sas2flash-x64-p7 or sas2flash-x86-p7 in an elevated command prompt in Windows.
        1. sas2flash-x64-p7 -o -f 2118it.bin
  4. At this point when you reboot you should not see any information about the card during POST and you shouldn’t need any drivers for the OS in order for the card to function. I still recommend making sure you’re running the LSI StorPort driver.

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 AVS Forum as techmattr or ServeTheHome Forums as just mattr.

Advertisements