Re: [tpmdd-devel] Regression between Linux 3.16 and 4.8/4.9 on Lenovo X60 with coreboot

Paul Menzel
2017-04-04T17:44:28Z

Dear Jason,

Thank you for your reply.

On 2017-04-04 19:15, Jason Gunthorpe wrote:
> On Tue, Apr 04, 2017 at 06:29:06PM +0200, Paul Menzel wrote:
>
>> Unfortunately, there seems to have been a regression between Linux
>> 3.16
>> and 4.8 and 4.9, so that the Linux kernel doesn’t create the TPM
>> device.
>
> That old kernel did not check error codes when reading burst count,
> the new one does. It is quite possible the older kernel is failing to
> read burst count and subtly malfunctioning.

GNUtoo got the messages below. Unfortunately, I don’t know, what Linux
Kernel that is.

```
tpm_tis 00:07: 1.2 TPM (device-id 0x3202, rev-id 5)
tpm tpm0: A TPM error (38) occurred attempting to determine the timeouts
tpm tpm0: Issuing TPM_STARTUP
tpm tpm0: [Hardware Error]: Adjusting reported timeouts: A
10000->10000us B 10000->10000us C 0->750000us D 0->750000us
```

> It would be helpful if you could prove/disprove this statement by
> adding some debugging to 3.16.

Could you please help me with that? Can I enable certain options to get
more debugging information?

> As to why the burst count cannot be read.. I don't know, check if
> increasing the retries helps, it could be this particular TPM is out
> of spec for the cold startup process.

How can I increase the retry count?

>> Remove module and run `sudo modprobe tpm_tis itpm=1 force=1`.
>
> Is this really an 'itpm'? It doesn't look like it..

Sorry, I don’t know. Leaving that out, gives the same messages though.

```
tpm tpm0: Unable to read burstcount
tpm tpm0: tpm_transmit: tpm_send: error -16
tpm_tis tpm_tis: Could not get TPM timeouts and durations
```

Kind regards,

Paul Menzel