# TPM driver not working



## Chris Zhu (Jan 2, 2020)

The TPM2.0 chip is plugged on the mainboard, and it can be probed by the tpm_tis driver of FreeBSD 12. The /dev/tpm0 is also created by the driver. The allocated IO memory range is 0xfed40000-0xfed44fff (tpmtis0), which I think is got from ACPI.

But when I run any TPM tool commands (such as tpm2_nvreadpublic),  I will always get a "tpmtis0: Failed to switch to ready state" error from kernel. This error message comes from the tpm_tis driver. It seems the driver cannot write TPM_STS_CMD_RDY on the STS register of the TPM.

The chip can work on Ubuntu 18.04 with the same hardware environment, so I assume the chip is not corrupted.

Does anyone know how to fix this?

Thanks!


----------



## vchan (Jan 3, 2020)

This talk at BSDCan might help. 



_View: https://www.youtube.com/watch?v=kgq3y4fCWWc_


I think only a few TPM devices are well supported.


----------

