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.

WhiteNoise

Active Member
Jan 20, 2024
155
68
28
I was about to post the same thing. I didn't need to patch the BIOS to undervolt. You can find the efi variables using UEFItool and ifrextract and them change them with a modified grub shell. The location of the variables hasn't changed but it's alway better to double check.

Regarding the 9900, yes it probably runs, I think the 9900K runs too. For most (but not all) purposes, you can turn any 9900T, 9900, 9000K into each other by adjusting the power limits PL1, PL2. The Lenovo Tiny versions with with T-series CPU usually come with a less performant aluminum heatsink and smaller PSU.

I have M920X with copper heatsink. I upgraded it to 8086K (special version of 8700K) undervolted and power limited to PL2 70/ PL1 50w.
 

DouglasteR

Active Member
Dec 19, 2015
187
69
28
Yes, but i believe it is locked by the bios.

I have both the 135w power brick and the 9900, so i could test it.
 

Mark Linton

Member
Sep 28, 2018
32
15
8
I mostly needed the bios dump to find the offsets for the values that needed to be changed.

Good question, I think that you can, however the power requirements are a lot higher and it would probably throttle much quicker than the T version. I don't have a CPU to test this though.
Good question, I think that you can, however the power requirements are a lot higher and it would probably throttle much quicker than the T version. I don't have a CPU to test this though.
Yes, but i believe it is locked by the bios.

I have both the 135w power brick and the 9900, so i could test it.
Actually, you don’t need to patch the BIOS file to be able to undervolt. You can simply change the efi var and then modify the MSR voltage offset.
 

Spucke

New Member
Feb 7, 2023
16
1
3
TLDR: Bios unlocking and hacking to undervolt and unlock vGPU profiles

For anyone else hardware hacking on the Lenovo platform, I did a few things:

I have an m920q with an i9 9900T ES cpu, and 64GB of memory. I'm using this to host proxmox and a couple of windows and a debian VM. I wanted to have hardware accelerated environments and the Lenovo bios options leave a little to be desired.

Figured I would put some LLM tokens to good use and get it all working. Getting there wasn't easy. Lenovo locks down these boards heavily, and getting the Intel driver to cooperate took a lot of reverse engineering. Here is the step-by-step journey of how I did this.

Phase 1: Defeating the 35W Power Limit & Plundervolt

The i9-9900T ES is heavily throttled by Lenovo’s conservative 35W limits. Worse, modern BIOS updates include the "Plundervolt" microcode patches that completely lock out software undervolting.
  1. The Flash: I used a CH341A hardware flasher to dump the 8MB BIOS and 16MB BIOS chips downgraded the CPU microcode to 0x98 (pre-Plundervolt), and flashed it back.
Hardware Preparation

The Lenovo m920q uses a "split BIOS" design across two physical SPI flash chips on the motherboard (located near the PCI Slot and the WiFi slot):
  • Chip 2 (8MB): W25Q64 (Intel ME, Microcode, and Descriptor) - the one nearest to the rear of the machine labeled bios 2.
The Patching Process (Microcode Downgrade)

The goal was to replace the modern, locked microcode (e.g., 0xCA or higher) with version 0x98, which allows for software voltage control (MSR 0x150).

Tool: UEFITool. (or MMTool).

Locate the Microcode:

Opened the bios_backup.bin in UEFITool and searched for the "Microcode" volumes.

Identify CPUID:
For the i9-9900T (Coffee Lake), the CPUID is typically 906ED or 906EA.

Replace:
Downloaded the specific 0x98 microcode binary (e.g., cpu906ed_plat22_ver00000098_2018-09-03_PRD.bin) and used "Replace Body" in UEFITool to swap out the new version for the old one.

Save:
Exported the file as modded_bios_8mb.bin and flashed back to the chip. I spent some time setting the ME/AMT settings back as this was erased during the process.

Flash:
flashrom -p ch341a_spi -c "W25Q64BV/W25Q64CV/W25Q64FV" -w modded_bios_8mb.bin

  1. The Power Mod: With the microcode downgraded, I booted into a standalone UEFI shell (via USB) and used setup_var.efi to disable the Overclocking Lock EFI variable (0x7BD to 0x00).
To apply the undervolt and power limits on Proxmox, we used the intel-undervolt utility. Here are the specific configuration values and commands used to lock in the 55W performance profile.

All settings are stored in /etc/intel-undervolt.conf on the proxmox host. Below is the exact block we used for i9-9900T:

# CPU Undervolting (Offsets in mV)
# Index 0: CPU Core | Index 1: GPU | Index 2: CPU Cache
undervolt 0 'CPU Core' -100
undervolt 1 'GPU' 0
undervolt 2 'CPU Cache' -100

# Power Limits (Watts/Time)
# PL1: Sustained Power (55W)
# PL2: Burst Power (92W)
power package 0 55 92


Once the configuration file is saved, you run these commands to apply the settings and ensure they survive a reboot.

Apply the settings immediately:
intel-undervolt apply

Check the current status (to verify the -100mV took effect):
intel-undervolt read

Enable the systemd service (so it applies automatically at boot):
systemctl enable --now intel-undervolt

To prove the 55W PL1 was working, we ran a stress test and monitored the package power:

# Run a 16-thread stress test
sysbench cpu --threads=16 --time=300 run

# In another terminal, watch the power draw
watch -n 1 "intel-undervolt read | grep 'Package'"


* Before: The CPU would hit 35W and immediately throttle the clocks down to ~1.8GHz.
* After: The CPU sustained 55W continuously, maintaining much higher boost clocks (up to its 3.8GHz cap) without thermal throttling.

The Result: I used intel-undervolt in Proxmox to push PL1 to 55W and applied a -100mV core/cache undervolt. Sysbench scores jumped to 14,662 pts, outperforming a 95W i7-8700K, while peaking at only 76°C.

Phase 2: The GVT-g VRAM Wall
With the CPU unleashed, I configured Intel GVT-g to split the UHD 630 iGPU among my VMs. But when I tried to start them, Proxmox threw the dreaded error:

pci device '0000:00:02.0' has no available instances of 'i915-GVTg_V5_4'
  • The Problem: The Lenovo BIOS defaults to a measly 32MB of DVMT Pre-Allocated memory (Stolen Memory). To run a high-res V5_4 vGPU slice, you need at least 128MB.
  • The Dead Ends: I tried using common Lenovo EFI offsets (like 0x18F and 0x8F5) to increase the VRAM. The system ignored them. I then tried the Proxmox kernel parameter ignore_resource_conflict=1 hoping the Linux kernel would just overcommit the memory. It failed; the hardware driver strictly enforces the limit.
  • The Breakthrough (IFR Extraction): Lenovo shuffles hex addresses with every minor BIOS update. Guessing was useless. I took my BIOS dump, ran it through UEFIExtract to pull the Setup PE32 module, and pushed it through ifrextractor. This generated a text map of my exact BIOS. We found the real offset for DVMT Pre-Allocated was 0xA44. We set it to 0x08 (256MB).

Phase 3: The Aperture Trap
After unlocking 256MB of VRAM, I could successfully boot one VM. But starting a second one threw the "no available instances" error again. Why?
  • The Investigation: Back to the IFR text dump. The Intel driver requires "Aperture Size" (the CPU-to-GPU memory window) to map the VMs. By default, Lenovo sets this to 256MB. Each VM needs a large chunk of that window
  • The Fix: In the IFR dump, we found the hidden offsets for GTT Size (0x992) and Aperture Size (0x993). We pushed the GTT to 8MB (0x03) and commanded the Aperture to open to a massive 2048MB (0x0F)
  • The Result: Rebooted, ran lspci -v, and saw Memory at ... [size=2G]. Suddenly, the sysfs tree showed 3 available instances!
Here are the UEFI patch offsets for my platform (you're might be different if you're on a different BIOS/CPU)

SettingOffsetValueWhat it Does
Overclocking Lock0x7BD0x00Unlocks software undervolting
BIOS Lock0xB7B0x00Disables flash protection
DVMT Pre-Allocated0xA440x08Increases Stolen Memory to 256MB
GTT Size0x9920x03Increases mapping table to 8MB
Aperture Size0x9930x0FIncreases Aperture to 2048MB (2GB)
Hello, could you please provide me with a detailed guide to the BIOS mode/settings of the Lenovo P350 Tiny? The motherboard chipset is an Intel Q570 and it is equipped with an i9-11900T.


Unfortunately, I am unable to undervolt it due to a “Plundervolt” microcode update that was applied during a BIOS update.


I would be very grateful for your help.
 

besseddrest

Member
May 14, 2025
60
21
8
both the athlon 300ge and ryzen 3400ge are 35w. gave it 15 mins and no boot. bad cpu sent it back for refund.
already on latest bios too
was that the only thing you tried (swap CPU)?

usually with something like that i start CPU and like minimum everything else, build up fr there

aka
* CPU + 1 ram stick + 1 storage drive
* +1 ram stick
* +1 secondary storage drive

Sorry if obvious just, in case
 

besseddrest

Member
May 14, 2025
60
21
8
Hello,

I just recently purchased a M90Q Gen 5 and a PCIe Riser Card (5C50W00933) to install an Intel A310 GPU. I have installed the GPU, and when I turn the machine on, the fans spin, but the GPU is not recognized by the system. I see this seems to be a problem in this community, and I am wondering if anyone was able to get around this. I also just ordered this new part as well: 4XH1T54645 (no clue if it will work or be compatible even with the M90Q).

Any help would be greatly appreciated!
The newer generations, based on what other users have shared and my own experience with a p3 tiny gen 1 - are pretty stubborn when it comes to the dGPU

considering that the M90q series are sorta 1:1 with the P300 Tinys (thinkstation), those for the most part list Nvidia low profile GPUs

In my case I tried installing a LP RX6400 w/ no luck. Considering that my P3 Tiny is a 'workstation' i instead tried an older Radeon Pro WX 3200, which ended up working, and isn't generally listed in the spec

TLDR you might get away with older, cheaper, but less powerful cards
 

Bsiate

New Member
Feb 28, 2026
3
2
1
I finished my p330 tiny homelab build.
Thanks for all the help and all the accessible Information in this Forum.

I haven't self-hosted before, but I wanted to give it a try with a small Minecraft Server for me & my friends.
CPU: i7-8700 non-T
RAM: 32GB
SSD: 2x 512GB PM9A1 as Raid 1
NIC: Mellanox Connectx-3 cx311a; Cooled by a tiny 4010 blower Fan & Shroud I Remixed and a MCU I soldered and programmed.

Instead of having a Wifi/BT M.2 Card I got an A+E-Key M.2 to USB Card, since I didn't want to run a cable from one of the Ports on the external IO to the Arduino.

PXL_20260415_154059914.jpgPXL_20260415_153947343.jpgPXL_20260415_154011161.jpgPXL_20260415_154019415.jpg
 
  • Like
Reactions: Valve1138 and senso

bktpl

New Member
Apr 17, 2026
1
0
1
Hi Guys, i can see descriptions, but i do not know which model should i consider if not m920x. I want to build small lab on promox and play also with k8s. DO not need at this moment a lot of power, because it is more for playing with tehchnologies than using very powerful Vms. Anwyway, i prefer to have something quite good (even if it is too much for me) than something what can not be later used if need. I was thinking about m920x with 1x32gb ram x3 and eventually 4rth for FW with riser and extra rj45 ports.
Anyway, i wonder if it is not better to buy m90q (do notknow which generations i should consider) with 2 nvmes slots. This is what i think i shoud really have in this machines.
Also i am not sure should ipick i5-8500/i5-8500T (or maybe other?) vs 10500/10500T - it will be at my room so i need it to be quite quiet. The problem is that the one m90p without any ram and drives is 2x price of 920q in the same company. Also i do not know if p90 i found is gen 1 or gen2. I can provide You with link eventually. Thanks for help.
 

WifiCable

Active Member
Dec 18, 2023
92
100
33
I cannot force any PCIe card to work with my 920x.

-Bios updated (March 2026).

-Tried 2 different risers:



-Tried Intel x540-T2 (from Inspur)
-Tried Mellanox-ConnectX-3
-Tried USB 3 controller on PCIe
-Tried PCIe to NVMe adapter

No PCIe "magistral" on HWinfo...
Hmm that BA7H70 riser should work. The Tiny4 one is a mislabeled listing though, it's only for the M*10 models
 
  • Like
Reactions: totalfrequency

senso

Member
Jul 17, 2022
44
26
18
Here comes the king of jank :D

Its an M720Q with a modified design of the tinyriser by @WifiCable with two PCIe slots instead of one and an m.2 slot, called it escadote (ladder in english), running a LSI SAS3008 9300-8i and a intel ARC A310, one NVMe SSD on the WiFi slot, and another on the native slot, plus 8+16GB of RAM and a i7-9700, all on a 135W PSU.

The LSI card is sitting on top of the ARC with pieces of foam wrapped in electrical tape to act as a spacer, need to jerry rig a piece of L shaped aluminum to secure both cards to the computer.
The Ubiquiti NVR is just a drive shelf, only thing it has inside are 2 fans the 3rd one is zip tied to the LSI card (after a repaste with PTM7950, run at 48ºC).

Then there is a 3d printed HDD holder, the short term goal is to get 3 more and abandon the UNVR thingy since I need to open it up to connect the drives, not user friendly at all, and the cooling is meh with just 2 fans, keeps my drives at like 35-38ºC.

And the switch is an ICX7150-C12P properly updated thanks to @fohdeesha, sadly it cost more in shipping than the switch itself, life in EU I guess.

Sorry for the kinda dusty everything, but I only got the switch like 2 weeks ago and the rack was in an even worse mess with cables and PoE injectors dangling everywhere.

IMG_20260414_230715.jpg

IMG_20260414_230727.jpg


IMG_20260414_230740.jpg

IMG_20260414_230755.jpg

IMG_20260414_230800.jpg

Best regards to all, and thanks for helping me build this abomination :D
 
  • Like
Reactions: fohdeesha

WifiCable

Active Member
Dec 18, 2023
92
100
33
Here comes the king of jank :D

Its an M720Q with a modified design of the tinyriser by @WifiCable with two PCIe slots instead of one and an m.2 slot, called it escadote (ladder in english), running a LSI SAS3008 9300-8i and a intel ARC A310, one NVMe SSD on the WiFi slot, and another on the native slot, plus 8+16GB of RAM and a i7-9700, all on a 135W PSU.

The LSI card is sitting on top of the ARC with pieces of foam wrapped in electrical tape to act as a spacer, need to jerry rig a piece of L shaped aluminum to secure both cards to the computer.
The Ubiquiti NVR is just a drive shelf, only thing it has inside are 2 fans the 3rd one is zip tied to the LSI card (after a repaste with PTM7950, run at 48ºC).

Then there is a 3d printed HDD holder, the short term goal is to get 3 more and abandon the UNVR thingy since I need to open it up to connect the drives, not user friendly at all, and the cooling is meh with just 2 fans, keeps my drives at like 35-38ºC.

And the switch is an ICX7150-C12P properly updated thanks to @fohdeesha, sadly it cost more in shipping than the switch itself, life in EU I guess.

Sorry for the kinda dusty everything, but I only got the switch like 2 weeks ago and the rack was in an even worse mess with cables and PoE injectors dangling everywhere.

View attachment 48580

View attachment 48581


View attachment 48582

View attachment 48583

View attachment 48584

Best regards to all, and thanks for helping me build this abomination :D
Nice! Cool to see the pcb completed and working! Do you have more pictures of it? Or maybe the design files somewhere? Nice setup with sas card + gpu
 

midisama

New Member
Apr 6, 2026
1
0
1
Hello,

I just got my hand on a P330 Tiny with an i5 8400T and a P620 config, and my plan is to use it as a pve machine to selfhost some services, however I have some questions before I commit to buying some new stuff:

- knowing this CPU is not vPro, can I just put a vPro CPU and get the full AMT experience (KVM mainly)?
- I found both a 8700 and 8700K at a ""good price"" (seeing the current market events), and the price difference is negligible, which made me think that a the K model would be worth it over the non-K one, I know the motherboard has 65W limit (correct me on that) and I can even provide a 180W PSU from my laptop's charger, will the 8700K be able to work (even if it's power limited) on this machine or should i just go with the non-K and pay above average price for it?
- There is a black connector between the back USB ports and the PCH heatsink in the motherboard, which I assume is for the addon cards, can it be used for other stuff like another nvme slot, some 2.5GbE nic that is not from lenovo and so on? (I'm asking because I have to import most of these pieces and due to a *certain war* things are not getting any cheaper, especially shipping).
- For some reason Lenovo did not enable multi-gpu display support in the stock firmware, if I select IGD as my main output, the PCIe slot (or maybe just the dGPU) gets entierly disabled, any way I can have the nvidia gpu enabled while having the bios boot up show up on the Intel GPU?

Thank you.
 

joeribl

Active Member
Jun 6, 2021
234
85
28
Hello,

I just got my hand on a P330 Tiny with an i5 8400T and a P620 config, and my plan is to use it as a pve machine to selfhost some services, however I have some questions before I commit to buying some new stuff:

- knowing this CPU is not vPro, can I just put a vPro CPU and get the full AMT experience (KVM mainly)?
- I found both a 8700 and 8700K at a ""good price"" (seeing the current market events), and the price difference is negligible, which made me think that a the K model would be worth it over the non-K one, I know the motherboard has 65W limit (correct me on that) and I can even provide a 180W PSU from my laptop's charger, will the 8700K be able to work (even if it's power limited) on this machine or should i just go with the non-K and pay above average price for it?
- There is a black connector between the back USB ports and the PCH heatsink in the motherboard, which I assume is for the addon cards, can it be used for other stuff like another nvme slot, some 2.5GbE nic that is not from lenovo and so on? (I'm asking because I have to import most of these pieces and due to a *certain war* things are not getting any cheaper, especially shipping).
- For some reason Lenovo did not enable multi-gpu display support in the stock firmware, if I select IGD as my main output, the PCIe slot (or maybe just the dGPU) gets entierly disabled, any way I can have the nvidia gpu enabled while having the bios boot up show up on the Intel GPU?

Thank you.
The power limit is on the main board. So you can put a 300w PSU if you want, but it will make no difference. I would buy the 8700 and not bother with the K (which is for over clocking). Also you need to make sure that the P330 has the copper heatsink, most likely the one you bought doesnt have it because it came with a T CPU.
 
Last edited:

senso

Member
Jul 17, 2022
44
26
18
Does that GPU Bake under load @senso ? Sweet setup!
What a rabbit hole that question led me into.
I don't think so, the SAS card above it is running at a nice 48ºC.
But I can't find anything on OMV 8 that can read the A310 temperature, all I know is that the fan is at 1500-1800RPM.
nvtop or intel_gpu_top or even sensors, none can show the A310 temps.
 
  • Like
Reactions: totalfrequency

wanano

New Member
Apr 28, 2026
1
0
1
Anyone tried to mod a lenovo p340 tiny bios? I am trying to enable rebar via rebaruefi method and stuck on uefitool/ifrextractor part, I think the uefitool is reading the bios wrong and pe32 section data does not contain anything about 4g decoding or cfg lock things...
 

servethebasement

New Member
Oct 10, 2023
7
1
3
Somebody happen to have an M90q PCIe bracket for i350-T2 to 3D print? All I can find are incompatible m720q versions that state "should work for all tiny series" but that’s clearly not the case. I'm looking specifically to 3D print and not to purchase the official bracket since i plan to add a SATA pass-through. (And the official version being 30$ at least...)
 

junctionfunction

New Member
Feb 8, 2026
10
1
3
Guys do m.2 a+e to m key adapters work flawlessly on both the M75q gen 2 and the m720q? Trying to get an additional NVMe slot out of the wifi that I don't use on these machines.
 
  • Like
Reactions: slybunda

servethebasement

New Member
Oct 10, 2023
7
1
3
Guys do m.2 a+e to m key adapters work flawlessly on both the M75q gen 2 and the m720q? Trying to get an additional NVMe slot out of the wifi that I don't use on these machines.
I can only tell you about the m720q. But i have a a+e to m.2 adapter and it works fine. It's only pcie 3.0 x1 so don't expect miracles.