On Thu, 2019-01-10 at 19:28 +0200, Jarkko Sakkinen wrote: > On Fri, Jan 04, 2019 at 04:28:24PM +0100, Michael Niewöhner wrote: > > root@debian:~# tpm2_pcrlist > > ERROR:tcti:src/util/io.c:102:write_all() failed to write to fd 3: Operation > > not > > permitted > > ERROR:tcti:src/tss2-tcti/tcti-device.c:86:tcti_device_transmit() wrong > > number of > > bytes written. Expected 22, wrote 0. > > ERROR: GetCapability: Get PCR allocation status Error. TPM > > Error:0xa000a...... > > ERROR: Unable to run tpm2_pcrlist > > root@debian:~# tpm2_pcrlist; tpm2_pcrlist > > sha1 : > > 0 : 1ebb2be3b7103a09b5caeeb5827c1242cd6632ec > > 1 : 425e833da73cb511150d6ffcf6fac64e9a6feb58 > > 2 : b2a83b0ebf2f8374299a5b2bdfc31ea955ad7236 > > 3 : b2a83b0ebf2f8374299a5b2bdfc31ea955ad7236 > > 4 : d13c141b174afbb568773adf1f39940a2df47c7d > > 5 : 756a3647403ab141ec2c1ac7325854f4a93f6efd > > ...... > > So the sympton is that it from time to time works and time to time > fails. Not exactly. It only works on the second of two directly consecutive calls. > > Can't recall whether you had interrupts enabled or disabled for the > TPM chip (depending on whether you use IRQs or polling you'd have > to tweak the code from a different place), but you could tweak > directly the TPM2_DURATION_* constants in drivers/char/tpm/tpm.h: > > enum tpm2_timeouts { > TPM2_TIMEOUT_A = 750, > TPM2_TIMEOUT_B = 2000, > TPM2_TIMEOUT_C = 200, > TPM2_TIMEOUT_D = 30, > TPM2_DURATION_SHORT = 20, > TPM2_DURATION_MEDIUM = 750, > TPM2_DURATION_LONG = 2000, > TPM2_DURATION_LONG_LONG = 300000, > TPM2_DURATION_DEFAULT = 120000, > }; > > Set SHORT, LONG and MEDIUM to lets say 3000 and lets see if that > makes a difference or not. > /Jarkko I have already tried this but there was not any difference. Michael