Gigabyte MU92-TU1 PCIe Bifurcation

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

wnstech

New Member
Oct 17, 2017
3
0
1
36
Hello all! This is my first post, but I've been a user of this forum since years learning a lot from this awesome comunity.

Recenlty I bought a Gigabyte MU92-TU1 motherboard for my new lab environment. The reason why I chose this motherboard is because comes with 16 DIMM slots and I reuse my 16x32GB sticks (2933MHz) from my previous system on this new one.

The point is the BIOS on this motherboard and generaly in motherboards from Gigabyte (as far as I know), are hidden in BIOS menus the PCIe bifurcation options. Not because the hardware doesn't support it, but for any reason this vendor prefer to not display that feature.

I have some Samsung 980 Pro NVMe sticks and I want to use it with this motherboard with a PCIe adapters like I've been using since last year and a half.
I was thinking also to replace the PCIe adapter for a NVMe RAID adapter solution, like the HighPoint SSD7505, but unfortunely this is not compatible with VMware ESXi which will be running on this system.

A few weeks ago I seen this post from @andrewbedia explaining how to modify and flash a BIOS Mod for a Gigabyte Xeon motherboard from previous generation (1st and 2nd Xeon Scalable) and I take it from reference to modify BIOS for my motherboard.
The guide works and the tools user permit me to modify the .bin and .rom files, but at the time to flash it... didn't work.
I try many times and a lot of tools and ways to flash it.
The tools used are; afudos, afuwin, AMI Setup IFR Extractor, FPT and other that I don't remember. In all cases I get a error showing the BIOS is write protected.
As I can find during my troubleshooting process is when BIOS is modified, the signature in .rom file cannot be saved by AMIBCP and on .bin files sems the same. I thiks is the vendor or AMI BIOS signature.

The BIOS protection I don't know from where comes, if is from Intel ME (I read it about in other articles and forums Googling it) or if it's another kind of protection.

At this point and whith the imposibility to do it by software flashing, I'm thinking to flash the BIOS chip from hardware tools like CH341A or similar.
My surprise was when I see the BIOS chip is type SIOC16 or SOP16, the model is MX25L51245GMI-08G.
I didn't see any reference about how to flash it or the constrains for flashing this chip in this motherboard or others with the same BIOS chip.

I ordered in Aliexpress 2 chips and a clip SOP16 to try to flash it by myself, but I don't know if the CH341A is the apropiated Hardware tool to flash those chips or I have to use other for that. I want to test as many flashes as I can to try if I the BIOS Mod can be written in the new chips and then try in the motherboard chip, but honestly I don't know if this is the correct way to do it or instead of thar, better do a chip replacement (unsoldering the original) with the new one flashed with BIOS mod.
Ofcourse I prefer to not do any hardware manipulation (unsoldering) on a new motherdoard, at least if there is no garantee if that would work.

Anyone here have experience with the same or similar problems and how to resolve it?

Many thanks!
 

Attachments

andrewbedia

Well-Known Member
Jan 11, 2013
701
260
63
Definitely a curious thing. It is expected and normal that in-band flashing tools (afudos) and built-in out-of-band tools (ipmi) will not work because signature checks fail.

It is odd to have a SOP16 bios chip -- I've never seen one used for BIOS before either.

CH341A can maybe work but I've had much better success with FlashCat Embedded Computers which does not depend on flashrom software. It provides a large amount of power to power the most stubborn in-circuit spi flash chips I've come across and they are very responsive on adding compatibility with new chips in the field. I would be surprised if their product didn't work with it.
 
  • Like
Reactions: automobile

RolloZ170

Well-Known Member
Apr 24, 2016
5,441
1,645
113
flashing a MU71 i.e. with programmer works but if MU92 BIOS is digitaly signed and checked at runtime this will also fail.
supermicro's H12/X12 series use those protected BIOS.
but maybe you can change the settings with a EFI Tool like RU.efi (readUniversal) if the option is not protected.
find the VAR-Store, and change the indexed byte . this will cleared on CMOS clear r load defaults of course.

Code:
0x3374B     Form: PCI Subsystem Settings, Form ID: 0x2738 {01 86 38 27 54 01}
0x33751         Text: PCI Bus Driver Version {03 08 58 01 5A 01 59 01}
0x33759         Suppress If: {0A 82}
0x3375B             Variable 0x29E equals 0x0 {12 06 9E 02 00 00}
0x33761             Grayout If: {19 82}
0x33763                 Variable 0x239 equals 0x1 {12 06 39 02 01 00}
0x33769                 Setting: PCI Express Slot #1 I/O ROM, Variable: 0x150 {05 91 7F 05 DD 06 53 00 01 00 50 01 10 10 00 01 00}
0x3377A                     Default: 8 Bit, Value: 0x1 {5B 06 00 00 00 01}
0x33780                     Option: Disabled, Value: 0x0 {09 07 04 00 00 00 00}
0x33787                     Option: Enabled, Value: 0x1 {09 07 03 00 00 00 01}
0x3378E                 End of Options {29 02}
0x33790             End If {29 02}
0x33792             Suppress If: {0A 82}
0x33794                 Variable 0x30B equals 0x0 {12 06 0B 03 00 00}
0x3379A                 Grayout If: {19 82}
0x3379C                     Variable 0x239 equals 0x1 {12 06 39 02 01 00}
0x337A2                     Setting: Slot Lanes, Variable: 0x240 {05 91 1B 06 3F 07 54 00 01 00 40 02 10 10 01 0F 00}
0x337B3                         Default: 8 Bit, Value: 0xF {5B 06 00 00 00 0F}
0x337B9                         Option: Auto, Value: 0xF (default MFG) {09 07 87 07 20 00 0F}
0x337C0                         Option: x16, Value: 0x7 {09 07 88 07 00 00 07}
0x337C7                         Option: x8x8, Value: 0xB {09 07 89 07 00 00 0B}
0x337CE                         Option: x8x4x4, Value: 0xE {09 07 8A 07 00 00 0E}
0x337D5                         Option: x4x4x8, Value: 0x1 {09 07 8B 07 00 00 01}
0x337DC                         Option: x4x4x4x4, Value: 0xD {09 07 8C 07 00 00 0D}
0x337E3                     End of Options {29 02}
0x337E5                 End If {29 02}
0x337E7             End If {29 02}
 

wnstech

New Member
Oct 17, 2017
3
0
1
36
Hello, thank you all for the help and the ideas.

I test some of the things you mention here, but seems more complicated tha I thougt... At least at my knowledge on BIOS modding skills (practicaly none).

When I try with RU.efi tool, I see some information on Internet about de CFG_Lock in many motherboards, and this tool is tipically used for Hackintosh. Well, I did a search in BIOS file to find this option, atribute or whatever. Not a literal "CFG Lock" was found on BIOS, instead of that, the result is 6 times CFG Lock's but the displayed result is "SATCFG Lock" which is related with something about power...

Other thing I found during my research is CFGLock.efi and ControlMsrE2.efi from OpenCore which is also for Hackintosh, again, same result, no result. The only thing this tools get is the CPU or BIOS is locked, but those tools can't unlock it.

So, for now, I only see the motherboard MU92-TU1 BIOS has the bifurcation options "hidden" and in auto mode. I'm thinking in theory this option whould detect the amount of NVMe or PCIe devices connected in each PCIe slot and it will be able to auto-bifurcate signal to handle the devices. The reality is not, I only get a x8 bifurcation. Now is good and enought for me, I have 3 NVMe adapters and only 6 disks + one puted on motherboard for OS.

I wil keep doing a reseach for geting this options and others visible in BIOS, because I want to expand the storage of this server and the only option I see is to bring the system the capability to bifurcate.

Any help is wellcome :)

Regards.
 

RolloZ170

Well-Known Member
Apr 24, 2016
5,441
1,645
113
So, for now, I only see the motherboard MU92-TU1 BIOS has the bifurcation options "hidden" and in auto mode
see my last post, the code is from
"MU92_TU1_Section_PE32_image_Setup_Setup_body" << "Setup" extracted with UEFITool from your BIOS.
open with Universal IFR Extractor and save as txt. search for your options and note the "Setting: Slot Lanes, Variable: 0x240"
0x240 is the offset if the variable in the VAR store you have to change with RU.efi.
the possible values are there:
0x337B9 Option: Auto, Value: 0xF (default MFG) {09 07 87 07 20 00 0F}
0x337C0 Option: x16, Value: 0x7 {09 07 88 07 00 00 07}
0x337C7 Option: x8x8, Value: 0xB {09 07 89 07 00 00 0B}
0x337CE Option: x8x4x4, Value: 0xE {09 07 8A 07 00 00 0E}
0x337D5 Option: x4x4x8, Value: 0x1 {09 07 8B 07 00 00 01}
0x337DC Option: x4x4x4x4, Value: 0xD {09 07 8C 07 00 00 0D}

the VARstore should be "Setup" (RU.efi UEFI variables)
 
Last edited:

RolloZ170

Well-Known Member
Apr 24, 2016
5,441
1,645
113
I wil keep doing a reseach for geting this options and others visible in BIOS,
for this you need to flash the modded BIOS with hardware programmer. all other methods reject a modded bIOS because faulty signs/checksum.
 

wnstech

New Member
Oct 17, 2017
3
0
1
36
How do you extract this from Universal IFR Extractor? Everytime I try (even in different computers and executing as admin) there's no information on the result file, just this:


Code:
                                EFI Protocol Detected
--------------------------------------------------------------------------------


                                String Packages
--------------------------------------------------------------------------------
Offset:        Language:
--------------------------------------------------------------------------------
0xD3401E        eig


                                   Form Sets
--------------------------------------------------------------------------------
Offset:        Title:
--------------------------------------------------------------------------------


                         Internal Forms Representation
--------------------------------------------------------------------------------
Offset:        Instruction:
--------------------------------------------------------------------------------
 

RolloZ170

Well-Known Member
Apr 24, 2016
5,441
1,645
113
How do you extract this from Universal IFR Extractor?
open the BIOS with UEFITool seach for a option you need to find("Slot Lanes"), UEFITool will show you the module with the Setup.
extract the (PE32 image) body of this module as "Section_PE32_image_Setup_Setup_body.efi". open this module with Universal IFR Extractor then click extract and save as "Section_PE32_image_Setup_Setup_body.efi.txt" file.
Zwischenablage01.jpg
 
Last edited:
  • Like
Reactions: wnstech