Tutorial: Updating IBM M1015/LSI 9211-8i Firmware on UEFI Systems

ZzBloopzZ

Member
Jan 7, 2013
91
13
8
Purpose: A proper MODERN tutorial on updating the firmware on the IBM M1015 on a UEFI system, in my case my IBM M1015's were already crossflashed to LSI 8211-8i long ago with the older P16 firmware which I wanted to update to the latest firmware. It is the same process either way. This tutorial is for IT-Mode.

Also, I have 2x of these cards in my machine and this tutorial will allow you to grab the SAS address and also flash each individual card one at a time WITHOUT having to physically take out the cards. This saves time and hassles.

I had to look at 3-4 tutorials and help documents to get this process to work smoothly. Spent several hours mind trying to figure this out so don't want others to waste as much time as I did. :c)

Part 1: Downloading Necessary Files and Preparing USB Flash Drive

1. Download the following:
a) LSI-9211-8i.zip (Custom Flashing Tools)
b) Rufus (Simple Free Bootable USB Creation Tool)
c) LINK (Click Firmware. Download the following:
Installer_P##_for_UEFI (## stands for latest current firmware)
9211-8i_Package_P##_IR_IT_Firmware_BIOS_for_MSDOS_Windows (## stands for latest current firmware)

2. Prepare USB Flash Drive (Try to use a USB 2.0 or under flash drive, and one without any important data on it as it will be WIPED!)
a) Open Rufus. Create bootable flash drive with the following settings: Volume Label: SAS2008, FAT32, MS-DOS, Deselect “Create extended label and icon files"
b) Open LSI-9211-8i.zip and extract JUST THE FILES to the root of the flash drive. IGNORE all of the folders as they are unnecessary.
c) Open 'Installer_P##_for_UEFI.zip' and locate the "sas2flash.efi" file and extract just that file to the root of the flash drive. Overwrite when asked.
d) Open '9211-8i_Package_P##_IR_IT_Firmware_BIOS_for_MSDOS_Windows.zip' and the navigate to the 'Firmware' folder. Locate the '2118it.bin' file and extract just that file to the root of the flash drive. Overwrite when asked. Then navigate to the 'sasbios_rel' folder and extract both 'mptsas2.rom' & 'mptbios.txt' to the root of the flash drive. Overwrite when asked.
e) Safely eject the USB Flash Drive.
f) Your flash drive is now prepared!


Part 2: Flashing The HBA Cards


  1. Connect USB flash drive to the server in a USB 2/1.1/1 port (Avoid USB 3.0 port). As a precaution, I disconnected all other USB flash drives.
  2. Boot from the flash drive via UEFI (F11 on Super Micro boards, then select “UEFI: Built-in EFI Shell”)
  3. Type "fs0:" to access USB drive. (Note: May have to type "map -b" first to determine device name if you have several USB drives.)
  4. Type "sas2flash.efi -listall" (Lists all SAS cards installed, for me 0 was first card and 1 was the second)
  5. Type "sas2flash.efi -c 0 -list" (To get SAS Address of the first card, write it down or take picture with phone)
  6. Type "sas2flash.efi -c 1 -list" (To get SAS Address of the second card, write it down or take picture with phone)
  7. Reboot the system but this time boot to the USB Flash Drive via DOS (normal/non UEFI).
  8. Type: “megarec -writesbr 0 sbrempty.bin” (Writes an empty sbr to for card #1)
  9. Type: “megarec -cleanflash 0” (Erases controller flash for card #1)
  10. Type: “megarec -writesbr 1 sbrempty.bin” (Writes an empty sbr to for card #2)
  11. Type: “megarec -cleanflash 1” (Erases controller flash for card #2)
  12. Reboot the system and again boot from the flash drive via UEFI . (F11 on Super Micro boards, then select “UEFI: Built-in EFI Shell”)
  13. Type "fs0:" to access USB drive. (Note: May have to type "map -b" first to determine device name if you have several USB drives.)
  14. Type: “sas2flash.efi -c 0 -o -f 2118it.bin” (Flash new firmware with IT-Mode for card #1)
  15. Optional: If you want the HBA Boot BIOS then type: "sas2flash.efi -c 0 -o -b mptsas2.rom" (For card #1) [I skipped this since I do not need it for my use.]
  16. Type: “sas2flash.efi -c 0 -o -sasadd 500605B#########” (Program SAS Address for card #1, replace #'s with what your wrote down for the first card. Put numbers only, skip the dashes/hyphons.)
  17. Optional: If you want the HBA Boot BIOS then type: "sas2flash.efi -c 1 -o -b mptsas2.rom" (For card #2) [I skipped this since I do not need it for my use.]
  18. Type: “sas2flash.efi -c 1 -o -f 2118it.bin” (Flash new firmware with IT-Mode for card #2)
  19. Type: “sas2flash.efi -c 1 -o -sasadd 500605B#########” (Program SAS Address for card #2, replace #'s with what your wrote down for the second card. Put numbers only, skip the dashes/hyphons.)
  20. Verify Flash: "sas2flash.efi -listall"
  21. Type: “exit”
  22. Enjoy!

Notes:

1. I did it in this exact order/method because I heard some people having odd issues or even bricking their cards by not erasing cards or via the NOT recommended "sas2flash.efi -o -e 6" before updating the firmware. This could be FUD but I saw few people have issues doing it this way.
2. Also heard of problems with flashing the .bin and BIOS .rom in the same step with the .efi version of the sas2flash tool and that is why I put them in separate independent steps.
3. It is highly suggested to use MATCHING versions of the flash tool (sas2flash), .bin and .rom. For example, if it is P20 use the P20 flash tool, P20 .bin and P20 .rom. The only EXCEPTION is that if for some reason you cannot downgrade or it is not updating then try using the version P5 of the flash tool.
4. Better to get SAS Address via sas2flash.efi because megacli.exe sometimes reads the cards in different order or even not at all compared with sas2flash. Since we are programming with sas2flash mind as well use same tool to get the SAS Address just to be safe.


P20 Myth

There are many revisions of the P20 firmware. The first few had lots of bugs so people suggest avoiding it. However, someone pointed out that all versions that are 20.00.04 and after are fine. I using the current latest version 20.00.07 and have had no problems. Did a full scrub, bonnie benchmark, copied large files and played them back with no errors.


Sources for Additional Troubleshooting:

matt's Tutorial
STH Tutorial

Special thanks to mobilenvidia, mattr, linus, STH community for their tutorials and help.

Appreciate any corrections to typos or inaccurate information I may have posted. Thanks!
 
Last edited:

hermichut

New Member
Dec 19, 2016
2
0
1
45
Hi,

I'm just about to flash my M1015 and you procedure is the clearest and most comprehensive I have seen that isn't 3 or 4 years old.

One question , the Custom Flashing Tools link is dead , do you have a link for the files ??.

Thanks>!!,

Hermichut.
 

ZzBloopzZ

Member
Jan 7, 2013
91
13
8
Hi,

I'm just about to flash my M1015 and you procedure is the clearest and most comprehensive I have seen that isn't 3 or 4 years old.

One question , the Custom Flashing Tools link is dead , do you have a link for the files ??.

Thanks>!!,

Hermichut.
I just tried the link and it works fine for me. You sure it is not a ad-blocker that is preventing you from downloading?
 

hermichut

New Member
Dec 19, 2016
2
0
1
45
I just tried the link and it works fine for me. You sure it is not a ad-blocker that is preventing you from downloading?
Indeed , it was my mistake. not sure why I couldn't initially access it.

I did however go through the procedure last night and it worked like a dream. :)

H.
 

craigr

New Member
Jan 19, 2017
4
2
3
57
ZzBloopzZ, thanks for the awesome UEFI updated procedure.

I had long ago crossflashed my two IBM M1015 cards in DOS, but since then, every time I wanted to update the firmware I had to pull the cards and put them into an old machine that didn't have a UEFI BIOS. I could never get UEFI to work!

Today I was able to follow your instructions and updated the firmware on both cards in less than 30 minutes; I simply skipped the steps for crossflashing and wrote the newest firmware to the cards. Thanks so much, next time I want to update the firmware on the cards it will probably only take five minutes.

Best regards,
craigr
 
Last edited:

lastMonkey

New Member
Apr 9, 2017
1
0
1
38
I followed the tutorial to the point "14 Type "sas2flash.efi -listall" (Lists all SAS cards installed...)", which command say: "No LSI SAS adapter found!"



I have a Supermicro A1SRi-2558F, and boot from "UEFI: Built-in EFI Shell"


SAS controller:


What am I doing wrong?

Thanks 4 help!
 

dlb

New Member
Jul 23, 2017
1
2
3
50
I also ran into the same problem as lastMonkey, so this is more for his specific issue (and anyone else who ran into the problem and needs a potential solution).

Essentially, I swapped steps 8 and 9 (the megarec erase and write commands).

I found when I erased first, then wrote the empty file that the card utility worked to update the card with the IT firmware after the reboot.



Notes: I don't think these will affect anyone else much, but just some things relevant to the way I did it, and maybe help.

I used Rufus 2.15 (portable), and all the same options as the original method - except I used FreeDOS instead of MS-DOS to create the bootable flash.

I wasn't using it on a UEFI board, so all was done as a BIOS boot from USB.

The DOS utility, without manual renaming, uses sas2flsh (no "a"), so all the commands were modified from sas2flash to sas2flsh.

The last step, the sas address assignment, was 500605B + (Adapter Number) + Address for 16 total digits. In my case, Adapter 0 with an address of 00:04:00:00 became 500605B(0)00040000 [Parentheses added to show the breakout - no punctuation used in the actual command].


Hope it helps - and good luck!
 

nthu9280

Well-Known Member
Feb 3, 2016
1,589
441
83
San Antonio, TX
@dlb

Awesome info! Thanks and welcome to the STH community. Great first post.

Thought I read somewhere that SBR is not really needed for IT mode. Your experience as well flashing Fujitsu cards documented on unraid forums indicate that SBR file does play a key role at least on some cards.




Sent from my Nexus 6 using Tapatalk
 

Zathras

New Member
Sep 15, 2015
16
12
3
Ottawa, Canada
Thanks for the new guide; just got an M1015 but I always forget the steps for this.

I notice the Broadcom (formerly Avago formerly LSI) website no longer has the 9211-8i in the product list (OP's link now goes there), but I believe the 9210-8i is pretty similar (SAS2008-based) so should its "Installer_P20_for_UEFI" firmware file be OK to use?
 

nthu9280

Well-Known Member
Feb 3, 2016
1,589
441
83
San Antonio, TX
It should work. AFAIK the main diff between 9210 & 9211 is the orientation of the ports - vertical facing vs rear

Sent from my Nexus 6 using Tapatalk
 

nle

Member
Oct 24, 2012
201
11
18
I followed this guide about a year ago, and it seemed to work fine on my R710. But a few times now I have tried to run the Dell update ISO, but it seems like it's stalling after complaining about the firmware version that it claims is 00.00.00.00



Any input on how to solve that?
 

squidman

Member
Jul 8, 2017
92
4
8
49
Brilliant! Will give it a go 2nd time lucky...am assuming will work with m1115? Uses same lsi chip..
 

Hizar

New Member
Dec 20, 2018
5
0
1
Excellent guide - thank you worked perfectly. My UEFI bios doesn't have a built in UEFI shell, so the one change I did was also copy the EFI directory onto my usb.
 

costeen

New Member
Dec 31, 2018
16
0
1
UBER newb here I'm trying this method but cant get past the UEFI selection..like the guy before me I have no option. In my bios its set for UEFI/Legacy...do i need to set it UEFI only? btw gigabyte z77x-UD5H running F15q bios
 

Hizar

New Member
Dec 20, 2018
5
0
1
UBER newb here I'm trying this method but cant get past the UEFI selection..like the guy before me I have no option. In my bios its set for UEFI/Legacy...do i need to set it UEFI only? btw gigabyte z77x-UD5H running F15q bios
Not sure what you mean its 'set' for UEFI/LEGACY.. But maybe the below might help:

So my BIOS is an UEFI bios but it doesn't have a built-in UEFI shell. This I think is the same case with you.
Did you copy the EFI directory (with the BOOT sub-directory in it, and the bootX64.efi file inside that) ?
As long as you have, you should be able to plug your USB (remove all other USB sticks you might have plugged in) and launch the UEFI terminal using the bootX64.efi application that you copied onto your USB.

So the steps would be

1. Do everything described in the HowTo Part One.
2. Also copy the EFI folder to the root of the USB.
3. Unplug all other USB's from your PC.
4. Plug in the USB int a USB 2.0 port (not USB 3.0)
5. Switch on your PC and enter the Boot options menu (I think hit F12 repeatedly on Gigabyte motherboards)
6. The boot options menu should give you the option to boot from various devices (USB, CDROM, HardDrive, Network, etc..) It will also give you the option to boot by LEGACY or UEFI.
7. Where ever in the HowTo it says boot by UEFI, then select USB *usb_make* UEFI'
8. Where ever in the Howto it says boot normal/non-UEFI, then select USB*usb_make* LEGACY

On mine, I had the options:
UEFI USB Sandisk
LEGACY USB Sandisk

9. Follow part 2 of the HowTo word for word. Note that the Howto clearly describes when you should use UEFI and when not to and you have to follow this to the letter.
 

costeen

New Member
Dec 31, 2018
16
0
1
I added the efi folder and blammo! it booted and i was able to enter sas2flash commands but then...this....happened...

even though it lives in my pc and is recognising my 2 sas drives...