[Guide] Add TPM module on Chinese X99 and X79

Hey man,

Thanks for the hints. What I have tried so far (cpu is Xeon E5-2697v3 and E5-2643v4):

  • stock BD4: reset loop after 1s
  • stock PR9: works
  • stock PR9 with Bios region of BD4: fans start spinning, stuck at no image
  • stock PR9 with Bios region of BD4 and NVRAMDxe swapped from stock PR9 (as is ffs): fans start spinning, stuck at no image
  • stock PR9 with Bios region of P4: fans start spinning, stuck at no image

I also noticed that the stock PR9 has the EfiFirmwareFileSystem2Guid twice. So I also tried a version of the BD4 bios but then with the 80000h to 89000h from the PR9 pasted over the same region in the modded bios with a hex editor. Still no boot though.

I’ll try some other ideas when I have more time. Any pointers would be welcome. Starting to think that the different chipset might be a problem as well.

Update on pin 3: I’ve measured both on the Nuvoton and on the header pin 3 and you’re absolutely right. I tend to attach the SERIRQ for completeness sake (I’ve had issues when reflashing the TPM chips without it), but it’s definitely half the work required on those tiny pins. :slight_smile: Thanks for the tip!

1 Like

In post #60 and #62 in this very thread, I have listed

  • What BIOS regions may work
  • The methodology for finding out if a BIOS region may work

To expedite this, I will simply send you a PM with a new BIOS I just put together. In essence:

  • The FD (Flash Descriptor) and ME (Management Engine) are kept from the PR9
  • The BIOS region is taken from the latest Angxun DS4, which has support for “Fudan FM25W Series”

Hello, i was looking into this for my Jingsha x998d3 board i got in early 2020, and i found that there is actually one bios online that provides working Secure Boot on Koshak github page - HuananzhiX99_BIOS_mods/Jingsha X99-8D3 at master · Koshak1013/HuananzhiX99_BIOS_mods · GitHub

I am currently having fun on Battlefield Redsec with my 2629 ES CPU and heavily undervolted GTX980 that only works in 8x mode , with 4x4 ddr3 registered modules tuned at 1600 cl9

Correct, I have basically the exact same findings documented in this post.

Curious question: Does the boot time become crazy long on your original board when disabling CSM/turning on Secure Boot? If I were you, I would try my beloved Huananzhi BD4 BIOS instead. Everything just works perfectly on the boards I have tried.

1 Like

There’s a newer stock BIOS for X99-8D3 (dated 21/04/03) here. Secure Boot and TPM2.0 are both present, but ReBAR still hasn’t been implemented. Other than that, I’m not sure if there’re any clear improvements though.

1 Like

@ForeignerInBeijing

Yes, the board just boots twice every time. I do not have good experience with manual bios flashing on desktop boards and i would lik to avoid experiments as my bord is nevr mntioned anywhere else, are there other reports of it working with your bios?

@Tris well my current bios has broken undervolt support so i have to use throttlestop, might be worth try if it works there so i can bake in the undervolt and avoid using TS alltogether

Now to add more fun info: in my journey to get SB and bios undervolt settings, i thought i bricked the board when i flashed my “usual” go to bios for these board, wich i have modified with UPT to disable lights and insert my logo. This would not boot on the 2629 ES cpu but would just work with a half broken 2669 QS i have around. Koshak bios works fine with both cpus but i still did not try to UPT it…

can you please post the link to bios, i have external programmer, and new MB version with NCT5567D-B. thank you!

I will just start with this statement. In this thread you have to the best of my knowledge four world firsts

  • TPM 2.0 fully working on X99Z V102 ; ZX-99EV3 ; X99D3M4 ; G218A
  • In other words: Things do not progress unless there is some experimentation

But if you do not have an external programmer and a second computer, then I absolutely understand the hesitation to try anything new. Especially when considering that you are using ES and QS chips:

  • I only have experience from socket 1151 mutants, and I remember that I had to be very careful with adding the right microcode for the board to even boot
  • But to make TBU work, you need to remove the microcode. Seems like a fundamental contradiction

I do have programmer and many computers, just that i had many issues flashing desktop boards in the past. I can try your bios, but i do not need nor want TBU, only undervolt. I might try this with a different build that is not inside a case using retail CPU in the next few days. This one also has a very tight case making clamp seating very hard.

Is the bios you linked improved by Koshak or any other modder, or just chinese original?

With ES and QS chips, I really do not know what will work. I remember reading that for instance 12th gen QS allow for more voltage adjustments. So I will just reply with what I have verified myself with retail chips on the modded BD4 BIOS:

  • “B1” can adjust voltage in the BIOS, on multiplier overclockable CPUs like 1660V3
  • “B2” can adjust voltage in the BIOS on 26xxV3 CPUs, but this is after TBU is applied

BIOS with TPM support for Machinist X99-PR9 (including Fudan FM25W flash chip support)
Download from here. Special thanks to @tiburcillo for testing out this BIOS on no less than 3 differrent boards!

1 Like

So, i tested your D1_M2_B2_251005 on the Shark board, i have a board that has problem running more than 2 slots AND a cpu that has a broken channel wich is a 12 core ES named QDCU ES1.

Booted fine, undervolt in bios is working - offsets are shown in Hwinfo.

I have a couple of questions that you might have already answered in one of the 2 threads, sorry for that if that is the case

  • can i use UPT to remove light and beep sound?

  • i have a B2 bios and locked CPU. I remember that TBU procedure has his own undervolt in the driver, if i touch the voltages after boot with Throttlestop the multiplier goes back to standard,
    What is the relation between the bios controlled undervolt and TBU in your experience? I do not understand if the bios i installed is supposed to be TBU enabled - my cpu single core boost is 27 but it is currently doing the standard 24 all core during stress tests at about 60w with bios undervolt set at 95/70/70 that i know is stable with this sample. Weird enough, it seems that if i disable the overclock feature in bios and boot without any undervolt i got stuck either on the windows loading circle or your logo…

    EDIT it seems that enabling/disabling overclock feature triggers something weird as it finally booted with oc feature disabled, but with the gpu in VESA, just like it has seen a new machine it had to wait a dozen seconds before activating the proper driver.

1 Like

Wait you can boot up QDCU ES CPU? I have a supposedly same stepping CPU (QDCS) but have never been able to boot it up. Can you provide a HWiNFO or CPU-Z screenshot of the CPU? I just want to know the verify if my CPU is faulty.

Regarding the beep sound, on Jingsha X99-8D3 there’s a jumper on the lower left corner named BZ1. Just remove it and the beep will be physically disabled.

back in late 2019 i had just bought a lot of these boards and was testing a lot of ES cpus from a chinese seller, kept all the ddr3 capable ones and another friend that had original x99 boards kept the ones that only worked with ddr4. Sold maybe 30 builds with macos, vega 56 gpus for video editors on the budget. It was just after the first mining crash and just in time before pandemic hit. Fun times!

1 Like

Sorry to bother you but can you also give me a CPU-Z screenshot? Just wanna check the stepping. MCU 80000013 should belong to 306F1 (ES2 CPU) instead of 306F0 ES1 CPU.

Ok, interesting that you got voltage control working, and yes, there is a lot of information spread over many posts, so no problem in asking at all. Remove light and beep sound? No better advice than “try one by one and see”. The latest version of UPT seems to be working ok

  • Removing light seems to add a specific DXE driver called “Jingsha8D3Backlight_Off”
  • Removing beep seems to modify “UsbRtDxe”, “StatusCodeDxe” and “StatusCodePei”. Also one freeform “DAF4BF89-CE71-4917-B522-C89D32FBC59F”

My experience is: Voltage control works really well on retail chips with TBU.

Voltage control on ES/QS chips with/without TBU? I have zero experience here. The only thing I can think of is that you create a “D1_M2_B1” BIOS instead and try. Then you still have the V3 microcode, which might improve things/stability on ES/QS. But just speculation, nothing I have actually tested myself on X99 platforms.

And with the recent RAM price hikes, DDR3 capable X99 chips might sadly be the only remaining budget option for a few years to come. Right now I can get a 2696V3 for around 160 RMB (~23 USD) in China. 32G of DDR3 ECC RAM will cost a lot more than that.

yes, i am going to revisit the ddr3 xeons as i have a shitload of that memory around here, mostly 32gb sticks i bought back then almost 2tb of it… back then i was obsessed with 4 channel now i might build using cheaper 2 channel boards as 64gb is plenty

Thank you for the screenshot. Now I know that QDCU is 306F1. Sadly, that means my QDCS might be only a paperweight.

For TBU, afaik it only works in ES/QS/Retail Xeon with CPUID 306F2. I once own a QGG7 (no direct equivalence in retail Xeons, but spec close to that of 2660v3) and TBU works well. The way that you can know your CPUID is to open CPU-Z and look at the stepping (2 is for 306F2 and 1 is for 306F1)