[Request] PCIe Bifurcation on Asus X99 Deluxe

Hello

I have a Asus X99 deluxe and want to set one of the PCIe x16 slot to x4x4x4x4(but not on PCIEX16_1 slot where I installed my GPU).BTW, I am using a 40 lanes CPU.

p.s. I searched its block diagram on Google but only find one for deluxe2 which should be different because there are 2 u2 ports on that board. So I actually don’t know exactly how PCIe lanes are assigned in this board. Is there a place to looking for such information?

Here is the board layout I was referring to:

SharedScreenshot.jpg



User manual: https://dlcdnets.asus.com/pub/ASUS/mb/LG…LUXE_UG_WEB.pdf
Lastest bios: https://dlcdnets.asus.com/pub/ASUS/mb/LG…E-ASUS-4101.zip

Thanks a lot for help.

The only way to find which slot is which setting in the BIOS is by inserting some card into each slot one by one, check what it shows up as in HWINFO64 Bus area, make note of what is what.
Then edit BIOS and change each slot to something else, and retest, then you can tell which is what setting in BIOS, then change the one you want to the value you want.
This kind of edit can be done with AMIBCP, just change the “optimal” value for each slot as you test. BIOS will need extracted from capsule, edited, then placed back into capsule so you can USB Flashback it.
If you can’t do all that, me or someone will have to help you.

Thanks for yor information, I think at least now I know how to check the actual PCIe assignment in my board if there is no existing documentation.

I actually followed the guide here [Guide] - How to Bifurcate a PCI-E slot.

However I have some issues after modding the Bios and don’t have a clue to solve thus I come here to ask help.

The thing is that, once I set IOU0(which in my case bounds to PCIeX16_3 & PCIeX16_4) to x4x4x4x4 by using RU tool to set the corresponding value to 0x00, my GPU(located in PCIex16_1 which is from IOU1) works a little weirdly. While booting the system, the monitor remain black in most cases until it’s reaching to Windows login screen which is actually very annoying to me as I can’t update my bios setting.(Enter del would not work in most case as well as the monitor just remain black in that case)

I noticed in that guide it’s also mentioned to change these 3 options in case something doesn’t work:

1. Extended sync mode : turn on
2. Link Retraining retry : set to max
3. Link Training Timeout: change from a 1000 to 10000 (in hex would be 2710 or 1027 in proper reverse order at offset x26E)”
"

However, in my extracted text file which represent the PE32 body, I can’t find any content related to these by searching these keyword. Here I am stuck.

So, could you please help me to create a modded bios or enlight me about how to troubleshoot further?(e.g. where to find these 3 mentioned options)

That issue may be due to CSM enabled/Disabled and your graphics card vBIOS/GOP. Are you using CSM Disabled?

For the settings you mentioned, look in AMIBCP instead of setup IFR. If you find them in AMIBCP, then they may be in “Platform” PE32 instead of setup PE32, this is usually where the settings relating to all this are located.
You’ll need to change in NVRAM and AMITSE/SetupData too, not just setup or platform, or use AMIBCP directly.

You may not be able to use 4x4x4x4x, I know they all ran into odd issues with this config on all the Asus X79 boards, you’d think this would be fixed on x99, but possibly not? try 8x4x4x and see if you can use three devices OK



Please attach your complete IFR dump for review and reference this part of my post: [Guide] - How to Bifurcate a PCI-E slot

In my bios my IFR clearly detailed the appropriate variables that control those registers. In my case
it was address x26C, x26D, + x26E that controlled those above mentioned variables. If its not listed maybe they are still there and can be located in RU
by searching for "E8 03" (which equals 3E8 in hex or 1000 dec which is the default for link training timeout) in the data. If you can’t locate those variables
in the IFR its possible that it doesn’t exist in your bios and the data needs to be manipulated directly via command line (which can’t remember how I did it
before in the past - have complete amnesia its been so long) though the registers can be found by studying the Intel datasheet for the x99 platform called
Intel Datasheet Vol2 Registers.

Maybe @Lost_N_Bios knows how to directly manipulate registers and hack the bios to make it permanent. Its been so long I can’t remember.

Anyhow post your IFR. Use a different version of what ever you used to dump the data because I have noticed differences.

Good luck.

Edit: About your video card acting wonky. Maybe you modified the wrong variable or perhaps your board is using a plex chip or something such that its
wired differently. Comes down to trial and error.

Hello @Lost_N_BIOS & @davidm71

Today I received my new M2 adapter card which consists 4 M2 slots and looks it works greatly.

Even the issue I mentioned before seems somehow disappear (still need verification). I have 3 M2 nvme devices installed on that card and the performance is quite good. e.g. simutanously test Samsung SM961 & Intel P4510, both can hit 3000MB/s+ in reading test.

Previously I was using Asus M2 Hyper kit which is nothing but a regular PCIe 4X M2 adapter. I think the issue I mentioned before might be related to some circuits issue that pluging a PCIe 4x device into a x4x4x4x4 PCIe x16 slot. However, I have no deeper knowledge regarding the area thus hard to understand the full story.

Anyway, I will still check if the setting is working stable.

To whom might search this topic further, what I have done is only to change the corresponding option in IOU0 of first IIO to x4x4x4x4 mode. In my particular case, it means set value at 0x533 to 0x00 and that’s all.

So what brand/model is your new card?

It’s this one https://www.ebay.com/itm/JEYI-iHyper-m-2…mQAAOSwbY5dqZsn.

I firstly have doubt that if my motherboard supports bifurcation already, but when I revert the change only first m2 device can be recognized by BIOS. So I say the mod is crutial to get the support.

So far I haven’t expirienced any additional issue(as I have a lot already with hackintosh :slight_smile: ) and will test further.

Yes, your board supports bifurcation, but none of it is enabled by default, well at least not set directly (it’s all on Auto)

What is the CPU you are using in your board ? I have the 28 Lane 5820k.

What method did you use to flash your Bios ?

hi!
I have the same motherboard as you, did you modified the bios?
if yes, do you have modified bios file?

@Javen ^^ Thanks

@itrimble and @csandoval012 ,
I am using a 5960x CPU on a ASUS X99 deluxe board. I haven’t done any modifications to the bios file thus I’m afraid I can’t provide a modified one for you. Basically what I have done is just follow davidm71’s guide and modify corresponding option in IOU0 of first IIO to x4x4x4x4 mode. In my particular case, it means set value at 0x533 to 0x00 which split the second PCIe x16 slot to x4x4x4x4. You might have different plan to use your PCIe lane thus it’s better to follow the original guide to find out which is best for you.



@Javen I’m working with the ASUS X99-Deluxe as well. I’ve followed davidm71’s guide, and it seems the entire guide revolves around modifying the bios file and flashing the changes you’ve made. Have you found some way to make these changes to the bios directly, without modifying the bios image file and flashing it? If so, please share the secret! :slight_smile:

Edit: Ohhhh I see what you did now. You used only RU to modify the bios image in-place. A CMOS reset would wipe the changes without a bios update, though.

@Lost_N_BIOS Hi im New to this Forum. My English is not Perfect.
Im here beacuse i want to Install in my Asusx99-s board a Hyper X16 NVME x4 Card, for that i need Bifurication what my Board not Support.
Could you help me out for a small Donation with a Bios to Install 4x 1TB SSD on the Hyper X16 Card to my 3rd Sloth of the Mainboard ?

Hello, so the final answer is that the problem lies in the Asus Card being incompatible with the Asus Motherboard, while JEYI iHyper m.2 X16 from china works fine?

Hello all, I have come across this topic while searching. I have the same board in my Truenas, and I will be aiming to bifurcate one of the X16 lanes to x4x4x4x4 for use with a u.2 adapter card. My CPU is a Xeon E5 1660v3 (40 lane).

Note that this system does not run windows, so would I need to save the BIOS file to a drive, and edit on a Windows computer? Alternatively if need be, I suppose I could use a live/portable Windows install. Thanks in advance for any advice.

EDIT: Just an update here, I got it all working. I used a Windows 10 install on my USB NVMe drive(VHDx file booted from Ventoy), then used AMIBCP to edit the .CAP file, and saved. I then used UEFI tool to extract the modded file to a .ROM. I then used AFUWINflash to flash the .ROM.

I now have 2 Samsung u.2 NVMe drives attached to the slot, and can add 2 more drives later.