PCIE Bifurcation

Discussion in 'Small Form Factor Systems' started by jb1, Jul 28, 2015.

  1. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    Thats a good idea though my goal is for SSD M.2 usage though using an 8X spare gpu might be the easiest way to tell.

    Thanks.
     
  2. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    Well I tried to mod the bios and set Port IIO #1 setting IOU2 to 4x4 but didn't see a reduction in Link speed from 8X with a spare video card I used.

    Perhaps when I get the riser card two port extension it may be different..

    Thanks
     
  3. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    Mhh that is weird. Maybe it interferes with some other option... You could play around a bit with bifurcation for the other slots. Maybe it is also related to the #prsnt signal as mentioned earlier. (i.e. some custom code gets executed when the #prsnt pin is asserted)

    I will try around myself when I have the time (unfortunately not right now)
     
  4. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    I think I set the values incorrectly. I loaded RU Utility from an UEFI Shell and verified that the bifurcation values exist inside the IntelSetup variable. I also pulled all the corresponding variables from my bios using the IFR extract utility so I know which each one is and what memory address it corresponds to. The RU utility allows you to essentially override those values and change the nvram bios setting values. What I'm confused about is how the IO ports correspond to the physical slots. What I do know is that there are on my cpu 40 lanes. These 40 lanes are split into 4 sections of which I think 4 lanes go to the chipset (IOH1), 8 Lanes to IOH1, 16 Lanes to IOH2, and lastly 16 Lanes to IOH3 for a total of 44 Lanes (4 of which belong to the PCH). Inside each of those four IO divisions there are 3 bifurcation categories (IOU2 [port1] at 4x4 or 8x, IOU0 [port2] at 16x to 4x4x4x4, IOU1 [port3] at 16x to 4x4x4x4) and because each of these 4 divisions inside IntelSetup have IOU2 settings I'm guessing each one needs to be set at 4x4 to Bifurcate the slot. As I still am confused about how Intel allocates lanes can someone in the know please help clarify?

    Thank you
     
  5. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    Keep digging! I cant even open my MSI Bios nor the one for your board. I was however able to open the asrock bios.
    Which version of amibcp are you using? Are you treating the BIOS somehow beforehand (removing security or something)

    The two pictures i posted should explain your question...
     
    Last edited: Dec 18, 2017
  6. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    I’m using AmiBcp 5.02 and on my board there really is no security. I’m just confused why there are four IO divisions with each one having their own IOU 0-2 controller reference and each one of those four IO divisions have 11 pcie slices. If you find 5.02 take a look.

    Thanks
     
  7. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    Ahh i was using AMIBCP 5.01 and that kept crashing. I can open your BIOS now. However not mine... to many entries it keeps telling me ;( So no testing today.
    IIO 0-3... I guess for Multi CPU systems. Maybe your CPU is not CPU0 ?!?!
     
  8. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    So those IO entries are for multi cpus? Hmmm. Interesting.
     
  9. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    Had success modding bios entries and bifurcating the last pci-e #5 slot on my motherboard by changing a few values in nvram. Only thing is I wish I could split down equally the channels to the M.2 onboard equally much like when you have two gpu's in slot 1 + 2 both know to operate at 4X. Unfortunately the way it is now if I enable both to PCI-E operation one shuts down. They must have a switch. So only way to get two NVME drives going is to use a two slot adapter and occupy the second slot with a pci-e m.2 adapter and forget about the onboard m.2 connector.

    [​IMG]
     
    Khahhblaab and aquelito like this.
  10. aquelito

    aquelito n00b

    Messages:
    19
    Joined:
    Nov 30, 2016
    Waiting for my custom water blocks to move these two 1070 Katana and an i7 6700K from their bench to their custom 12L enclosure :)
    Right now, the CPU is cooled by an EK Annihilator, the upper 1070 by an EK Thermosphere.
    Pum pis an EK Sbay DDC while the radiator is a Magicool G2 Slim 240.

    The Katana's blower fan is quite noisy but the sound signature is very smooth. Pleasantly surprised.
    It throttles pretty quickly while rendering with Octane though (82°), while the water-cooled 1070 (EK Thermosphere) stays around low 50° under load.

    I had lots of POST issues powering my system with a PicoPSU-style DC board and two Meanwell PSUs.
    Fortunately I found this SF600 at a great price on Amazon refurb. Working perfectly and silently !

    Thanks C_Payne for the support :)

    [​IMG]
     
    Last edited: Dec 19, 2017
    Neapolitan6th likes this.
  11. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    Awesome work. Please let the forum know the exact steps neccesarry. This may well be very helpful to enable bifurcation on "non bifuraction ITX Mainboards"
    Seems really groundbreaking,

    I wonder if the M.2 shares its lanes with the first 4 or last 4 lanes of PCIe Slot #5. Do you know?
    If it is the last 4 lanes it could work. If it is the first 4 you are out of luck in any way without a special riser. (This is probably the case, otherwise it would make no sense at all for MSI not to enable them both.) It would also explain the behaviour you were explaining.
    Is your Slot NVME drive low profile? I could imagine a very simple riser putting the bottom 4 lanes top. I will probably send some new custom risers to fabrication in the near future so I could make one for you.

    All in all very impressive work.
     
    Khahhblaab likes this.
  12. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    I'm pretty sure its the last or second bus path that both m.2 and pci-e device share as indicated in the last image I posted. About the NVME drive yes its low profile. Its a Plextor AOC M8PEY drive and my case actually has a horizonal single slot mounting bracket built in positioned pretty much just 6 inches away from the pci-e slots. So this could work.

    Right now my Samsung 950 Pro is hiding under one of the graphic cards and if I'm forced to move it onto a pci-e adapter card on the split it won't be a bad thing as that way I can provide cooling for it or be able to remove it easily without removing my gpu. This is what it Plextor looks like and theres the horizontal mounting bracket:

    [​IMG]

    [​IMG]
    Looks like I got to do some dusting. Yikes! Also photo is on its side for some reason..
     
    Last edited: Dec 18, 2017
  13. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    Step 1:

    Gather your tools:

    MSI UEFI Shell files (google search), RU Bios Utility, AMIBCP 5.02 (version may vary depending on board)
    UEFITool ver 21.5, IFR Extractor

    Step 2:

    Open your Bios in AMIBCP and look for the IntelRCSetup section.

    [​IMG]


    You will note that there are four IIO's. Your going to have to set all of the IOU2 or whatever IOU # to the desired bifurcation setting. In my case I set IOU2 to x4x4 which maps to my x8 slot. If you've got a x16 slot your going to have to find the right IOU 0 or 1 port and set it to x8x8 or whatever you want. Set all of them and save the file with a new name.

    Step 3:

    Open the original bios file inside UEFITool and search for "IOU1 (IIO PCIe Port 3)" and double click the search result which will bring you to the Platform DXE drive module. From there extract the PE32 body and use IFR Extraction tool tool to extract the String file.


    [​IMG]

    Step 4:

    Open the String file in your favorite text editor and search for IOU2 or whatever. Look for each Variable for IOU2 and write down the address. There will be four of these. For example IIO3 IOU2 variable # is '0x53C' and the default value is 'FF'. To turn on bifurcation of 'x4x4' the correct value will be '0x0' or '00'. It will look like this:

    Form: IIO 3, Form ID: 0x1A7 {01 86 A7 01 7E 04}
    0x1CB5B Suppress If: {0A 82}
    0x1CB5D Variable 0x211 equals 0x0 {12 06 11 02 00 00}
    0x1CB63 Setting: IOU2 (IIO PCIe Port 1), Variable: 0x53C {05 91 BE 04 C7 04 83 02 01 00 3C 05 10 10 00 FF 00}
    0x1CB74 Option: x4x4, Value: 0x0 {09 07 CC 04 00 00 00}
    0x1CB7B Option: x8, Value: 0x1 {09 07 4F 0A 00 00 01}
    0x1CB82 Option: Auto, Value: 0xFF {09 07 76 03 30 00 FF}
    0x1CB89 End of Options {29 02}
    0x1CB8B Setting: IOU0 (IIO PCIe Port 2), Variable: 0x534 {05 91 C2 04 C7 04 84 02 01 00 34 05 10 10 00 FF 00}
    0x1CB9C Option: x4x4x4x4, Value: 0x0 {09 07 C8 04 00 00 00}
    0x1CBA3 Option: x4x4x8, Value: 0x1 {09 07 C9 04 00 00 01}
    0x1CBAA Option: x8x4x4, Value: 0x2 {09 07 CA 04 00 00 02}
    0x1CBB1 Option: x8x8, Value: 0x3 {09 07 CB 04 00 00 03}
    0x1CBB8 Option: x16, Value: 0x4 {09 07 50 0A 00 00 04}
    0x1CBBF Option: Auto, Value: 0xFF {09 07 76 03 30 00 FF}
    0x1CBC6 End of Options {29 02}
    0x1CBC8 Setting: IOU1 (IIO PCIe Port 3), Variable: 0x538 {05 91 C6 04 C7 04 85 02 01 00 38 05 10 10 00 FF 00}
    0x1CBD9 Option: x4x4x4x4, Value: 0x0 {09 07 C8 04 00 00 00}
    0x1CBE0 Option: x4x4x8, Value: 0x1 {09 07 C9 04 00 00 01}
    0x1CBE7 Option: x8x4x4, Value: 0x2 {09 07 CA 04 00 00 02}
    0x1CBEE Option: x8x8, Value: 0x3 {09 07 CB 04 00 00 03}
    0x1CBF5 Option: x16, Value: 0x4 {09 07 50 0A 00 00 04}
    0x1CBFC Option: Auto, Value: 0xFF {09 07 76 03 30 00 FF}


    Step 5:

    Format a fat32 usb key and copy the msi uefi shell files (or any shell file belonging to edk toolkit) to 'EFI/BOOT' folder. The name of the Shell executable usually is BootX64.efi. Download the RU Utility and copy it to another folder call it 'EFI/RU'. Insert the USB key and reboot the intended machine from the USB key and when your shell loads up hit any key to go to the command prompt. Bypass or delete any auto config Nsh file that MSI may have included.

    Type Map -r -b and look which FS# is your usb key. Mine was FSa so typeing FSA: enter took me to my usb key and I cd'd into my RU folder and ran the RU efi utility.

    Step 6:

    When inside RU hit [ALT]+[+=] keys at once to search for 'IntelSetup' file and press enter to load up its strings. From there you'll see a bunch of addresses which correspond to the Variable names such that 'x53C' variable is actually an address. You can scroll down by hitting [CTRL]+[PGDN] keys and use arrow keys to find individual entries. In my case all my IOU2's corresponded to x539, 53A, 53B, + x53C which all had values of 'FF' that I set to '00'. Your going to want to change those to '00' to enable 'x4x4'. If your trying to mod a 16x slot you will obviously want to search for IOU0 or 1 and set them to '30'. From there [CTRL]+[W] writes it to ram and I think [ALT]+[Q] exits the program.

    RU looks like this:

    [​IMG]

    Step 7:

    After exiting reboot the computer. Go into HWinfo and look at the lane distribution. You should have now a split bus. This of course is not permanent and a cmos reset will probably wipe this but its good for testing purposes before you flash your modded bios file you made earlier.

    Note:
    If IFR Extractor fails to read the file 'Extract as is' instead.
    Not guaranteed to work as I have not acquired a riser card to test but hopeful now it will work.
    Use at your own risk.

    Edit: Enabling all IOU2 variables from x539 to x53C to '00' causes the link speed drop in half what it should be.
    I found this avoidable if you select only one such as 'x53B' or 'x53C'. Not sure why.
     
    Last edited: Dec 18, 2017
  14. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    Which picture? If that is really the case bifurcation should be visible in HWinfo when using the m.2 slot, even without your modification.

    So I take it it should be sufficient to modify the BIOS in amibcp and then load defaults?
     
  15. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    In post #609 I showed what it looks like for only the Plextor drive in Slot #5. It also looks the same for the onboard M.2 using the same bus port when that M.2 drive is set to PCIE Mode BUT the motherboard has a switch that completely turns off slot #5 when you do that. Is it because they’re using the same pcie port or bus? Will using a two slot Pcie riser adapter for the Plextor on alternate different bus or port allow simultaneous operation? I am inclined to believe that if I want to take advantage of all 8X lanes I would have to route both drives through the 8X pcie #5 slot. Cant use both at once. Furthermore in my experiments last night only certain IIO IOU2 variables needed to be set and the M.2 needed to be set to PCH Mode to bifurcate the 8X bus on Slot #5. Interestingly enough you could even bifurcate the M.2 bus when set to PCIE mode but it required all of IIOs to be set. So going to get that adapter maybe. Its $55 with shipping. See if I can truely bifurcate beyond HWinfo.

    Thanks
     
  16. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004

    What model of Riser card is that??? Got in contact with Ameri-Rack. They recommend the ARC1-PERY423-C20. Is that it??

    Thanks
     
  17. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    That one wont do you no good as it bifurcates x16 into two x8.

    I suggest you try that Fujitsu M.2Carrier Board D3352 with two m.2 slots I posted earlier.
    If you wish I could design a custom riser for you, but it would be a waste if it wasnt working.
    I will probably send out a new batch of risers soon so it would be OK price wise. Havent done M.2 so far however.
     
  18. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    So I need a 8X to 4X4 split riser?? Do they even make one?? A 16X sized adapter won't be pin to pin compatible or backward compatible with a 8X Laned full size PCI-E Slot?

    To use a M.2 dual card I would have to use a m.2 to pci-e x4 cable? May be a better solution..

    Edit: Cant find the Fugitsu board for sale anywhere!
     
    Last edited: Dec 19, 2017
  19. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    This what I need:



    Supermicro RSC-R2UU-2E4R 2U Right Slot 2x PCI-Express x4 + UIO Riser Card
    [​IMG]
     
    Last edited: Dec 19, 2017
  20. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    That one looks promising.

    As I said earlier I meant to add M.2 to my custom riser portfolio.
    I took your efforts as motivation and this is what I came up with:
    Sitting on the top will be the pcie slot for a low profile card.

    8b9778ddf8e46cdacb4d3d4cba7205b5.png

    d8b512893bfb775d9fb9594a6c81d9a4.png


    I will send this to fab with some other order and see how it goes. I made quite a few experiments with this one (Lane Reversal, Lane Inversion, clock inversion, new M.2 Slot footprint, new card edge female connector footprint)
    I will experiment and let you know. If they work I would gladly offer one to you.

    Chris
     
    Zam15 likes this.
  21. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    Wow that looks cool. You should patent that design. How is it you can take it to fab? You own a company?

    I think its a good idea if this works to market it toward the X99A MSI community. Red or Black PCB.

    I presume the top edge is 4X ?

    I was about to buy the Supermicro Card just now but if you can make that hell I'll wait!!

    Wow!!

    Edit: Only one issue I can see causing a problem. That is the placement of the M.2 on the primary bus. I mean you want the drive that boots the OS on the first pci-e bus such that if theres a problem with the mod you don't lose your ability to boot into the OS. Unfortunately I have no idea which one that is. I would presume its the first quarter of the 16X physical slot.
     
    Last edited: Dec 19, 2017
  22. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    Good point! However if you make these changes in BIOS they should survive a CMOS reset? No?
    Only if the user accidently flashes a new unmodded bios...

    Well I am not going to change it now... Maybe in future revisions. (Would require complete rerouting)

    No i do not own a company... just made a couple of custom risers for myself and for some friends in this forum.
     
  23. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    I have noticed that changing the M.2 mode in bios may affect the bifurcation setting but as long as you leave on board m2 pch it’s all good.
     
  24. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    I just had an epiphany on how my motherboard bifurcates the last PCI-E5 Slot physically. Looking into the specs I found out my board uses two PI3PCIE3415 switches to route the first 4X lanes to the M2 (each switch handles 2 lanes). If it only flowed away the last four lanes wouldn't need an adapter but now knowing how its wired has helped me understand how this is going to work. For example setting the M.2 Mode to CPU PCI-E turns on those two switches and diverts the first four lanes away BUT just like having two gpus in PCIE#1 + PCIE#2 the very same switches forces 8X/8X operation by routing away the last 8X lanes such that I would bet that the bottom half 4X of slot #5 is still active when the M.2 Mode is set to CPU PCI-E !!! All that does is turn on the switch leaving the last four lanes still there!!

    So C_Payne another idea for a pci-e adapter or even better a cable that repositions the last four lanes up first. Or a combination of dual M.2's for high speed raid or what you designed before which was pretty cool!

    Getting excited to try this out!!!

    Edit: Sorry to confuse the matter. Apparently in my case I have two options: 1. Bifurcate an 8X slot into two (doable)
    2. Rewire the 8X slot to use its bottom half due to it already being bifurcated via PI3PCIE3415 Switch.
     
    Last edited: Dec 21, 2017
  25. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    That was my first idea of a "very simple riser" I was talking about. However its use would be only to some specific mobos and also I wanted to test my m.2 footprint.
    It would be much cheaper though... maybe I will do it too.
     
  26. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    I like your design as you could add a heatsink to your M.2 very easily. Right now my M.2 onboard is under my 2nd GPU so not sure if there would be room for a heatsink or fan placed over it.
    Only thing is your adapter routes the bottom half of the PCI-E x8 lanes to the M.2. Not sure if it would make a difference.

    Just a little confused on how the pins before the keynotch such as the PRSNT1, SMCLK, + ClKREQ signals are routed with such an adapter and if it makes a difference whether a switch has shut off the first 4 lanes on the 8X slot?

    Thanks

    Chris If your building a few of those can I make a donation for one?
     
    Last edited: Dec 21, 2017
  27. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    Sure... I have been giving them away against "donations" in the past so I can at least cover my expenses... 4 layer pcb's dont come cheap in low quantities... actually they are really expensive.
    And have some extra to cover for the lung cancer treatment I get from inhaling all those solder fumes ;) Its actually quite some work to make them by hand.

    Most of them are open drain so I can connect multiple endpoints.
    JTAG is not neccessary to connect. (I guess the only sideband that is really neccesarry is !PERST.
    The clock signal needs to be multiplied... thats what the buffer ic is for.
    The PCIE Lanes need to be routed according to the configuration in your bios.

    Thats it.
     
  28. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    I now finally have a bios that has its own 'Bifurcation Support' option. It took about 48 hours of study and dedication to figure out how to add it to my boot menu and make sure it altered the right settings in NVRAM. I tested it works as far as HWINFO is concerned but won't know for sure until I get my 2 port Adapter in a few days. Anyhow here are the cool screen shots:

    [​IMG]

    [​IMG]

    :)))
     
    Khahhblaab and Neapolitan6th like this.
  29. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    Awesome work! I am glad you are here.
    Does this involve writing a custom efi module? Again I am very impressed and interested in how you achieved this.

    I think I might donate one of my risers should they work. ;)
     
  30. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    Thank you. I'll tell you how I did it without getting too technical. Basically as you know I found out which variable in the Setup program was responsible for enabling bifurcation. These variables correspond to address locations and registers in the IntelSetup bios modules's memory space. I also used AMIBCP to change a few of the variable names on certain submenus that were hidden from view. For example there was one called PCI-E Lane Allocation or something with a '16/0' '8/8' selection choice. I revealed this hidden option by changing its access to 'USER' and found it useless causing my machine to lockup so I altered it to suit my needs. I renamed it 'Bifurcation support' and changed the '16/0' '8/8' to 'ON' + 'OFF'. From there I extracted the main Setup and Platform Bios efi driver modules using UEFITool. Setup module handled most of the common bios settings but there was the 'IntelRCSetup' category in AMIBCP.

    This corresponded to Platform bios module of which there really was no way to use AMIBCP to add all those PCI-E and CPU detailed options to the bios menu safely. So I used IFR Extraction utility to dump the menu code for both the setup and Platform bios modules. Copied the code that handled the register responsible for bifurcation from Platform IntelRCSetup file onto the useless 'PCIE Lane Allocation' menu item using a hex editor. Had to make sure I was referencing the IntelSetup file from inside the Setup menu by taking a gamble that a '01 00' referred to itself and changed that to a '28 00' based on observations on how the code was structured and took a late night chance flashing the modded bios and what do you know it worked!

    I also used a special Utility called RU Tool to change the registers of the IntelSetup file and verify the results. I'll post a detail tutorial on how I did it on Win-Raid later because there was a lot more involved. Thanks.

    Wrote up a guide here: https://www.win-raid.com/t2281f16-Add-option-in-AMI-UEFI-bios-menu-how-to-1.html#msg45380

    Edit: After studying the original MSI bios code it seems like MSI was trying to bifurcate the 2nd 16X IOU PCI-E channel from 16X to 8X. Why it caused issues with trying to boot up not sure but I should have known or realized earlier as the address registers where very similar. My mod turns on the last PCI-E 8X port and theirs does almost the same to the 16X port. Why they turned it off and hid it from view intentionally is anyone's guess.
     
    Last edited: Dec 25, 2017
    SaperPL likes this.
  31. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    I am extremely happy to report that I was able to successfully bifurcate my 8X Slot into two!!!! Today the Supermicro RSC-R2UU-2E4R 2U arrived at long last and installed it with a 9 cm EZDIY Black X16 Riser cable:

    [​IMG]

    I really didn't have to do anything beyond the modding I have already done. My bios automatically reset the onboard M.2 to PCI-E CPU operation where it was on the PCH before. I even benched both drives with AS-SSD and the scores were dramatically improved for the onboard M.2 as its now on the PCI-E highway.

    Here are HWInfo64 images as proof:

    [​IMG]
    [​IMG]

    The only thing that is a bother I guess is the green color of the Supermicro board and its handle! Also I found the EZDIY had a couple creases in it and not very flexible but not one bit of it went to waste. It fit perfectly onto the Slot and onto the Supermicro adapter.

    This has got to be the most awesome mod ever! MSI said it couldn't be done and man were they so wrong!!!

    [​IMG]
     
    Khahhblaab, C_Payne and Neapolitan6th like this.
  32. Neapolitan6th

    Neapolitan6th Gawd

    Messages:
    1,000
    Joined:
    Nov 18, 2016
    First of all, great looking machine! Really gald everything worked out for you. Really making the most of your hardware!

    Your work makes me curious what a laptop bios would look like under the hood. It makes me wonder if there would be certain options to add or unlock as OEMs like to keep most things pretty locked down.
     
  33. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    Modding a laptop Bios is much more dangerous. You could end up with a brick. Usually those bios files are not standard and have protections and boot guard. But I have taken a look at them out of curiosity though I would never dare. At least with my machine I had a dual bios switch and a rom programmer just in case.

    About what options there are check out Bios-mods.com. Lots of interesting unlocks for over clocking, Stuff like that.

    Thanks for the compliment. Been wanting to water cool it next, got the parts, just not the time,


    Thanks.
     
    Neapolitan6th likes this.
  34. Neapolitan6th

    Neapolitan6th Gawd

    Messages:
    1,000
    Joined:
    Nov 18, 2016
    Good to know, I'll be curious to look into it not that I'd do it myself more than likely. Thanks for the caution! Good luck with the build!
     
  35. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    Had a WTF moment this morning. Besides my riser cable knocking the GPU fan ;( - the link speed dropped to 2.5 GT/S after making a minor bios setting change. Had to disable Bifurcation support. At that point the on-board M.2 disappeared. So I re-enabled my Bifurcation support bios mod option and rebooted back into Windows from the on-board M.2 and this time both were at 8 GT/s according to HWInfo. So it seems like weird things can happen but its working now like it should. This only proved that if anyone is looking to take advantage of their defunct last PCI-E slot when you've got a M.2 set to PCI-E mode your going to need to mod the bios...
     
  36. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    I had the same issue with a supermicro riser when I could only get gen2... Maybe it is hardware related? PCIe negotiates lower speeds when quality decreases.
     
  37. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    Thats the best theory I have right now that its the riser cable not being the best quality maybe but honestly I have no idea. This has happened a few times on a warm boot. Sometimes turning off the bios settings on and off helps, sometimes not. Whats interesting is the L0s + L1 Exit Latency values are greater at 256-512 ns/32-64 us for the card on the riser adapter vs 2-4 us/32-64 us. I think that is the problem. The latency values need to be set correctly.

    Edit: Noticed that my 980Ti Gpu's were also running at a 2.5 GT/S link speed however they would automatically go into high gear when put under load with a GPU-Z render test or SLI be activated. This makes me think that this is a software issue. Maybe a driver issue thus I have installed updated drivers and looked at the logs were it had stated something like device failed to start a couple times. Now since updating drivers its at full pci-e 3.0 8.0 GT/S mode. Though only rebooted like a couple times and could it revert with my luck any time!

    Thanks

    2nd Edit: Just noticed that before I installed the Supermicro card and riser that the Link speed was set to 2.5 GT/S by looking at my previous screenshot from before I put in the adapter card. Therefor it must be either the motherboard or the drive.
     
    Last edited: Jan 2, 2018
  38. C_Payne

    C_Payne [H]Lite

    Messages:
    65
    Joined:
    Jan 6, 2017
    davidm71

    OK.. got my low profile x8 -> x4 + M.2 Riser ready and tested.
    PCIe working as expected.. polarity inversion on clock and data as well as lane reversal.
    Also my M.2 socket footprint seems to be working perfectly.

    Only thing I didnt get right is the height, so one cannot directly use the low profile bracket to screw into the full height slot as intended.
    (I took the specified card height for low profile cards and not the slot height for my calculations which is obviously stupid:banghead:)

    Take a look. As always I have spare PCB's to sell should anyone be interested.


    20180104_214017.jpg 20180104_214028.jpg 20180104_105230.jpg 20180104_221415.jpg
    20180104_221321.jpg 20180104_105311.jpg
     
    fAiLix, Neapolitan6th and davidm71 like this.
  39. davidm71

    davidm71 [H]ard|Gawd

    Messages:
    1,431
    Joined:
    Feb 11, 2004
    Looks great in any case. Maybe you could use some sort of an adapter or washer to counter balance the card attaching onto the case's screw holes.
    I'm still having difficulty with trying to understand why I'm not getting full 8.0 GT/S bandwidth occasionally after a reboot. Very random. I have figured out how to
    change the Link speed via command line for the most part except when it faults at 2.5 GT/S. I think its a bios bug or something. Not sure.

    As far as my needs are concerned I just ordered a custom 8x riser cable to attach to my splitter card. Would love to try out your
    card off course once I get the fn link speed issue fixed.

    Any bios engineers out there?!

    Lol..
     
  40. 3vilgenius

    3vilgenius n00b

    Messages:
    24
    Joined:
    Jan 4, 2018
    I had to make an account to say this. This thread is such an insane read. I just got into SFF when I saw the Phanteks Evolv Shift and fell in love with it.... but then I discovered the DanCase A4, and finally I came across the Loque Ghost S1 (which will be my case of choice). The Shift was originally going to be my first build btw, but I've already seen too much and have fallen into the abyss. My dream is it to make a balls to the wall dual GPU X-fire build in the Ghost S1 case with Ryzen. I want to go all AMD to support the competition. I only got serious about PC building couple months ago and still have a ton to learn, especially with the bios tricks you guys have mentioned but I can see that might all be dependent on the motherboard I wind up getting right? I'm looking at the AsRock X370i or the new Asus X370i [if the one poster is correct about it not supporting bifurcation... that is before any modding ;) ]. There might even be more revisions/models in 2018 so I'm drooling with anticipation for this year. Anyway, I just wanted to say that I hope this thread and all of you involved continue to dig deeper. Linus Tech Tips doesn't have shit on you guys (yet) lmao.
     
    Neapolitan6th likes this.