There has been several reports from folks internally and within the community that after upgrading to ESXi 8.0, they are now seeing the following TPM error message:
TPM 2.0 device detected but a connection cannot be established.
The common theme between all these reported cases that I have seen is that they are all using an Intel NUC. While the Intel NUCs may list TPM support, they do not support either TPM Interface Specification (TIS) for TPM 1.2 or the First In, First Out (FIFO) for TPM 2.0, which are industry standards for communicating with a TPM device that ESXi uses.
Hopefully this is not new news to anyone, especially as I had written about this topic back in 2020 and how to disable the error message using a 10th Gen Intel NUC. Now, what is new and what surprised me was that folks were only seeing this error message after they had successfully upgraded from ESXi 7.x to ESXi 8.0.
After speaking with some folks internally, I came to learn that we had fixed a bug in vSphere 7.x, where we were incorrectly detecting the version of the TPM device and therefore the error message, which is supposed to show was not appearing. That explains why the error message was not showing before but is now correctly showing after the ESXi 8.0 upgrade.
To be clear, the TPM device found in the typical 4x4 Intel NUC has never been supported nor functional with vSphere. If you attempted to use it, you would get an error thrown stating that you do not have a valid TPM device. While the error message did not appear in earlier vSphere releases, the correct and expected behavior for an unsupported TPM device is to show the message above. In addition to the vSphere UI message in vCenter Server, you can also check the vmkernel.log file on the ESXi host and you should also see the following entry:
2022-10-19T05:40:26Z In(182) vmkernel: VMB_TPM: 99: Unsupported 'startMethod': 7
2022-10-19T05:40:26Z In(182) vmkernel: VMB_TPM: 227: Unable to determine TPM IO area base address.
2022-10-19T05:40:26Z In(182) vmkernel: VMB_TPM: 187: Failed to initialize TPM.
By upgrading to ESXi 8.0, we are now correctly letting users know that their TPM device can not be used. To get rid of the message, you will need to go into BIOS and under Security->Security Features->Intel Platform Trust Technology (uncheck to disable), which is the same solution I had posted back in 2020.
Note: The only Intel NUC that I have had success with TPM is 9th Gen Intel NUC which uses a Xeon-based processor and that is fully compatible for both vSphere 7.x and vSphere 8.0 in case anyone is interested.