9.3.1 Update with alert Firmware version 16 does not match driver version 20 for /dev/mps0

Status
Not open for further replies.

Z300M

Guru
Joined
Sep 9, 2011
Messages
882
Adding shellx64.efi to the thumb drive did not solve the problem -- but I didn't reboot after adding it.
The files from pclausen's p20.zip archive worked for the M1015; I don't know how they differ from the package I got directly from LSI that didn't work. I'm leaving the on-board SAS2308 until tomorrow; the same p20.zip should work for that too, right?
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
Let me ask about the p20 firmware.

Sent from my HTC6535LVW using Tapatalk
 

mjt5282

Contributor
Joined
Mar 19, 2013
Messages
139
No, the integrated SAS2308 on the Intel motherboard must be flashed with the 9207-8e.bin P20 firmware. If you try to flash it with the M1015 firmware, it will fail and exit (precheck).
 
J

jkh

Guest
Everyone: Yes, the P20 firmware is the official firmware for FreeNAS 9.3.1 now. It didn't get called out specifically in the ChangeLog because there wasn't a ticket queued up against this specific update, it was merged in as part of a larger update from the master branch. FWIW, P20 has also been the firmware version in FreeNAS 9.3-Nightlies for several months now and it has long been on our list of things to do to, since v16 is "very old" (and hard to find) whereas v20 has been the current, stable, shipping version from Avago for some time.

It's been in our master branch for so long, in fact, that I think we basically forgot to even mention it. I'll amend the announcement text accordingly. Thanks, and sorry for the oversight!
 

PhilT

Cadet
Joined
Aug 25, 2015
Messages
2
Please forgive the stupid question but does version 20 have the IT mode for the LSI2308?
 
J

jkh

Guest
Please forgive the stupid question but does version 20 have the IT mode for the LSI2308?
If the v16 driver did, then the v20 driver does. This is just a sync-up; there is no new (or less old) functionality in this driver version, just hopefully less edge-case bugs.
 

mjt5282

Contributor
Joined
Mar 19, 2013
Messages
139
Please forgive the stupid question but does version 20 have the IT mode for the LSI2308?
The integrated 2308 drive is the same as the LSI9207-8e , there are IT and IR modes available in the P20 drivers (windows, freebsd, etc)
 

Spearfoot

He of the long foot
Moderator
Joined
May 13, 2015
Messages
2,478
HardChargin said:
@Spearfoot Do you mind sharing your upgrade process for this board? I'm thinking to boot FreeNAS, verify update is available, detach pool, shutdown, unplug hard drives, upgrade LSI2308 firmware via boot utility, boot FreeNAS, upgrade FreeNAS, reboot/shutdown, attach drives, boot FreeNAS, attach pool. Wondering if all the back flips are really necessary, and also wondering how risky this update is as far as being time tested and potential for data corruption/problems. Thanks.

I'll be glad to do so, @HardChargin - I'll try to give fairly detailed instructions; please don't take offense and think I'm being condescending or anything like that if you already know about most of this stuff. :smile:

I had already installed the update on my FreeNAS server, not realizing that the new version required a firmware update for the on-board LSI HBA. Ooops! I have good backups, so I didn't bother with unplugging the hard disks or taking any of the other steps you described. Your needs may differ in this regard. In any case, my pool loaded up just fine after flashing the HBA.

Before you begin, note that you will need to know the controller's 16-digit SAS address, as the script provided by Supermicro will prompt you for the last 9 digits of it. I had noted down this information when I first constructed the server. If you don't have it handy, you can boot the system and load the LSI option ROM code to get it. (It may also be stamped on the motherboard itself, if feeble memory serves.)

I downloaded Supermicro's P20 firmware zip file (PH20-IT.zip) at this link:

ftp://ftp.supermicro.com/driver/SAS/LSI/2308/Firmware/IT/

Using Rufus on a Windows 7 PC, I created a bootable USB stick and extracted all of the files from the zip archive's \UEFI folder onto its root directory.

I also put a copy of SHELLX64.EFI onto the USB stick, but unfortunately I don't remember where I obtained it - and I don't think this file is required as I used the motherboard's built-in EFI shell. On reflection, I'm not even certain the USB stick needs to be bootable, since, again, I used the built-in EFI shell.

After gracefully powering down the FreeNAS server, I used IPMIView's KVM console on the same Windows 7 PC to mount the USB stick as virtual media on the FreeNAS server. I then powered up the server, entered 'Setup', and loaded the built-in EFI shell:

setup-built-in-uefi-shell.jpg

After the UEFI shell loaded, I entered 'fs0:' to select the USB stick as my current drive. (Note that your USB stick may not be located at 'fs0:' and you may in that case have to find it by trial and error.) Here is how my screen appeared after also entering a dir command to show the files on the USB drive:

uefi-shell-at-usb-prompt.jpg

Once you (finally!) get to this point, all you need to do is execute the Supermicro script by entering SMC2308T.NSH at the command prompt. After trundling along and doing its job, the script will eventually ask you for the 9-digit SAS ID. Once it completes you're done and can reboot the system.

Good luck!
 

HardChargin

Dabbler
Joined
Jul 19, 2015
Messages
49
I'll be glad to do so, @HardChargin - I'll try to give fairly detailed instructions; please don't take offense and think I'm being condescending or anything like that if you already know about most of this stuff. :)

I had already installed the update on my FreeNAS server, not realizing that the new version required a firmware update for the on-board LSI HBA. Ooops! I have good backups, so I didn't bother with unplugging the hard disks or taking any of the other steps you described. Your needs may differ in this regard. In any case, my pool loaded up just fine after flashing the HBA.

Before you begin, note that you will need to know the controller's 16-digit SAS address, as the script provided by Supermicro will prompt you for the last 9 digits of it. I had noted down this information when I first constructed the server. If you don't have it handy, you can boot the system and load the LSI option ROM code to get it. (It may also be stamped on the motherboard itself, if feeble memory serves.)

I downloaded Supermicro's P20 firmware zip file (PH20-IT.zip) at this link:

ftp://ftp.supermicro.com/driver/SAS/LSI/2308/Firmware/IT/

Using Rufus on a Windows 7 PC, I created a bootable USB stick and extracted all of the files from the zip archive's \UEFI folder onto its root directory.

I also put a copy of SHELLX64.EFI onto the USB stick, but unfortunately I don't remember where I obtained it - and I don't think this file is required as I used the motherboard's built-in EFI shell. On reflection, I'm not even certain the USB stick needs to be bootable, since, again, I used the built-in EFI shell.

After gracefully powering down the FreeNAS server, I used IPMIView's KVM console on the same Windows 7 PC to mount the USB stick as virtual media on the FreeNAS server. I then powered up the server, entered 'Setup', and loaded the built-in EFI shell:

View attachment 8507

After the UEFI shell loaded, I entered 'fs0:' to select the USB stick as my current drive. (Note that your USB stick may not be located at 'fs0:' and you may in that case have to find it by trial and error.) Here is how my screen appeared after also entering a dir command to show the files on the USB drive:

View attachment 8508

Once you (finally!) get to this point, all you need to do is execute the Supermicro script by entering SMC2308T.NSH at the command prompt. After trundling along and doing its job, the script will eventually ask you for the 9-digit SAS ID. Once it completes you're done and can reboot the system.

Good luck!
Wow! Thank you sir, for taking the time to write out such detailed instruction. I am semi familiar with the LSI flash process as I recently went through it when I built my system, and had planned on revisiting my notes, but you reminded me of a several things I had forgot about (like the SAS Address along with a few other parts of the process). Thanks again, much appreciated, and very helpful.

Update: Chalk up one more successful update/re-flash for an x10sl7-f. Updated FreeNAS, verified driver mismatch alert, rebooted, updated LSI2308 (now Avago) controller following Spearfoot 's instruction, verified LSI update in LSI utility, booted into FreeNAS, verified alert cleared, pool, and data intact. Didn't bother to detach pool or unplug hard drives. Nice to be on the "latest" version of controller firmware.
 
Last edited:

PhilT

Cadet
Joined
Aug 25, 2015
Messages
2
Excellent set of instructions Spearfoot - thanks! I was performing those actions exactly while you must have been typing that. I added an extra step of disconnecting my drives after shutting down the system. A couple points to add that anyone as unfamiliar as me might appreciate:
1. After you've flashed the firmware you can type the command "sas2flash.efi -listall" to show the controller and verify the current firmware version in the efi shell.
2. A video walkthrough can be found here for the process on X10SL7-F although its using old firmware versions: https://www.youtube.com/watch?v=5f1jhNKw33c
3. I saw someone earlier mention firmware 20.00.04 from LSI but Supermicro's is 20.00.02

I can confirm that after shutting down, reconnecting drives and finally rebooting into Freenas, green lights a cross the board and in my case it actually fixed the array order of my drives in Freenas to reflect which ports I'd installed them on the SAS controller which was showing incorrectly on firmware p16.
 

katit

Contributor
Joined
Jun 16, 2015
Messages
162

bollar

Patron
Joined
Oct 28, 2012
Messages
411
But if my M1015 is now "not operational", will rebooting to try the FreeBSD version kill it altogether? Does it have to remain powered up now and not rebooted until reflashing is complete?
Sorry, but I don't know the answer.

I am curious why most are using uefi instead of FreeBSD to upgrade, but I guess that doesn't really matter either.


Sent from my iPad using Tapatalk
 

pclausen

Patron
Joined
Apr 19, 2015
Messages
267
I also put a copy of SHELLX64.EFI onto the USB stick, but unfortunately I don't remember where I obtained it - and I don't think this file is required as I used the motherboard's built-in EFI shell. On reflection, I'm not even certain the USB stick needs to be bootable, since, again, I used the built-in EFI shell.
My experience has been that I don't need to make the USB stick bootable using Rufus or similar utility, but I do need that shellx64.efi file. On my Asus motherboard, when I boot into EFI shell, it looks for a bootable device that has that file on it. Without it, the system halts the booting process.

Not sure if the SuperMicro X10 mobo's behave the same as I don't flash my HBAs in them, but I would suspect so.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Everyone: Yes, the P20 firmware is the official firmware for FreeNAS 9.3.1 now. It didn't get called out specifically in the ChangeLog because there wasn't a ticket queued up against this specific update, it was merged in as part of a larger update from the master branch. FWIW, P20 has also been the firmware version in FreeNAS 9.3-Nightlies for several months now and it has long been on our list of things to do to, since v16 is "very old" (and hard to find) whereas v20 has been the current, stable, shipping version from Avago for some time.

It's been in our master branch for so long, in fact, that I think we basically forgot to even mention it. I'll amend the announcement text accordingly. Thanks, and sorry for the oversight!

Thanks for the confirmation! Now begins the process of "What do you mean you don't need P16 anymore? We packaged P16 as a favor to our FreeNAS users just the other day!".

My experience has been that I don't need to make the USB stick bootable using Rufus or similar utility, but I do need that shellx64.efi file. On my Asus motherboard, when I boot into EFI shell, it looks for a bootable device that has that file on it. Without it, the system halts the booting process.

Not sure if the SuperMicro X10 mobo's behave the same as I don't flash my HBAs in them, but I would suspect so.
Supermicro X10 boards include an EFI shell, IIRC. Boards that do not require a properly named EFI shell executable placed in the chosen boot device.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
I am curious why most are using uefi instead of FreeBSD to upgrade, but I guess that doesn't really matter either.
Using the FreeBSD sas2flash executable (which is part of the FreeNAS base) worked just fine for me once I'd installed the 9.3.1 update (I'm guessing it wouldn't do the flash before the update because I was still running the P16 driver?). Here's what I did:
  • Download pclausen's P20.zip file and unzip it somewhere on the pool
  • Install the FreeNAS update and reboot
  • SSH in to the box as root, and navigate to where I'd unzipped P20.zip
  • sas2flash -fwall 2118it.bin -b mptsas2.rom
  • Reboot
This was with an M1015 that was already cross-flashed to IT mode with the P16 firmware. No need to boot from USB sticks, into EFI shells, etc.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
I am curious why most are using uefi instead of FreeBSD to upgrade, but I guess that doesn't really matter either.
A healthy amount of paranoia and the ease of use of IPMI.
 

pclausen

Patron
Joined
Apr 19, 2015
Messages
267
Using the FreeBSD sas2flash executable (which is part of the FreeNAS base) worked just fine for me once I'd installed the 9.3.1 update (I'm guessing it wouldn't do the flash before the update because I was still running the P16 driver?). Here's what I did:
  • Download pclausen's P20.zip file and unzip it somewhere on the pool
  • Install the FreeNAS update and reboot
  • SSH in to the box as root, and navigate to where I'd unzipped P20.zip
  • sas2flash -fwall 2118it.bin -b mptsas2.rom
  • Reboot
Wow, didn't realize that was possible. Sure would have saved me a lot of time not having to pull out the chassis and pull out each HBA one by one. In cases where you have multiple controllers installed in the same server, would the above sas2flash command update all the controllers at once? Would there be any risks associated with doing it that way with multiple controllers? I know a lot of the M1015 instructions floating around caution to always unplug/remove everything other than the specific controller you want to update. Maybe those instructions were all put together by folks with a healthy dose of paranoia as Ericloewe eluded to? :)
 
Last edited:

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Since I only have the one HBA, I haven't investigated how sas2flash works with multiple units, sorry. I'm sure there's a way to do it though.

I would note that the flash process resets the controller, and a ton of messages scrolled past on the console at that time. Probably best to do this while the server is pretty much idle.
 

isamudysan

Dabbler
Joined
Feb 25, 2015
Messages
11
Using the FreeBSD sas2flash executable (which is part of the FreeNAS base) worked just fine for me once I'd installed the 9.3.1 update (I'm guessing it wouldn't do the flash before the update because I was still running the P16 driver?). Here's what I did:
  • Download pclausen's P20.zip file and unzip it somewhere on the pool
  • Install the FreeNAS update and reboot
  • SSH in to the box as root, and navigate to where I'd unzipped P20.zip
  • sas2flash -fwall 2118it.bin -b mptsas2.rom
  • Reboot
This was with an M1015 that was already cross-flashed to IT mode with the P16 firmware. No need to boot from USB sticks, into EFI shells, etc.

thank you for these instructions :D
 

Sir.Robin

Guru
Joined
Apr 14, 2012
Messages
554
I'm trying to understand the flashing procedure. Have downloaded the LSI 9207_8i IT wich contain the BIOS and Firmware and the UEFI install utility.

So it should be pretty straightforward: sas2flash -fwall 2118it.bin -b mptsas2.rom

But then i look at Supermicro's script:

sas2flash.efi -o -e 7
cls
sas2flash.efi -f 2308IT20.ROM
sas2flash.efi -b mptsas2.rom
sas2flash.efi -b x64sas2.rom
cls
sas2flash.efi -o -sasaddhi 5003048

It clears the controller first i guess and the last is setting an address.

But why is it flashing 3 .ROM files? The firmware is the 2308IT20.ROM and the mptsas2.rom is the BIOS right? But why the x64sas2.rom?

EDIT:Found a nice guide with thorough explanation :) : http://www.bussink.ch/?p=1511
But it does not clear up my question...
 
Last edited:
Status
Not open for further replies.
Top