Mike Gerow
2015-08-18 23:03:34 UTC
Hi folks,
I initially discussed this issue on the tpmdd-devel list here <
http://sourceforge.net/p/tpmdd/mailman/tpmdd-devel/thread/201401262056.25329.PeterHuewe%40gmx.de/#msg31887814>.
That was a long time ago and we still seem to see the same kind of issue.
Essentially the TPM seems to just completely stop responding on the LPC
bus. In trying to further diagnose the issue I compiled trousers with
debugging mode on and noticed a pattern in the leadup to where the TPM
would completely fall over.
This seems to happen right after we try to evict a key:
Jul 6 19:25:26 <hostname> TCSD TCS[26574]: TrouSerS tcs_key.c:259
internal_EvictByKeySlot: Evicting key using FlushSpecific for TPM 1.2
Jul 6 19:25:26 <hostname> To TPM:[26574]: 00 C1 00 00 00 12 00 00 00 BA 00
E8 F6 0A 00 00
Jul 6 19:25:26 <hostname> To TPM:[26574]: 00 01
Jul 6 19:25:26 <hostname> TCSD TDDL[26574]: TrouSerS tddl.c:171 Calling
write to driver
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 C4 00 00 00 0A 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
...
<and so on reading 0 from the device>
I'm really at a loss for how to continue diagnosing this, though. It might
be a hardware issue, but even if that's the case it'd be nice to find a way
to try to prevent it from happening as often as it does (currently when the
TPM breaks like this the only course of action users have is to restart
their machine). I can probably provide some more detailed logs if they
would help.
Other info that might prove pertinent:
trousers version: 0.3.11.2
kernel version: 3.13.0-61-generic
tpm_version on affected devices:
TPM 1.2 Version Info:
Chip Version: 1.2.8.32
Spec Level: 2
Errata Revision: 3
TPM Vendor ID: STM
TPM Version: 01010000
Manufacturer Info: 53544d20
Thanks for any advice you can offer.
I initially discussed this issue on the tpmdd-devel list here <
http://sourceforge.net/p/tpmdd/mailman/tpmdd-devel/thread/201401262056.25329.PeterHuewe%40gmx.de/#msg31887814>.
That was a long time ago and we still seem to see the same kind of issue.
Essentially the TPM seems to just completely stop responding on the LPC
bus. In trying to further diagnose the issue I compiled trousers with
debugging mode on and noticed a pattern in the leadup to where the TPM
would completely fall over.
This seems to happen right after we try to evict a key:
Jul 6 19:25:26 <hostname> TCSD TCS[26574]: TrouSerS tcs_key.c:259
internal_EvictByKeySlot: Evicting key using FlushSpecific for TPM 1.2
Jul 6 19:25:26 <hostname> To TPM:[26574]: 00 C1 00 00 00 12 00 00 00 BA 00
E8 F6 0A 00 00
Jul 6 19:25:26 <hostname> To TPM:[26574]: 00 01
Jul 6 19:25:26 <hostname> TCSD TDDL[26574]: TrouSerS tddl.c:171 Calling
write to driver
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 C4 00 00 00 0A 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Jul 6 19:25:29 <hostname> From TPM:[26574]: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
...
<and so on reading 0 from the device>
I'm really at a loss for how to continue diagnosing this, though. It might
be a hardware issue, but even if that's the case it'd be nice to find a way
to try to prevent it from happening as often as it does (currently when the
TPM breaks like this the only course of action users have is to restart
their machine). I can probably provide some more detailed logs if they
would help.
Other info that might prove pertinent:
trousers version: 0.3.11.2
kernel version: 3.13.0-61-generic
tpm_version on affected devices:
TPM 1.2 Version Info:
Chip Version: 1.2.8.32
Spec Level: 2
Errata Revision: 3
TPM Vendor ID: STM
TPM Version: 01010000
Manufacturer Info: 53544d20
Thanks for any advice you can offer.
--
Mike Gerow
***@google.com
Mike Gerow
***@google.com