NVMe boot with SuperMicro X9DA7 & X9DRi-F

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

kapone

Well-Known Member
May 23, 2015
1,893
1,268
113
sure they are fixed to x8x8 by the BIOS (your link) now.
Ah, sorry, we got our wires crossed. I meant, in the Citrix BIOS on the other motherboard they're not. Once I flashed 3.2 to this one, of course they're locked to x8 (in fact there isn't even any options in the BIOS).
 

RolloZ170

Well-Known Member
Apr 24, 2016
9,574
3,094
113
germany
I meant, in the Citrix BIOS on the other motherboard they're not. Once I flashed 3.2 to this one, of course they're locked to x8 (in fact there isn't even any options in the BIOS).
Citrix is a completely diff BIOS.
BIOS 3.2 the bifurc. optione are suppressed
Code:
            SuppressIf
                Uint64 Value: 0x0
                    Uint64 Value: 0x0
                    Equal
                End
                OneOf Prompt: "IIO 1 IOU3 - PCIe Port", Help: "Functions visible based on this setting : x4x4x4x4 (Fun 0/1/2/3 visible) x4x4x8 (Fun 0/2/3 visible) x8x4x4 (Fun 0/1/2 visible) x8x8 (Fun 0/2 visible) x16 (Fun 0 Visible)", QuestionFlags: 0x10, QuestionId: 0xB0, VarStoreId: 0x1, VarOffset: 0xC0, Flags: 0x10, Size: 8, Min: 0x0, Max: 0x0, Step: 0x0
                    OneOfOption Option: "x4x4x4x4" Value: 0
                    OneOfOption Option: "x4x4x8" Value: 1
                    OneOfOption Option: "x8x4x4" Value: 2
                    OneOfOption Option: "x8x8" Value: 3, Default, MfgDefault
                    OneOfOption Option: "x16" Value: 4
                End
            End
what we usualy do is to extract the setup binary (UEFITool) extract the script (see above) and change the suppress condition.
e.g. value 0x0 not equal value 0x1
Code:
SuppressIf
                Uint64 Value: 0x0
                    Uint64 Value: 0x1
                    Equal
                End
                OneOf Prompt: "IIO 1 IOU3 - PCIe Port", Help: "Functions visible based on this setting : x4x4x4x4 (Fun 0/1/2/3 visible) x4x4x8 (Fun 0/2/3 visible) x8x4x4 (Fun 0/1/2 visible) x8x8 (Fun 0/2 visible) x16 (Fun 0 Visible)", QuestionFlags: 0x10, QuestionId: 0xB0, VarStoreId: 0x1, VarOffset: 0xC0, Flags: 0x10, Size: 8, Min: 0x0, Max: 0x0, Step: 0x0
                    OneOfOption Option: "x4x4x4x4" Value: 0
                    OneOfOption Option: "x4x4x8" Value: 1
                    OneOfOption Option: "x8x4x4" Value: 2
                    OneOfOption Option: "x8x8" Value: 3, Default, MfgDefault
                    OneOfOption Option: "x16" Value: 4
                End
            End
 
  • Like
Reactions: nexox

kapone

Well-Known Member
May 23, 2015
1,893
1,268
113
Got it.

While I'm quite tech savvy, there's a few things I tend to shy away from. Messing with modding BIOSes and/or hex editing them is one of them. :)

Any chance I can ask a huge favor and have you mod the 3.2 BIOS to include bifurcation?

Happy to buy you a coffee or something.
 

RolloZ170

Well-Known Member
Apr 24, 2016
9,574
3,094
113
germany
Any chance I can ask a huge favor and have you mod the 3.2 BIOS to include bifurcation?
bifurcation is there but suppressed,
as i mentioned before, the easiest way is to set the bifurc. to what you need (fixed) with AMIBCP-4.53.
in any case you need a SPI programmer. afaik a mod. BIOS can't flashed the normal way.
 
Last edited:

kapone

Well-Known Member
May 23, 2015
1,893
1,268
113
as i mentioned before, the easiest way is to set the bifurc. to what you need (fixed) with AMIBCP-4.53.
in any case you need a SPI programmer. afaik a mod. BIOS can't flashed the normal way.
That sounds...weird. This entire thread is about modding BIOSes for NVME/Bifurcation. All these folks using an SPI programmer to flash them?

The Citrix stuff is a non-issue, it's just what came on the motherboard. I can flash them to stock SM firmware without issue (over IPMI). The issue is that the stock 3.2 BIOS is not exposing the bifurcation settings (like you said).

So, am I dead in the water?
 

RolloZ170

Well-Known Member
Apr 24, 2016
9,574
3,094
113
germany
That sounds...weird. This entire thread is about modding BIOSes for NVME/Bifurcation. All these folks using an SPI programmer to flash them?
you can probably use a old AFU tool without BIOS validation, but if you brick your board you need the SPI programmer to get it working again.
i need a motherboard for that work to be sure what is possible and what not.
X10 can flash BIOS with BMC/IPMI, this accepts a mod. BIOS in most cases.
 

kapone

Well-Known Member
May 23, 2015
1,893
1,268
113
you can probably use a old AFU tool without BIOS validation, but if you brick your board you need the SPI programmer to get it working again.
i need a motherboard for that work to be sure what is possible and what not.
X10 can flash BIOS with BMC/IPMI, this accepts a mod. BIOS in most cases.
This board can flash BIOS over IPMI/BMC as well. (The OOB license key is already installed). And yes, I understand about bricking it, that's a given when flashing modded BIOSes. :)
 

RolloZ170

Well-Known Member
Apr 24, 2016
9,574
3,094
113
germany
This board can flash BIOS over IPMI/BMC as well.
ok that's nice. i can change the bifurc. to what you need and you try it ?
current settings are:
IIO 1 IOU1 x8
IIO 1 IOU2 x8x8
IIO 1 IOU3 x8x8

IIO 2 IOU1 x8
IIO 2 IOU2 x8x8
IIO 2 IOU3 x8x8
 

kapone

Well-Known Member
May 23, 2015
1,893
1,268
113
ok that's nice. i can change the bifurc. to what you need and you try it ?
current settings are:
IIO 1 IOU1 x8
IIO 1 IOU2 x8x8
IIO 1 IOU3 x8x8

IIO 2 IOU1 x8
IIO 2 IOU2 x8x8
IIO 2 IOU3 x8x8
Can that be changed after I flash the modded BIOS? (I haven't fully decided on the AIC card configurations quite yet).

Edit: Meaning, can the modded BIOS "enable" bifurcation, and I can choose what configuration I want in the BIOS setup?
 

RolloZ170

Well-Known Member
Apr 24, 2016
9,574
3,094
113
germany
Edit: Meaning, can the modded BIOS "enable" bifurcation, and I can choose what configuration I want in the BIOS setup?
bifurcation is enabled but suppressed (hidden)
i change the fixed values.
can you give a screeshot of
Chipset Configuration->North Bridge->Integrated IO Configuration ?
 

kapone

Well-Known Member
May 23, 2015
1,893
1,268
113
bifurcation is enabled but suppressed (hidden)
i change the fixed values.
can you give a screeshot of
Chipset Configuration->North Bridge->Integrated IO Configuration ?
Gotcha.

I can get a screenshot, but in the IIO section there's NO bifurcation at all. For CPU 1 (or 2), it only shows options for setting the pci-e speed (i.e. Gen3/Gen2 etc) for the respective slots.

It's essentially like this (this is from a different Supermicro board):

 

RolloZ170

Well-Known Member
Apr 24, 2016
9,574
3,094
113
germany
You're the man!
Once again, happy to oblige with a coffee or something.
i made just one try the fast way. if not work i have a deeper look at the WE.
not work

looks now like this (6 times)
Code:
            SuppressIf
                Uint64 Value: 0x0
                    Uint64 Value: 0x1
                    Equal
                End
                OneOf Prompt: "IIO 1 IOU1 - PCIe Port", Help: "Functions visible based on this setting : x4x4 (Fun 0/1 visible) x8 (Fun 1 visible)", QuestionFlags: 0x10, QuestionId: 0x9C, VarStoreId: 0x1, VarOffset: 0x8D, Flags: 0x10, Size: 8, Min: 0x0, Max: 0x0, Step: 0x0
                    OneOfOption Option: "x4x4" Value: 0
                    OneOfOption Option: "x8" Value: 1, Default, MfgDefault
                End
            End
 
Last edited:

kapone

Well-Known Member
May 23, 2015
1,893
1,268
113
i made just one try the fast way. if not work i have a deeper look at the WE.

looks now like this (6 times)
Code:
            SuppressIf
                Uint64 Value: 0x0
                    Uint64 Value: 0x1
                    Equal
                End
                OneOf Prompt: "IIO 1 IOU1 - PCIe Port", Help: "Functions visible based on this setting : x4x4 (Fun 0/1 visible) x8 (Fun 1 visible)", QuestionFlags: 0x10, QuestionId: 0x9C, VarStoreId: 0x1, VarOffset: 0x8D, Flags: 0x10, Size: 8, Min: 0x0, Max: 0x0, Step: 0x0
                    OneOfOption Option: "x4x4" Value: 0
                    OneOfOption Option: "x8" Value: 1, Default, MfgDefault
                End
            End
Will try it shortly. Taking care of kids right now.
 

kapone

Well-Known Member
May 23, 2015
1,893
1,268
113
i made just one try the fast way. if not work i have a deeper look at the WE.

looks now like this (6 times)
Code:
            SuppressIf
                Uint64 Value: 0x0
                    Uint64 Value: 0x1
                    Equal
                End
                OneOf Prompt: "IIO 1 IOU1 - PCIe Port", Help: "Functions visible based on this setting : x4x4 (Fun 0/1 visible) x8 (Fun 1 visible)", QuestionFlags: 0x10, QuestionId: 0x9C, VarStoreId: 0x1, VarOffset: 0x8D, Flags: 0x10, Size: 8, Min: 0x0, Max: 0x0, Step: 0x0
                    OneOfOption Option: "x4x4" Value: 0
                    OneOfOption Option: "x8" Value: 1, Default, MfgDefault
                End
            End
Was about to flash it, when I...stopped. I'll get you screenshots from the Citrix BIOS as such, but...

Each CPU is connected to 5x pcie-x8 slots and has three IIOs each. Based on the current settings of the IIOs that you posted:

IIO 1 IOU1 x8
IIO 1 IOU2 x8x8
IIO 1 IOU3 x8x8

IIO 2 IOU1 x8
IIO 2 IOU2 x8x8
IIO 2 IOU3 x8x8

The second and third IIOs for each CPU would need to be x4x4x4x4 each, wouldn't they? (since each one of those IIOs control two x8 slots each.)
 

RolloZ170

Well-Known Member
Apr 24, 2016
9,574
3,094
113
germany
The second and third IIOs for each CPU would need to be x4x4x4x4 each, wouldn't they? (since each one of those IIOs control two x8 slots each.)
yes. the BIOS i have sent should unhide the bifurcation setting (if it works)

Was about to flash it, when I...stopped. I'll get you screenshots from the Citrix BIOS as such, but...
the important part is
Code:
SuppressIf
                Uint64 Value: 0x0
                    Uint64 Value: 0x1
                    Equal
                End
 

RolloZ170

Well-Known Member
Apr 24, 2016
9,574
3,094
113
germany
Each CPU is connected to 5x pcie-x8 slots and has three IIOs each. Based on the current settings of the IIOs that you posted:

IIO 1 IOU1 x8
IIO 1 IOU2 x8x8
IIO 1 IOU3 x8x8

IIO 2 IOU1 x8
IIO 2 IOU2 x8x8
IIO 2 IOU3 x8x8
and this are the current (hidden) settings of the original unmodified BIOS 3.2
i have just asked what you need instead.