(Courtesy DavidDurlach.com)
After spending well over a full day trying to ("simply" - ha ha ha ha...) update and change the firmware from IR (Integrated RAID) to IT (Initiator Target) mode on an LSI SAS9211-8i SATA card — and finally succeeding (just short of taking my own life out of desperation and despair...) — I wanted to share key items that may help others. (If it does help you, please let me know. I am curious as to whether the significant time to post these tech-tidbits is worth it...)
FYI: I am far from alone in this pain, with comments such as the following being typical:
This document is not exhaustive, and may have errors (hopefully only minor ones, however since I got delayed by several months between writing this and the actual upgrade, certain memories are a tad hazy...); if it does have errors, my apologies. The alternative, to have made the posting exhaustive, including recording every error message's exact text (very helpful for all of you out there doing text string searches to find help, I realize...), was simply too exhausting — particularly given I already lost well over a day tackling the problem itself...
In any case, absolutely no warranties are provided for the below - You do all at your own risk.
Risk highest if you are booting from an OS drive connected to the controller in question, and/or more generally have drives already connected to the controller with important data... If neither of these situations is the case (neither were in my situation), my estimation is that risks are much reduced (e.g., boot failure and/or data loss may not even be applicable).
Most (perhaps all) LSI cards, in order to function in JBOD mode (Just a Bunch Of Disks) — vs RAID mode — require (re)programming the cards firmware to be in IT mode, not IR mode.
What mode the card is in is shown at time of boot/post, by "-IR" or "-IT" suffix in the "FW Revision" data shown at boot/post, where "FW" refers to Firmware. HOWEVER, this is true only if the card has been programmed to have a BIOS at all — something that does NOT appear to be needed when using the board in JBOD/IT mode — at least if not booting from a drive connected to the device, which I am not. In other words, there are elements of the Firmware that can be written/updated — including a card's functioning in IT vs. IR mode, without the card even having a "full" BIOS.
Continuing the above: It is not always immediately clear when "Firmware" refers to essentially all parts of the programmable Flash memory, when just the "BIOS" boot portion (associated with the "-b" sas2flash command and ".rom" extension data files), when to the area that determines IT vs. IR mode (associated with the "-f" sas2flash command and ".bin" extension data files), whether there is some overlap/pairing (this I have not explored in any depth), etc.
Update: While writing this document, I found an easier method of navigation of the above — if you are dealing with Legacy products as I was:
For Product Group, choose "Legacy Products".[When I attempted to do the below on a motherboard not supporting UEFI (happened to be a Lenovo ThinkStation S20), it failed on all configurations I tried, with an error message whose text I unfortunately failed to record, but which basically conveyed that the UEFI-based boot as configured on the USB boot Flash drive could not be implemented, period, on that motherboard, and a BIOS-based boot drive was required. This error occurred regardless of whether one was trying to boot Linux etc. This suggested to me that the comment of "Unlike what Linus Tech Tips (https://linustechtips.com/main/topic/104425-flashing-an-lsi-9211-8i-raid-card-to-it-mode-for-zfssoftware-raid-tutorial/) suggests, it doesn’t matter which motherboard you have. What matters is that you need access to an EFI shell where you can easily run some command to change the mode and flash the card." at https://www.tfir.io/easiest-way-to-flash-lsi-sas-9211-8i-on-motherboards-without-efi-shell/ may be incorrect. More specifically, I was never able to get "access to an EFI shell" on a non EFI motherboard. Maybe it can be done — by the above person's directions or otherwise — but none of the diverse ways I created a boot drive using Rufus (see below) worked.]
E:\>sas2flash -list
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved
Adapter Selected is a LSI SAS: SAS2116_1(B1)
Controller Number : 0
Controller : SAS2116_1(B1)
PCI Address : 00:02:00:00
SAS Address : 5000d31-0-001d-e73d
NVDATA Version (Default) : 0d.43.00.0f
NVDATA Version (Persistent) : 0d.43.00.0f
Firmware Product ID : 0x2213 (IT)
Firmware Version : 13.00.60.00
NVDATA Vendor : LSI
NVDATA Product ID : SAS9201-16e
BIOS Version : N/A
UEFI BSD Version : N/A
FCODE Version : N/A
Board Name : SAS9201-16e
Board Assembly : H3-25379-01G
Board Tracer Number : SV21003107
Finished Processing Commands Successfully.
Exiting SAS2Flash.
E:\>sas2flash -o -f 9201-16e.bin
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved
Advanced Mode Set
Adapter Selected is a LSI SAS: SAS2116_1(B1)
Executing Operation: Flash Firmware Image
Firmware Image has a Valid Checksum.
Firmware Version 20.00.07.00
Firmware Image compatible with Controller.
Valid NVDATA Image found.
NVDATA Version 14.01.00.00
Checking for a compatible NVData image...
NVDATA Device ID and Chip Revision match verified.
NVDATA Versions Compatible.
Valid Initialization Image verified.
Valid BootLoader Image verified.
Beginning Firmware Download...
Firmware Download Successful.
Verifying Download...
Firmware Flash Successful.
Resetting Adapter...
Adapter Successfully Reset.
Finished Processing Commands Successfully.
Exiting SAS2Flash.
E:\>sas2flash -list
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved
Adapter Selected is a LSI SAS: SAS2116_1(B1)
Controller Number : 0
Controller : SAS2116_1(B1)
PCI Address : 00:02:00:00
SAS Address : 5000d31-0-001d-e73d
NVDATA Version (Default) : 14.01.00.07
NVDATA Version (Persistent) : 14.01.00.07
Firmware Product ID : 0x2213 (IT)
Firmware Version : 20.00.07.00
NVDATA Vendor : LSI
NVDATA Product ID : SAS9201-16e
BIOS Version : N/A
UEFI BSD Version : N/A
FCODE Version : N/A
Board Name : SAS9201-16e
Board Assembly : H3-25379-01G
Board Tracer Number : SV21003107
Finished Processing Commands Successfully.
Exiting SAS2Flash.