Drag to reposition cover

Lenovo Thinkcentre/ThinkStation Tiny (Project TinyMiniMicro) Reference Thread

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

samdodgy

New Member
Jun 7, 2024
3
2
3
Contrary to previous comments, M90q Gen1 *does* have the PCIe x8 connected from the CPU to the expansion slot. It also looks like 4 lanes from the PCH are also connected, so I'm hopeful a j4cbo style mod would be possible :)

To manipulate the CPU's PCIe bifurcation settings, we can use the same technique described here and elsewhere, using resistors to modify CPU_CFG[5, 6, 2]

The same as M920q, CPU_CFG5 is terminated on the board and pulled down with a 1K resistor. So "0". Except, it's on the front-side underneath the HSF. No change required here.

Different to M920q, there is no direct position for a pulldown resistor for CPU_CFG6 to GND, because it's position connects GND to a pin of a "QC4". It's not populated on my board so I get the default of "1" - maybe some other SKUs have some automatic bifurcation selection here.

Anyway, to make that a 0 (meaning CFG[6:5] == 00 == x8 + x4 + x4) , I placed a resistor on the pad normally going to from GND to QC4, then jumped it to CPU_CFG6 using 30AWG "wire wrapping wire". Here's how it ended up looking


m90q1_mod_done.jpg

Here's the board pre-mod with annotation, including CFG2 should anyone need it:

m90q1_mod.jpg

If your board does has QC4 populated, I'm sure we'd all be interested in what configuration yours shipped in. And if bifurcation somewhat works OOTB. Mine shipped with the 4 port 1Gbps NIC and the x4 riser.

Using 5C50W00877, a PH45 PCIe x8 to x4 + x4 adapter card, here's what 4x TeamGroup MP34 4TB looks like

in linux:
```
$ lspci | grep -Pi "pci|nvme"
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 03)
00:01.1 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x8) (rev 03)
00:01.2 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x4) (rev 03)
00:1b.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #17 (rev f0)
00:1b.4 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #21 (rev f0)
00:1c.0 PCI bridge: Intel Corporation Comet Lake PCIe Port #6 (rev f0)
02:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5762 NVMe SSD Controller (rev 01)
03:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5762 NVMe SSD Controller (rev 01)
04:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5762 NVMe SSD Controller (rev 01)
05:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5762 NVMe SSD Controller (rev 01)
06:00.0 Non-Volatile memory controller: Lite-On Technology Corporation CL1-3D256, CL1-8D512 NVMe SSD (DRAM-less) (rev 03)
```

physically:

m90q1_result.jpg


I'm not understand the lane swapping feature (CPU_CFG2), so I left it in it's default state (which is floating / +Vccio / "1" ) and my two NVME SSD's worked. I'm not sure if that needs to be changed for other PCIe devices.
EDIT: I think the CPU_CFG2 shall be left alone, because the Tiny 6 units have the PCIe lanes connected to CPU lanes 0..7, not 8...15 like the Tiny 5 units.
 
Last edited:
  • Like
Reactions: Spucke

evil_santa

Member
Apr 16, 2023
65
24
8
Contrary to previous comments, M90q Gen1 *does* have the PCIe x8 connected from the CPU to the expansion slot. It also looks like 4 lanes from the PCH are also connected, so I'm hopeful a j4cbo style mod would be possible :)

To manipulate the CPU's PCIe bifurcation settings, we can use the same technique described here and elsewhere, using resistors to modify CPU_CFG[5, 6, 2]

The same as M920q, CPU_CFG5 is terminated on the board and pulled down with a 1K resistor. So "0". Except, it's on the front-side underneath the HSF. No change required here.

Different to M920q, there is no direct position for a pulldown resistor for CPU_CFG6 to GND, because it's position connects GND to a pin of a "QC4". It's not populated on my board so I get the default of "1" - maybe some other SKUs have some automatic bifurcation selection here.

Anyway, to make that a 0 (meaning CFG[6:5] == 00 == x8 + x4 + x4) , I placed a resistor on the pad normally going to from GND to QC4, then jumped it to CPU_CFG6 using 30AWG "wire wrapping wire". Here's how it ended up looking


View attachment 38578

Here's the board pre-mod with annotation, including CFG2 should anyone need it:

View attachment 38576

If your board does has QC4 populated, I'm sure we'd all be interested in what configuration yours shipped in. And if bifurcation somewhat works OOTB. Mine shipped with the 4 port 1Gbps NIC and the x4 riser.

Using 5C50W00877, a PH45 PCIe x8 to x4 + x4 adapter card, here's what 4x TeamGroup MP34 4TB looks like

in linux:
```
$ lspci | grep -Pi "pci|nvme"
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 03)
00:01.1 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x8) (rev 03)
00:01.2 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x4) (rev 03)
00:1b.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #17 (rev f0)
00:1b.4 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #21 (rev f0)
00:1c.0 PCI bridge: Intel Corporation Comet Lake PCIe Port #6 (rev f0)
02:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5762 NVMe SSD Controller (rev 01)
03:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5762 NVMe SSD Controller (rev 01)
04:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5762 NVMe SSD Controller (rev 01)
05:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5762 NVMe SSD Controller (rev 01)
06:00.0 Non-Volatile memory controller: Lite-On Technology Corporation CL1-3D256, CL1-8D512 NVMe SSD (DRAM-less) (rev 03)
```

physically:

View attachment 38579


I'm not understand the lane swapping feature (CPU_CFG2), so I left it in it's default state (which is floating / +Vccio / "1" ) and my two NVME SSD's worked. I'm not sure if that needs to be changed for other PCIe devices.
Great Work
Can you please add this as issue to badger's repo.

 
  • Like
Reactions: samdodgy

livingtiny

New Member
Jul 21, 2024
11
3
3
Well... I finished testing and unfortunately nothing seems to work :D
Just for future reference (if someone is considering buying the GPU) I'm leaving this here:
  • Lenovo m90q Gen 3 - i5 12600T - 16gb DDR5 ram
    • It came to my attention that there are some types of machines per region, maybe they manufacture the MB different in mine? IDK but I use one of this machine for GPU virtualization so I thought this new GPU would work fine
    • BIOS were tweaked just a bit, like disabling USB ports or changing PCIe Gen and that it runs the PCI device instead that the integrated graphics, nothing seemd to work
  • Lenovo riser card 5C50W00910
    • Tested this riser on 3 different m90q Gen 3 with a PNY T600 (as mentioned in another post) and it works fine so the riser is OK i guess. A 4 port nic wont work though.
  • Intel arc a310 eco
    • Won't work on m90q Gen 3, but works fine in a m920q and any other pc
    • It even works with a x1 riser connected to a regular pc, but (for reasons unknown for me) the gpu riser won't work in lenovo riser
    • When the card is connected (both using a gpu riser and directly to the lenovo riser), the fan spins so I guess power is being delivered but no video output
    • Tried differents PSU: 65W, 90W, 135W and even 230W. Worked fine on a m920q with a 90W psu.
    • Card wont show on linux (using lspci command shows no mention of the card). On Windows its the same, no sign of the GPU even though the fan spins.
    • *sometime* the fan spins at full speed (when used on the m90q) but besides that it works fine on another machine while running plex.
So after all of this I came to some conclusions:
  • Faulty GPU, maybe I'm not sure. Googling "fan spins and no signal" kinda mentions that but the card works fine on other machines, and the 4 port nic wont work either.
  • The PCI lanes distribution on m90q messes with GPU, not only the GPU but the 4-port NIC too.
  • s1.PNG
  • In previous image, T600 shows using the pci riser. When either the Intel Arc or the 4-port nic are used, nothing shows (the intel arc fan spin tho)
Well at least I tried, gotta use the Intel GPU on a m920q
 

Chris.db

New Member
Nov 29, 2017
20
2
3
123
Hi Guys,

Is there any card possible for M75q gen2 to add 2.5Gbit as 10Gbit are expensive on Macbook from TB4-》10Gbit, so want to try 2.5Gbit

Found this for 50e ThinkCentre ThinkStation BLD Tiny8 BTB Ethernet LAN 2.5Gbit FRU 5C50W00908
 

samdodgy

New Member
Jun 7, 2024
3
2
3
@Parallax we can probably clear up the warning on M90q G1 in the "PCIe bandwidth" section. As per my post above, I've confirmed that the x8 riser uses 8 lanes direct from the CPU. I assume the x4 riser is wired to the PCH like other units.

As an aside, I suspect the reason why my M90q G1 didn't require CPU_CFG2 to be pulled down. The x8 slot lane numbers on CPU are 0..7, not 8...15 like in the M90q. So according to the bifurication lanes table in the CPU datasheet, we are in the right config with CPU_CFG2 as 1 :)
 
  • Like
Reactions: Parallax

Rundell

New Member
Mar 20, 2023
3
2
3
It supports a PCIe x8 link from the CPU on the main x16 slot, and the x4 PCH link on the m.2 slot, and works in all Tiny5 models without any mainboard modifications, just plug and play.
Very neat riser! Out of curiosity, would the m.2 slot support other types of devices if there was an adapter? Such as using M.2 M+B key to ethernet.
 

WifiCable

New Member
Dec 18, 2023
14
19
3
Netherlands
Very neat riser! Out of curiosity, would the m.2 slot support other types of devices if there was an adapter? Such as using M.2 M+B key to ethernet.
Thanks, and yeah sure it should, it's wired up just like any M-key PCIe-only m.2 slot would be, so as long as it's a PCIe device that fits in an M-key slot it should work. You'll have to see about the physical fit though, space in that area will be limited depending on what kind of PCIe card you put in the main slot.
 

WifiCable

New Member
Dec 18, 2023
14
19
3
Netherlands
Contrary to previous comments, M90q Gen1 *does* have the PCIe x8 connected from the CPU to the expansion slot. It also looks like 4 lanes from the PCH are also connected, so I'm hopeful a j4cbo style mod would be possible :)

To manipulate the CPU's PCIe bifurcation settings, we can use the same technique described here and elsewhere, using resistors to modify CPU_CFG[5, 6, 2]

The same as M920q, CPU_CFG5 is terminated on the board and pulled down with a 1K resistor. So "0". Except, it's on the front-side underneath the HSF. No change required here.

Different to M920q, there is no direct position for a pulldown resistor for CPU_CFG6 to GND, because it's position connects GND to a pin of a "QC4". It's not populated on my board so I get the default of "1" - maybe some other SKUs have some automatic bifurcation selection here.

Anyway, to make that a 0 (meaning CFG[6:5] == 00 == x8 + x4 + x4) , I placed a resistor on the pad normally going to from GND to QC4, then jumped it to CPU_CFG6 using 30AWG "wire wrapping wire". Here's how it ended up looking


View attachment 38578

Here's the board pre-mod with annotation, including CFG2 should anyone need it:

View attachment 38576

If your board does has QC4 populated, I'm sure we'd all be interested in what configuration yours shipped in. And if bifurcation somewhat works OOTB. Mine shipped with the 4 port 1Gbps NIC and the x4 riser.

Using 5C50W00877, a PH45 PCIe x8 to x4 + x4 adapter card, here's what 4x TeamGroup MP34 4TB looks like

in linux:
```
$ lspci | grep -Pi "pci|nvme"
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 03)
00:01.1 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x8) (rev 03)
00:01.2 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x4) (rev 03)
00:1b.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #17 (rev f0)
00:1b.4 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #21 (rev f0)
00:1c.0 PCI bridge: Intel Corporation Comet Lake PCIe Port #6 (rev f0)
02:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5762 NVMe SSD Controller (rev 01)
03:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5762 NVMe SSD Controller (rev 01)
04:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5762 NVMe SSD Controller (rev 01)
05:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5762 NVMe SSD Controller (rev 01)
06:00.0 Non-Volatile memory controller: Lite-On Technology Corporation CL1-3D256, CL1-8D512 NVMe SSD (DRAM-less) (rev 03)
```

physically:

View attachment 38579


I'm not understand the lane swapping feature (CPU_CFG2), so I left it in it's default state (which is floating / +Vccio / "1" ) and my two NVME SSD's worked. I'm not sure if that needs to be changed for other PCIe devices.
EDIT: I think the CPU_CFG2 shall be left alone, because the Tiny 6 units have the PCIe lanes connected to CPU lanes 0..7, not 8...15 like the Tiny 5 units.
I've been researching this for a custom Tiny6 riser actually, it's really neat how Lenovo implemented bifurcation support on the M90q gen 1. It looks like they intended for there to be a server model that had a dual slot riser, and the riser slot has a pin in it that bifurcates the x8 link into x4x4 if it's pulled low by pulling CFG6 low through QC4 that you mentioned. It's a shame QC4 isn't populated on the board, otherwise a plug and play bifurcated riser would have been possible. It's nice enough that they moved the x8 link from lanes 0-7 to lanes 8-15 though, that means a bifurcated riser wouldn't have to reverse the lane order, making routing a heck of a lot easier.
 

Khaveer

New Member
Mar 19, 2022
23
9
3
Has anyone ever tried to design a custom tiny5 riser for the HPE LOMs? the 640FLR sounds like a perfect opportunity to get a cheap 2x25G card in there, looks like there should even be room for a small fan with a 3D printed shroud to cool it.

UPDATE: Doesn't seem as easy as I'd initially hoped. I took a riser from my P320 just to check the mechanical clearances (it's NOT electrically compatible with the LOM connectors). Unfortunately it seems like it will not fit without applying some dremel adjustments to the heatsink assembly. I'll probably try to design the boards at some point anyway, since I've already ordered a bunch of pcie connectors from LCSC. But I don't think I'm willing to modify my heatsink, because those are still quite expensive to buy.
 

Attachments

Last edited:

WifiCable

New Member
Dec 18, 2023
14
19
3
Netherlands
Has anyone ever tried to design a custom tiny5 riser for the HPE LOMs? the 640FLR sounds like a perfect opportunity to get a cheap 2x25G card in there, looks like there should even be room for a small fan with a 3D printed shroud to cool it.

UPDATE: Doesn't seem as easy as I'd initially hoped. I took a riser from my P320 just to check the mechanical clearances (it's NOT electrically compatible with the LOM connectors). Unfortunately it seems like it will not fit without applying some dremel adjustments to the heatsink assembly. I'll probably try to design the boards at some point anyway, since I've already ordered a bunch of pcie connectors from LCSC. But I don't think I'm willing to modify my heatsink, because those are still quite expensive to buy.
Interesting idea, it shouldn't be too hard to make the riser itself for that, the pinout is known. You'd have to be willing to modify the heatsink for that though yeah... you'd lose being able to mount the 2.5" hdd caddy.
 

Khaveer

New Member
Mar 19, 2022
23
9
3
Interesting idea, it shouldn't be too hard to make the riser itself for that, the pinout is known. You'd have to be willing to modify the heatsink for that though yeah... you'd lose being able to mount the 2.5" hdd caddy.
Yeah... And it doesn't seem that it's worth it, because the 640FLR is not actually cheaper than the OEM or Dell branded Connectx-4. Doesn't seem like a deal worth my time.

Now for my second idea... how do I fit a Tesla P4 in there? At this point I think that my best bet is to somehow pull one of the M.2 x4 connections to the outside of the chassis and 3D print an external enclosure with a fan. But I'm worried that I may loose quite a bit of the performance over an x4 slot...
 

WifiCable

New Member
Dec 18, 2023
14
19
3
Netherlands
Yeah... And it doesn't seem that it's worth it, because the 640FLR is not actually cheaper than the OEM or Dell branded Connectx-4. Doesn't seem like a deal worth my time.

Now for my second idea... how do I fit a Tesla P4 in there? At this point I think that my best bet is to somehow pull one of the M.2 x4 connections to the outside of the chassis and 3D print an external enclosure with a fan. But I'm worried that I may loose quite a bit of the performance over an x4 slot...
Oh hm, too bad. Would still have been cool though lol.
A Tesla P4 fits just fine inside if you remove the front metal bracket for the wifi antenna, I've got one in my M720q. Only concern then is cooling, which could in theory be done with the top case on if you can force enough air into the back where the PCIe slot is, but I run it with a fan sitting on top, still pretty compact
.p4.jpg
 

rplush

New Member
Aug 21, 2023
1
0
1
Yeah... And it doesn't seem that it's worth it, because the 640FLR is not actually cheaper than the OEM or Dell branded Connectx-4. Doesn't seem like a deal worth my time.

Now for my second idea... how do I fit a Tesla P4 in there? At this point I think that my best bet is to somehow pull one of the M.2 x4 connections to the outside of the chassis and 3D print an external enclosure with a fan. But I'm worried that I may loose quite a bit of the performance over an x4 slot...

Tesla P4 fits just fine. I cut a hole big enough for a 20mm fan through the chassis and Tesla shroud cover to cool the card and it's doing just fine during transcodes and LLM processing. i connected the 20mm PWM fan to an unpopulated 4 pin PWM connector that was near the wifi card slot so the mobo handles fan curve
IMG_1913.JPEG IMG_1884.JPEG IMG_1882.jpg
 

jazing

New Member
Aug 27, 2024
1
0
1
42° North, 71° West
Q1: Are the GPU heat-pipe style sinks cross compatible between P330 and slightly newer P340/P360?
Q2: And are the heat-pipe sinks between the P1000 and P620 cards also cross-compatible?
Q3: Can I swap a fan-style heat sink with the heat-pipe style sink without needing anything? It appears there's a black/plastic removable duct section down stream of the CPU fins which allows the heat pipe fins to sit inline.

I ask because I'd like to buy a P330, but finding one at a good price that already has a P1000 GPU with heat-pipe sink is tough. And although I can find parts claiming to be for "P340, P360" -- eg "FRU 5H40U92993", "02CW392", or 00XG220, which sellers list as being for the 340/360, and for P620/P1000 (I'm stacking these, so wish to avoid the top vent, and face plate styles will match with my older M700/M900s).

Also, is the P330 physically the same as 340,350,360 with respect to the gpu and heat-pipe sink? (I realize that the P320 has a much different cooler setup -- the gpu heat pipe comes off the block in a straight line, vs the P330, P340 which are curved in an S-shape).

P330 uses Q370 chipset, vs Q470 for P340... but shouldn't matter on diff P1000 part numbers, right?

Also would like to know if can use a generic, non-Lenovo-tiny P1000/T1000 -- remove the fan-cooler and use a heat/pipe/sink sourced from ebay that is supposedly for P340/P360. I assume its a matter of fitting the tiny/curvy heat pipe sink and i/o bracket, and the thermal pads all line up (?)

I have a bunch of older Tinys (M700, M900, M93p), but none with the PCIe slot yet, so can't compare these aspects first hand.
 
Last edited:

gsr800

New Member
Dec 24, 2023
1
0
1
Hello All,

Anyone knows the wifi connector type on M920q ? I've ordered some hi gain rp-sma antennas, however they don't fit (the connector on the antenna is too big). I want to improve the wifi signal level on one of the boxes that is further from the AP.
 

Nozle

Member
Jul 16, 2024
42
1
8
One over here with two M90Q Gen 3 with 12500 and one unit of M90Q 10500T

I would like to know what the speed limit is for the M90Q 10500T for the ram and the M2 (I want to put 64GB of ram at the highest speed possible) and a 1TB M2

I also want to do something similar with the M90Q Gen 3 and look for 64GB of DDR5 RAM at the highest compatible speed, but I don't know what it is.

The table at the beginning says that M90Q is 2x 32 GB 2933, but my unit has 1X16GB 3200MHZ, so it doesn't make sense...
 

amiroo

New Member
Aug 27, 2024
1
0
1
Have a m90q gen3 with 12700 on the way. Im wondering where i can buy the riser for this in europe? Also how do i know if the 5C50W00910 riser will work on my machine? (want to 4x 10GbE ports in the future)

Also seems that the aliexpress link on the first page does not work anymore for the 4x 2.5GbE ports NIC. Anyone has a new link? Or just pick and choose one thats low profile and RTL8125B chipset?

Thanks.
 

Define0116

New Member
Jul 20, 2024
11
6
3
Adding external serial port to M900 Tiny

Hi all , I am looking to install an external serial port on my M900 Tiny since the free spot on the rear panel is taken up by the second NIC. Can someone tell what is the connector type for the COM header on the motherboard? Photo attached

The other option I have is to buy a ThinkCentre Tiny I/O Expansion Box (4XF0E53145) which has a serial port. But not sure if the serial port on the I/O box will be active on power up before the OS boots?
 

Attachments

Last edited:

Nozle

Member
Jul 16, 2024
42
1
8
Hello,

I want to add a small 5v sonoff to my M90Q GEN 3 to turn it on remotely, for this I need:


5V and GND connection for the Sonoff power supply.

And I need the two pins of the on button so that it can switch and turn on.

Is there a pinout available on the board where it has these connections and, most importantly, dupont type so that I don't have to solder or modify anything? Just connect and move forward?

Thank you!