Is it possible to upgrade to a newer EFI beside motherboard firmware upgrades?

HDDtormentor

Dabbler
Joined
Jun 28, 2023
Messages
11
Please bear with me, after using Macs for long time, I am not up to date with the whole BIOS => UEFI details. I tried to read up, but I am not sure wether I am confused and got things straight.

Background: I have got an a bit aged server with a Supermicro X10SDV-6C-TLN4F motherboard and an Dell Perch H310 SATA RAID controller card. I used this system first as Ubuntu Server with some VMs, then moved over to Proxmox and now want to use it as TrueNAS Core system.

When I first wanted to install TrueNAS I realised I can't use the HDDs connected as single drives. Google let me to the conclusion, I need to crossflash from the IR to the IT version of the firmware of the controller card. This excellent writeup about the topic brought me very far, but I hit a wall regarding the EFI Shell version of all my motherboards / USB boot keys I have around.

When I want to test sas2flash.efi I always geht this error message: InitShellApp: Application not started from Shell
Following this post, this means the version of the mobo's EFI is too old.

What I am not sure about now is following. Does this mean:
* my mobo's UEFI is to old
* my USB /EFI/BOOT/bootx64.efi file is a too low version?

Is there a way just to find a newer bootx64.efi above the version 2?
Or do I need a newer motherboard with a UEFI supporting a EFI shell with version above 2?

Thanks for your insights.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
If there's nothing on the pool, why not just use sas2flash in TrueNAS directly?
 

HDDtormentor

Dabbler
Joined
Jun 28, 2023
Messages
11
Which means running under Linux? Hmm, no idea.
Didn't think about that.

There is still the Proxmox installation on it. Need to move the VMs to the other host now.

I also wanted to avoid working on the server, as the boot times are a multiple as my two other boxes...
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
If you have the card passed into the TrueNAS VM, just run sas2flash in TrueNAS (with nothing going on with your pool... export it if you have things using it already).
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
You mean in a TrueNAS VM on Proxmox?
Yes, exactly. If the HBA is PCI passthrough, you can do the update directly from the VM (don't need to care about the host).
 

HDDtormentor

Dabbler
Joined
Jun 28, 2023
Messages
11
Hmm. I have now a TrueNAS VM installed with the controller card passed through, but sas2flash doesn't see it.

Code:
root@truenas[~]# sas2flash -listall
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved

    No LSI SAS adapters found! Limited Command Set Available!
    ERROR: Command Not allowed without an adapter!
    ERROR: Couldn't Create Command -listall
    Exiting Program.
root@truenas[~]#


When I do a lspci -vvv it clearly shows:
Code:
06:10.0 RAID bus controller: Broadcom / LSI MegaRAID SAS 2008 [Falcon] (rev 03)
        Subsystem: Dell PERC H310 Adapter
        Physical Slot: 16-2
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Interrupt: pin A routed to IRQ 21
        Region 0: I/O ports at 9000 
        Region 1: Memory at c1640000 (64-bit, non-prefetchable) [size=16K]
        Region 3: Memory at c1600000 (64-bit, non-prefetchable) [size=256K]
        Expansion ROM at c1660000 [disabled] [size=128K]
        Capabilities: [50] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [d0] Vital Product Data
                Not readable
        Capabilities: [a8] MSI: Enable- Count=1/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [c0] MSI-X: Enable- Count=15 Masked-
                Vector table: BAR=1 offset=00002000
                PBA: BAR=1 offset=00003800
        Kernel modules: megaraid_sas


It's a stony road to travel...
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
Maybe try just a -list
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
in any case, you can just install a VM that can have a proper sas2flash version installed on it and use that if TrueNAS won't get you there.
 

HDDtormentor

Dabbler
Joined
Jun 28, 2023
Messages
11
I just checked, my Motherboard's BIOS is from 2016! o_O

Currently I try to figure out how to install a newer BIOS / UEFI, but the SuperMicro Homepage is extremely confusing due to information overload for a non expert administrator! :D

I will report back, what happens after the BIOS upgrade.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
I just checked, my Motherboard's BIOS is from 2016! o_O

BIOS versions by competent manufacturers are not like apps on your phone; updates should be infrequent because there is not a lot of underlying drift in how these work. Occasional compatibility patches are often the extent of it. 2016 is middlin' old.
 

HDDtormentor

Dabbler
Joined
Jun 28, 2023
Messages
11
Yes, I am aware of that. It's just I had been much more in the weeds with BIOS, MBR, PC Firmware some 10 years ago than now and mainly on consumer / gamer PCs.

Supermicro with IPMI and UEFI, wich should be updated with SUM.efi tool in the X11 & X12 series and the Supermicro Server Manager SSM tool for the X10 series (which is mine), I am a bit overwhelmed currently. But I just have to cross read the manual (which has some 400 pages) to figure out, how to do it. It's not as straightforward as go to the BIOS settings, select a file and do the upgrade. I guess this more of a professional admin knowledge, teached in Supermicro courses and not as available in blog posts and wherenot...

Anyway, seems I have to bite the bullet and dive into it for an one time firmware update. Just checked again. It's really FW version 1.1c from 10/03/20216. Current version is 2.3 06/04/2021. I guess there might be some progress there... :D

Let's figure out and hope to have more success with a more up to date FW.

Thanks for all your input so far! I'll keep you updated.
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776

HDDtormentor

Dabbler
Joined
Jun 28, 2023
Messages
11
@Patrick M. Hausen Thanks! That's really embarrassing now.

I of course had found the BIOS files, also downloaded and extracted it. I even opened the Readme for AMI BIOS.txt file.
But it looks like I was distracted, as I know I had skimmed it, but hadn't seen the line with following statement: Boot to a DOS prompt and type flash.BAT BIOSname.###. Or simply forgot again afterwards...

Obviously multitasking is a lie!

Now it's booting with BIOS 2.3 from 2021 :)
And my mobo has now a internal EFI 2!

But I still can't get it to work it seems:
After several hours and finally following this guide, I have now flashed the Dell IT FW 6GBSAS.FW, the 2118P7.BIN FW and finally the 2118IT.BIN I hoped to have it up and running.

But, when I reboot I don't see any SATA Controller card BIOS messages (the one where it detects the disks). I assume it has to do, with the SBR which I have not restored? There is a remark about it, in the last paragraph of the linke guide.

When I boot in FreeDOS and want to check the card info with megacli I also only get an error message:
  • MegaCli -AdpAllInfo ==> Invalid input at or near token -AdpAllInfo
  • MegaCli -AdpAllInfo -a0 ==> ERROR: Could not detect controller
But when I check with MegaRec megarec -adpList:

Identified MR Cards Count: 1
List of Identified Cards
--------------------------
MR Card 0
Type: 2008
Vendor Id: 0x1000, Device Id: 0x72
Slot No:5, Device Function: 0x0


I also tried to flash the SBR as described in the linked tutorial with sas2flash.efi -b \Firmware\PercH310_20.12.1-0002_A07\FW2657A.rom
But I got following error:

BIOS Header Signature is Invalid


I guess it's time for a nap now. Thanks for all your input so far!
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
As far as I understand it, megaraid/megacli is no longer your friend, since you've now lobotomized the card to be an HBA.

Not sure what you're trying to have that utility do, but it shouldn't see the card while it has that firmware.
 

HDDtormentor

Dabbler
Joined
Jun 28, 2023
Messages
11
@sretalla I understand. Just read a bit more about the background and think I understand better now, what I am actually trying to achieve.

@jgreco & @Patrick M. Hausen & @sretalla : Thanks for handholding! :)​


Had to put the project aside for some days, but gave it a new try today. I started from scratch again, but it seems I am not able to flash the Dell IT firmware after cleaning the card.

Edit: I continued and despite LSI-P20-sas2flash.efi -c 0 -list gave me a (IR) firmware, flashing the next step gave me (IT) :)
Edit: Continued and everything looks good!

I purged my FreeDOS USB key and:
  • reinstalled FreeDOS to it
  • copied over following folders from the ZIP given in the detailed newcomers crossflashing guide:
    • _megarec
    • _sas2flash
  • I kept the rest of the FreeDoS stuff untouched.

Recap:
  • boot in FreeDOS and:
    • clean SBR: megarec.exe -writesbr 0 sbrempty.bin -> success
    • megarec.exe - cleanflash 0 -> success
  • boot into hosts internal EFI:
    • fs1:
    • cd _sas2flash
    • LSI-P5-sas2flash.efi -c 0 -o -f "DELL-A10- 6GBPSAS-8e-IT.FW" -> tool claims success
  • reboot into EFI - now it gets strange:
    • LSI-P5-sas2flash.efi -c 0 -list: --> Firmware Product ID: 0x2713 --> looks good
    • LSI-P20-sas2flash.efi -c 0 -list: --> Firmware Product ID: 0x2713 (IR) --> looks wrong! but this is still correct, as the next step shows!
    • LSI-P5-sas2flash.efi -c 0 -o -f LSI-P7-2118it.bin
  • reboot into EFI:
    • LSI-P20-sas2flash.efi -c 0 -list: --> Firmware ID: 0x???? (IT) - forgot to note down the exact version number.
    • LSI-P20-sas2flash.efi -c 0 -o -f LSI-P20-2118it.bin
  • reboot into EFI:
    • LSI-P20-sas2flash.efi -c 0 -list: --> Firmware ID: 0x???? (IT) - forgot to note down the exact version number.
  • reboot into my Proxmox installation:
    • ls -l /dev/sd*:
      • /dev/sdh
      • /dev/sdi
      • /dev/sdj
      • /dev/sdk
Everything looks fine. :)

I assume, it doesn't make sense to continue from here, as I tried it for two times now.


Just in case another noob ist stumbling over this thread. I had to change BIOS settings between FreeDOS and internal EFI to be able to boot into every time. This did cost my some time to figure out...

For FreeDOS
  • Advanced -> PCI(e) everything UEFI to Legacy:
    • GPU slot
    • USB mode
    • everything else where there was UEFI set
  • Boot mode to Legacy
  • Secure boot to Disabled
And for boot to internal UEFI everything above back to UEFI again.
 
Last edited:
Top