With the default settings of the SLI, I get the following message (with exactly this spelling ;) ) after the LSI initialization (which passes successfully),:
Warning: Have Option ROM can not be invoke (Vendor ID:105Ah, Deivce ID:3701h).
Here is the long story, full of twists and turns, and an Happy End :)
Looking after 105A in the PCI database of vendors, I found that this vendor is “Promise “. So, for sure, the LSI adapter had issues to coexist on my motherboard where the Promise FastTrak TX4660
Fortunately, this was only a warning and the disks connected on the FastTrak were available within Windows. The actual issue was that the configuration menu of the FastTrak was not accessible anymore at boot time (And therefore, it was impossible to modify the disk array, …)
A workaround would have been to disable the “Boot Support” in the LSI configuration (the problem only occurs with option “Boot Support” = “Bios Only” or “OS and Bios” in the LSI configuration utility). And this would have been a valid solution for me as I don’t intend to boot ever on any disk connected to this controller. Another option would have been to temporary unplug the LSI to get access to the configuration menu of the Promise adapter at boot time.
However, to solve this annoying issue, I did try to update the bios of the LSI from its current version (126.96.36.199) to the latest version 188.8.131.52 (The firmware being already the last one: 184.108.40.206). To dos so, I did download the package “9201_16i_Package_P15_IT_Firmware_BIOS_for_MSDOS_Windows” from SLI’s Find Support webpage.
I did next start a command prompt with the option “Run As Administrator” (If you don’t Run it as Administrator, the bios updater won’t find the adapter!) and did execute: sas2flash.exe -o -f 9201-16i_it.bin -b mptsas2.rom
The command (.exe) comes from the subfolder \sas2flash_win_x64_rel, the firmware (.bin) comes from the subfolder \Firmware\HBA_9201_16i_IT and the bios (.rom) comes from the subfolder \sas2flash_dos_rel. I did copy everything in a single folder.
The option -o is to run in advanced mode, which is actually not mandatory to update firmware and bios of native LSI adpaters.
But the situation went then really worst. The LSI bios was executing fine, i.e. without warning anymore. But next, nothing else was happening. I could see on my LCD Poster that the PC was trying to load the Boot menu (or enter the setup if I did press DEL), but it was never completing that step ?! I did try to disable the sata controllers on the motherboard and remove the FastTrak controller. Nothing helped (I had to remove the LSI adapter to be able to reach the setup menu).
Fortunately, I found that I could still boot correctly with the LSI adapter on my other PC, build on top of an Asus P9X79Pro (with UEFI support!). So, I did start to look how to downgrade the bios on that PC…
Unfortunately², impossible to find the old version 220.127.116.11 of the bios on SLI’s website. I only found a version 18.104.22.168 of the bios on Lime-Tech, a great forum about among others “unRaid systems” (The bios can be found in the package “LSI SAS2116 chipset”). I did the downgrade but that didn’t solve the problem. It was a bit different however as the LCD poster told me that the boot sequence was stick on “Bios Init” instead of “Boot Menu”… (which was worst IMO).
Notice that I was only able to downgrade the Bios. The firmware might not be downgraded. Trying to do so resulted in a message : ERROR: Cannot downgrade NVDATA version 0xf000003 to 0xa030001.
I though that the problem with the boot could be due to the update operation being not 100% correctly executed from within Windows, although it seemed to go well. So I did try to flash from a bootable usb key. But is Dos mode, on the Asus P9X79Pro, I get the error ‘Failed to initialize PAL ….’. According to LSI, this meant that the update procedure won’t work using that motherboard
So, I did next try to flash the SLI’s bios using the UEFI Shell supported by my Asus P9X79Pro…
- First, I did download the package “UEFI_BSD_P15” from SLI web site
- Next, I did copy on my USB key the files x64sas2.efi and x64sas2.rom located in the package’s subfolder \UEFI_BSD_P15\uefi_bsd_rel
- Then, I did found the UEFI Shell (2 versions) from here:
- x86_64 UEFI Shell 2.0
- x86_64 UEFI Shell 1.0
- I did rename the Shell 2.0 (to be tried first) into shellx64.efi and copied it into the root folder of my USB key.
- I did also print the EFI shell user guide.
- I did plug the SLI adapter and the USB key into my Asus P9X79Pro.
- During the boot, I entered the Bios Setup of the ASUS, in Advanced mode.
- In the “Exit” menu (In the top-right corner), I did select “Launch UEFI Shell from filesytem device.
- From the start screen of the shell, I took note of the name of the USB device which was displayed automatically (otherwise I would have had to type the command ‘map’). The name was “FS0”.
- I did move to that device (without the need to mount it! It appeared to already be mounted! Otherwise I would have had to type ‘mount FS0:’) and I tried execute the flash:
- x64sas2.efi -o -b x64sas2.rom
And…. I didn’t succeed to execute the flash command I still need to dig how to use UEFI… E.g.: Instructions found in LSI’s ReadMe to flash from UEFI shell tell however to execute:
- Take not of the drive number <dh>
- unload <dh>
- sas2flash -c <n> -b x64sas2.rom where <n> is the #of the controller (0 if only one). Notice that the command I found on SLI web site was named x64sas2.efi instead of sas2flash.efi
As the list of drivers is far too long, I had to capture it and enter the EFI editor to read it:
- drivers > list.txt
- edit list.txt
- To exit the EFI editor press the “F3” key (or type “Esc 3” depending on your system.
Unfortunatelly++, after several tries to flash from the UEFI shell, I decided to give up and try something else as I was clearly not able to execute the updater from the shell (But for sure, I will come back into that UEFI shell to learn how to use it correctly).
I read that many people did recommend to clean the firmware and the bios before upgrading. This can be done with the command: sas2flash -o -e 6. Unfortunately, this operation is not supported in Windows mode and must be executed in Dos mode, which is not possible for me on the Asus P9X79Pro as mentioned above (error ‘Failed to initialize PAL). What a nightmare!
In the mean time, I had sent an email to LSI to get a copy of the bios 22.214.171.124. I had to wait more that 24h but then started a really good exchange with one of their technicians. The guy told me that this version was so old that it was not available anymore. The oldest version available was 126.96.36.199, but he suggested to investigate internally to see if someone would still have a copy. On my request, he did send me the version 188.8.131.52 for a try…
A miracle! That version solves both the boot issue when the LSI is plugged on my Asus Striker II Formula and the warning message when the Promise is plugged too.
And icing on the cake, 3TB disks are well supported and I can boot from disks connected on the LSI adapter (although that’s not at all my purpose – reason why I will disable Boot Support on this adapter).
[EDIT]: In a next post, I report on re-using this experience to make another LSI, a SAS 9211-8i, compatible with my ASUS Striker II Formula too.