New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
https://www.amazon.de/dp/B09MSB4TXT is working perfectly #1
Comments
Could you please add some photos? |
Has anyone tried it on the M910X? |
@frankol - nice, thanks for confirming!!! |
I ordered this one on ebay: https://www.ebay.de/itm/125280817080 Dont think its a original one :-), but its working |
hi @frankol and @badger707 - I am curious to learn more about this. Where did the resistor diagram come from? (I do not see it in the repo). Additionally, which resistor pads sets which CFG? |
There is a schematics availabe. Just try to search for "IQ3X0IL.-.NM-B511.REV1.0" |
@su-thomas schematics you can get from this repo here. However I think you were looking for Lenovo P320 (non-tiny) solution as per you post here -- if your board and chipset on your box is same then you can try steps above from @frankol, if not same -- then you'd need schematics and boardview for your specific motherboard model. Even then it may or may not work well with your board BIOS. So it depends... |
thanks for the info @frankol and @badger707 out of curiosity, when you do this mod on the m920q, does the BIOS show anything different? or it just silently works? |
it just silently works |
any idea if this works in a M910X? |
Hi frankol. Can I ask what's that big heatsink in the first picture for? Does it have a lenovo PN? |
Hi marcojk, sorry its a custom build |
Great work! |
My final configuration is 5x NVME (2 from the normal nvme slots, 2 from the pcie-card and 1 from the wlan port (pcie-x1) with an cable adapter) and one ssd. A awesome storage monster :-) |
Hi frankol. Out of interest, which CPU are you using? The config table says "CFG[2], CFG[6:5] & CFG[7] are relevant for H and S-processor line only", Asking because I can't get this to work on my M920q and I'm wondering whether it's because:
My PCIe x16 riser, and dual M.2 m-key expansion card work in another M720q so I'm ruling them out as the issue. Frustrating! |
Sorry for the comment spam but it seems bifurcation is working for me. What I'm really trying to get working is an ASM2142 USB 3.1 M.2 card from AliExpress. The whole point of me trying to install this USB card is because the built-in USB root host is dedicated to a VM so I need another USB root host for the 2nd VM. I can't use the USB from a B-key M.2 socket, or the built-in WLAN socket, or even the USB display daughter board because they all share the same USB root host that's dedicated to the 1st VM. Hope this helps someone! |
nice to hear bifurcation is working in general. |
If only I had read more of the documentation before commenting... Regarding my earlier comment:
H and S-Processor lines aren't about CPU suffixes (e.g. 8100H) but more about the package / socket: |
I designed a tester PCB of LGA1151. Use a multimeter to measure the pin positions according to the solder joints of the CFG resistor on the m910x. This measurement seems reasonable. CFG5 and CFG6 are in the same position as m920q, and CFG2 is in a similar position. This M2 was inset in the first slot of the adapter (0-3 lanes). It's matched with the PCIE mapping. Edit: Edit 2: |
Due to reversing the PCIe lanes, is it expected something like a single x1 card would no longer work? If someone could test, that would be helpful. I'm having issues when testing a x1 2.5Gbe card after this bifurcation modification. |
Hmm, in my case, I am using a PCIe form factor x1 card directly in the PCIe slot, and it is not being detected. Hence I'm wondering if the the PCIe lane reversal means that cards less than x4 cannot be detected because none of their lanes line up with the 0th lane, being not the first one anymore? I'm not sure personally. |
I modded my PEXP4-SX by desoldering all the socket legs that connected to PCIe lanes, then soldered wires to connect M/B socket / CPU lane 3 to PEXP4-SX lane 0. But my M920q didn't seem to detect either M.2 card, not even the one that only wants x1 lane. Tried desoldering the PRSNT#2 for x4 lanes on PCIe pin B31 but that no effect either. It could be that my soldering isn't good enough, the PEXP4-SX is somehow broken, there's too much 'noise' on the soldered wires? Run out of ideas really. Maybe NVMe drives work well because they always try to negotiate a full x4 and the PCIe interface chips on NVMe drives are good enough to handle lane reversal as well? |
@j4cbo Yeah, put some Patreon or some other way for us to pay for it fully backed or at least contribute for the schematics/BOM and your time so we can send it to manufacture/assembly somewhere like PCBWay. Now that you guys mentioned, yeah, I'm curious as to how all this is working. Are you embedding a PCIe switcher on the board?
You are not using the original case for this right? I'm trying to imagine the U.2 drivers on the back and front AND a Mellanox in that tiny case 😄 |
Sure. 3d printing for the rescue. Another thing which I have to solve is the power line - where to pull it from. The tiny flat sata cable is... is tiny for the purpose. |
Ahhh nice! So you are pulling 4 more lanes from the PCH. Makes sense. Cool! Looking forward for it! 😄 |
@j4cbo 12PCIe lanes ? Doesn't M920q had only 8 lanes in PCIe Slot ? |
Did you even read this thread? It was written at least 4 times already: Riser slot has 8 PCIe lanes coming from CPU and 4 PCIe lanes coming from PCH (chipset) making it 12 total. This is even visible on the drawing just above your comment... We used x8 riser and CPU lanes for bifurcation mod, which had the unfortunate issue of not working well with some devices as PCIe lanes were reversed in that configuration - which is not supported by majority of devices. @j4cbo combined all knowledge from this thread and created a riser that both hardware reverses the lines to make it work as expected by most devices + pulled those extra PCH lanes. BTW: @j4cbo any particular reason why x4 slot is wired to CPU instead of wiring both m.2 slots to CPU and x4 to PCH? And BTW2: With similar approach it should be possible to make x8 (not bifurcated) + m.2 riser, right? That would be cool for M720 users - would allow them to plug 2nd NVME and keep x8 slot at the same time. And M920 too, depending on scenario :) |
@j4cbo I've miss that there are additional 4 lanes from PCH. Thought 8 was all, that is why I was surprised seeing 12 used. |
Yes, that's exactly it, the CPU lanes are at the "back" of the slot (near the back panel) and the PCH lanes are closer to the middle of the board.
It would definitely be possible to make such a riser, though not with the same PCB. When you enable bifurcation, you also have to enable lane reversal, so my PCB rearranges the lanes on the CPU-attached PCIe x4 connector to un-swap them. A non-bifurcation version would need to route them straight through. (Even without that, there would be signal integrity concerns. With slow signals it's fine to run a trace to two different connectors where only one is soldered in, but at high speeds that would cause signal integrity problems due to unterminated reflections. PCIe Gen 3 is ridiculously fast - signals through copper travel at about half the speed of light, so at 8 gigabit per lane, a bit is about 2cm "long". If there's no termination on the line then the signal bounces off the end and messes things up.) |
In that case, as per the table on post from [zzs95], one could avoid lanes reversal by changing the CFG signals, i.e. setting them to 0:0:1, which in turn means only soldering resistor for CFG6. |
@j4cbo As your work looks promissing, is it possible to send you some $$$ for tests (also to reserve spot in the queue after you start mass producing it :-D )? Send me your paypal link then. Regards, Jan. |
@marcojk Our 0:0:0 split it to three reversed links: 3-0, 7-4 and 15-8. Double reversal is unavoidable because of hardware constraints.
Right, I forgot we swap all the lanes around, not just "second half". I guess the fact single SSD still works in bifurcated slot with simple single disk adapter gave me that wrong impression.
Ah, reflections! Sure, didn't think of that. |
Sorry for double bump but if anyone of you read only email notifications from GH, I updated the previous message as first version probably had the lanes listed wrong :) |
@wociscz I've just ordered the second prototype and will keep people posted when it comes in (1-2 weeks probably). I don't want to take deposits until I'm sure I have something I can sell :) @kitor exactly - lanes 8-15 off the CPU aren't connected at all. There are schematics linked here: badger707/m920q-dual-NVME#3 Some SSDs do support automatic lane reversal, which is why people have had success with off-the-shelf bifurcation boards like the very first post in this issue. Of the 5 SSDs I tested only 2 seem to have automatic reversal. (But I'm rearranging the lanes on my board, so any should work.) |
I set up a repo for my board: https://github.com/j4cbo/tiny5-m2-riser |
HI, Do you know if there is any update on that? It would be great to get it to work on M910X as it already has 2xnvme drivers on the bottom nad it's usually cheaper than a M920q/M920X Maybe we can even try and make another adapter for the M910X aswell to get a x8 pci + 2 x4 nvme drives |
Just to update, I did the Dual NVMe mod on the back of the board and it worked perfectly fine. Great! Then I added the PCIe bifurcation mod from this repo and with a riser I tried a single NVMe, it worked. When I plug on the same Riser a network card, I don't see anything detected on lspci or dmesg. Perhaps I'll need to wait for @j4cbo's riser to use the NIC since the lanes are messed up after the bifurcation mod and my riser doesn't take care of swapping it properly and in the process, add more 2 NVMes :D Looking forward for te new riser :) |
From @j4cbo Here is mine:
Apparently I'm missing this:
We only have soldered 2x 1k resistors here: Does that mean something is wrong with the bifurcation mod? Or am I missing something? Thanks! |
@galvesribeiro What bifurcation card do you use? That's with two M.2 SSDs on bifurcation card, right? |
@kitor I'm still waiting for a PH45 Dual M.2 to arrive this week so I can test with 2x M.2. What I tested was with a single PCIe to M.2 card, which worked, and with a single Dual 10G NIC (Supermicro AOC-STGN-i2S) which doesn't work. I'm not sure why this card won't appear at all on But regardless of the riser or the bifurcation card, shouldn't that missing PCIe controller appear on |
@galvesribeiro nope, see my lspci from early on when I had bifurcation card which didn't work. Just the bridge which had card inserted showed up, and just after a cold boot, reset was enough for it to disappear.
That's completely expected. Bifurcation mod swaps pcie lanes around and only m.2 NVME seems to support that. You won't be plugging any regular PCIe device into a bifurcated slot unless you |
Interesting... Ok. Then I'm better have lucky with this PH45 when it arrive and 🙏🏻 for it to work. 😄
Hummmm understood. That NIC would only work with @j4cbo riser apparently since his prototype has a NIC + 2 m.2 NVMe and deal with the lane swapping. Have to wait for that. |
Updates! The M.2 bifurcation card PH45 arrived and it just worked! 😄 You can see on the picture 2x M.2 on the back slots + 2x on the PCIe card. I took the opportunity to use another adapter that I bought together which should adapt the Wifi card to use a 2230 NVMe (one I took from a SteamDeck). Although it work just fine (the first item from the picture, Phison), I can't find a way to boot from it, since it is "slow", not sure I'll have much use of it anyway, but just be aware if you use that adapter that it will be detected by the OS but it doesn't appear in the BIOS to boot (if you find how to make it work, please let me know!). That made me keep using the SATA SSD (last one in the picture, Kingston) for the boot (without its case, just the PCB wrapped by some rubber tape). Also, now I see the missing x8 PCIe Controller:
Looking forward for @j4cbo's riser so we can stick a dual 10G on it 😄 |
NVM, got the M.2 2230 to boot! Just have to make sure that nothing else has the ability to boot. The machine will try everything and nothing will be found but the installed OS on that disk and will move with it :) More on that here. |
Ah yes, I think this was mentioned somewhere in this thread. UEFI doesn't "detect" those but they silently work. 10th reply :). |
@kitor ah ok. I haven't understood the convo. Tought they were talking about the NVMe on the PCI slots, not the 2230 on the wifi one. The ones on the PCIe they are available to boot. It is just the WiFi slot that has this black magic 😄 |
Oh, then I somehow skipped the fact you boot from WiFi slot (which is a whole paragraph lol). I indeed mixed two facts - one is that it won't show extra drives on info page and another is that they (in pcie slot) will show as bootable ones on boot list if efi boot stuff is present. |
thank you for your informations regarding bifurcation!
I did as you suggested and soldered the resistors and its working perfectly
The text was updated successfully, but these errors were encountered: