Re: [BUG] Nuvoton NCPT650 TPM 2.0 mode not working

From: Jarkko Sakkinen
Date: Sun Nov 18 2018 - 03:18:49 EST


On Fri, Nov 16, 2018 at 10:06:28PM +0100, Michael Niewöhner wrote:
> On Wed, 2018-11-14 at 21:46 +0100, Michael Niewöhner wrote:
> > Hi all,
> >
> > I tried that patch mentioned by Mimi but it does not change anything for me.
> >
> > Then I did some more tests with different kernel configs and finally got TPM
> > working by
> > a) compiling TPM as modules and rmmod tpm* and re-modprobe tpm_tis.
> >
> > (initramfs) dmesg | grep -i tpm
> > [ 0.000000] efi: ACPI 2.0=0x9ea7e000 ACPI=0x9ea7e000 SMBIOS=0x9f5eb000
> > SMBIOS 3.0=0x9f5ea000 ESRT=0x9c07d918 MEMATTR=0x9bea3018
> > TPMEventLog=0x97cbb018
> > [ 0.003793] ACPI: TPM2 0x000000009EAB7F70 000034 (v03 LENOVO TC-
> > S06 00001260 AMI 00000000)
> > (initramfs) rmmod tpm_crb tpm_tis tpm_tis_core tpm
> > (initramfs) modprobe tpm_tis
> > [ 44.956905] tpm_tis MSFT0101:00: 2.0 TPM (device-id 0xFE, rev-id 2)
> >
> > b) compiling TPM-support in-kernel and manually bind the ACPI device
> >
> > (initramfs) dmesg | grep -i tpm
> > [ 0.000000] efi: ACPI 2.0=0x9ea7e000 ACPI=0x9ea7e000 SMBIOS=0x9f5eb000
> > SMBIOS
> > 3.0=0x9f5ea000 ESRT=0x9c07d918 MEMATTR=0x9bea3018 TPMEventLog=0x97cbb018
> > [ 0.003546] ACPI: TPM2 0x000000009EAB7F70 000034 (v03 LENOVO TC-S06
> > 00001260
> > AMI 00000000)
> > (initramfs) echo MSFT0101:00 >/sys/bus/platform/drivers/tpm_tis/bind
> > [ 233.076079] tpm_tis MSFT0101:00: 2.0 TPM (device-id 0xFE, rev-id 2)
> >
> >
> > It seems to me, the kernel tries to enable the TPM to early...
> >
> >
> > Michael
>
> Looks like the manual driver bind works more or less but e.g reading hwrng does
> not work...
>
> # echo MSFT0101:00 >/sys/bus/platform/drivers/tpm_tis/bind
> [ 148.293302] tpm_tis MSFT0101:00: 2.0 TPM (device-id 0xFE, rev-id 2)
> # cat /sys/devices/virtual/misc/hw_random/rng_current
> tpm-rng-0
> # cat /dev/hwrng >/dev/null
> cat: /dev/hwrng: Operation not permitted

Can you check with trace-cmd start -p function -l 'tpm*'?

/Jarkko