Hello everyone, I'm looking for some volunteers who might want to test a theory on a Tiny8+ machine.
The boardview for the M90q Gen 3/P360 Tiny (NM-D581) recently became available, and after me and some others looked through it for a while we found out the possible cause of the issue where PCIe x4 and x1 cards don't work in the x16/x8 riser on these machines:
Tiny8 riser pinout · Issue #1 · qq8322302/P3Tiny-PCIE-Card
Also discussing it here:
https://forums.servethehome.com/ind...-2-connector-and-much-more.52689/#post-503708
It turns out that Lenovo has activated lane reversal on the CPU's PCIe lanes for no good reason, which is causing the x8 link on the riser slot to be set up in reverse lane order. For most x8+ cards this seems to work fine as they have their own lane reversal support built in, but for example, if you install a x4 card this causes it to be connected to lanes 7-4 of the x8 link instead of 0-3, which doesn't work.
There are a few ways to address this:
- Remove the pulldown resistor on the CPU's CFG2 line from the motherboard.
- Mask the CFG2 pad on the CPU
- Build a riser that routes the PCIe lanes in reverse
I feel a bit iffy about designing a riser that connects the lanes in reverse, because:
1: There's at least one example of a x4 card working in the x16 riser: youtube.com/watch?v=W4wt1ioIkY4
So it's possible not all machines are affected by this and would instead manifest this issue with a riser wired in reverse.
2: Future machines using the same riser slot might not have the link configured in reverse
So far I've looked at available board images from Lenovo's parts catalog and all pictures I could find of M90q Gen 3, Gen 4 and Gen 5, as well as the P360 Tiny, P3 Tiny and Neo Ultra's boards have the strap resistors set to activate lane reversal, but not all FRUs have images available, so I can't be sure that definitely every board with the Tiny8 riser slot uses lane reversal. This is especially the case for the latest M90q Gen 6, P3 Tiny Gen 2 and Neo Ultra Gen 2 models because on that generation Intel switched to using firmware straps for setting lane reversal, so there's no way to tell visually.
In conclusion, since I don't have a Tiny8 riser slot machine to test with, I'm asking the community for 2 things.
If you own an M90q Gen 3, Gen 4, Gen5, a P360 Tiny a P3 Tiny (Gen 1) or a Neo Ultra (Gen 1),
1: Would you be willing to test if either removing the marked resistor here (invasive):
View attachment 48756
or masking this pad on the CPU (socket perspective in the picture, less invasive):
View attachment 48757
fixes compatibility with x4 and smaller cards when using the x16 riser?
2: If you don't wanna test an unverified mod on your machine, it would still be very helpful if you could take a picture of the CFG resistor area next to the CPU socket (the area in the resistor removal picture above), I'm hoping to collect pictures from as many different machines as possible to find if there are any outliers which might have them set differently than I've seen so far.
This information would both help people who want to use x4 and x1 cards in the original x16/x8 riser, and would also be very useful for me and other custom riser developers to choose how to proceed.
Thanks a lot in advance!