TPM chips can cause system instability

Recently I decided to buy a TPM chip for my Gigabye Z77X-UD5H motherboard. My PC is relatively old, since it’s merely an Intel 3770 with 32GB RAM but thanks to my shiny new Samsung Pro 960, an M.2 adapter and some minor UEFI modifications, I can’t say I notice my work PC (a Kaby Lake i7 7700K) being faster; it’s actually the opposite.

I wanted the TPM in order to enable BitLocker – properly. Whilst you can certainly enable BitLocker without a TPM chip by modifying the group policy, a compatible v1.2 chip would only cost me €10 and could offer some extra security. Realistically, since I am not a super-spy or anything requiring paranoid level security, I am only worried about burglars breaking in and taking control of my data, something that using BitLocker with a password should be sufficient to prevent, but… €10, plus the boasting about actually having a TPM chip on my desktop (which actually impressed nobody anyway).

 

The same week I also bought a new VGA since my old one decided to die on me. It was a frustrating experience, since I was trying to disable CSM in UEFI and the card wouldn’t POST without it. Which made no sense, because it being an nVidia GTX 970 it could very well boot from UEFI and didn’t need BIOS or the Compatibility Support Module (MSI confirmed that). Nevertheless, the card wouldn’t even manage to “start” (as a Windows device in Device Manager) when I had the onboard card set to primary. Needless to say the onboard Intel GPU would boot without a hitch.

I found out that the card was dying by replacing it with a backup GTX 950 I have lying around (it used to be my HDMI 2.0 card I bought for my 4K TV I used as a monitor in my previous company where I was employed). Lo and behold, the card would boot perfectly from UEFI. After coming home from work and contemplating how I could have had it repaired (and how much it would cost), the card simply died for good.

But how does the VGA fit in the whole picture? It’s because when I bought my new VGA I went a bit overboard and bought a Gigabyte Aorus 1080 Ti (the watercooled version but the one with the AiO block. Which was a mistake because the fan is too loud for my whisper-quiet system but I digress). In an attempt to try and minimise the temperatures it would produce under load (thus allowing me to set the fan to lower speeds whilst maintaining acceptable temperatures) I changed it the slot I had it installed on.

 

And that was it! The system wouldn’t boot any more. I started thinking about potential uses I could have for a €940 brick, when I decided to change the PCIe slot again and lo and behold, the system was back up again.

 

But that wasn’t the end of my troubles, no no no, far from that. You see, I’m living in Germany now, in Munich specifically and one of the things that the local electricity company does differently from Greece, is that they only come and take your meter readings once per year. You pay a nominal amount each month which is calculated based on your current usage and at the end of the year, they take the meter reading and you pay for the difrerence (or you get money back if you paid more during the year). In Greece the meter readings are taken every 4 months.

After taking a reading myself and trying to update the number listed on the website of the company in order to get a better estimation for the amount I should be paying every month, it jumped from the €55 I was paying every month to €105 which was a good indication that I should probably be a bit more conservative about my power consumption, starting with turning my PC off when I am not at home. Or at least allowing it to enter sleep mode.

So you have someone that tries to start using the Sleep function on a desktop machine which used to be ON all the time. And sleep fails. It fails consistently; The PC would sleep but it wouldn’t come back. It would turn on, but the display would be blank, every single time. I’d have to reset it and let Windows scan the drive for errors (ouch).

I tried Hibernation instead. It was far more reliable and failing only once a week, but that was once a week too many. Some times whilst it would recover from hiberation, the display would be completely off but the PC would work; quick solution is to simply press the power button for it to hibernate again and wake it up.

After being dangerously fed-up with the whole ordeal, I decided to dig in and see if I can solve it once and for all. I changed the PCIe slot of the VGA again and accidentally pressed the small CMOS reset button that’s on the particular motherboard model. Imagine my surprise when the system did boot perfectly. I got into the OS without changing anything on the UEFI, and I clicked “Sleep”. Then I moved the mouse and the system was back on!

After lots of trial and error, by disabling and enabling UEFI settings (using CMOS resets when needed) I finally found out that the culprit for my all around unstable sleep attempts was the TPM. I haven’t removed the physical chip; as long as it’s not provisioned it won’t affect the sleep procedure.

 

So there you have it. If you have a TPM installed and the sleep function does not work properly, try disabling the TPM, just make sure that you are not using it for BitLocker or any other application, because you will have to do a recovery in that case or it may even render your data inacessible.

Here’s a similar situation with a different Gigabyte motherboard using the same chipset on the same series: https://forum.giga-byte.co.uk/index.php?topic=15473.0

Click to access the login or register cheese