Re: [tpmdd-devel] tpm_tis driver failed to suspend, error -62

From: Kent Yoder
Date: Tue Apr 23 2013 - 10:51:31 EST


On Tue, Apr 23, 2013 at 04:30:53PM +0200, peterasplund@xxxxxxxxx wrote:
> 2013-04-11 23:41 skrev Kent Yoder:
> >On Sat, Apr 06, 2013 at 06:00:59PM +0200, peterasplund@xxxxxxxxx
> >wrote:
> >>2013-04-02 16:03 skrev Kent Yoder:
> >>>Hi Peter,
> >>>
> >>>On Mon, Apr 1, 2013 at 4:17 PM, <peterasplund@xxxxxxxxx> wrote:
> >>>>2013-03-28 14:12 skrev Peter.Huewe@xxxxxxxxxxxx:
> >>>>>What also might be worth a look - in your bugzilla it states:
> >>>>>[ 0.225891] pnp 00:0a: Plug and Play ACPI device, IDs IFX0102
> >>>>>PNP0c31
> >>>>>(active)
> >>>>>[ 9.150673] tpm_tis 00:0a: 1.2 TPM (device-id 0xB, rev-id 16)
> >>>>>[ 9.292148] tpm_tis 00:0a: Adjusting TPM timeout parameters.
> >>>>>[ 10.084067] tpm_tis 00:0a: A TPM error (7) occurred
> >>attempting to
> >>>>>read a pcr
> >>>>>value
> >>>>>[ 10.084077] tpm_tis 00:0a: TPM is disabled/deactivated (0x7)
> >>>>>
> >>>>>
> >>>>>Can you perhaps try to enable your TPM in the BIOS? It's quite
> >>>>>often
> >>>>>hidden under "embedded security device" or "system security".
> >>>>>Quite often you have to have a bios password set to access these
> >>>>>settings.
> >>>>>If your system does not have bios support for TPMs, please
> >>>>>tell me so
> >>>>>and I'll try to help you out.
> >>>>>
> >>>>
> >>>>I've enabled it in BIOS now, and the output seems to be a bit
> >>>>different. Not too uplifting though...
> >>>>
> >>>>root@zepto:/home/peter# dmesg | grep tpm
> >>>>[ 14.631662] tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)
> >>>>[ 14.748276] tpm_tis 00:08: Adjusting TPM timeout parameters.
> >>>>[ 34.908128] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> >>>>[ 125.992108] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> >>>>[ 212.908502] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> >>>>root@zepto:/home/peter# tpm_version
> >>>>Tspi_Context_Connect failed: 0x00003011 - layer=tsp, code=0011
> >>(17),
> >>>>Communication failure
> >>>>root@zepto:/home/peter# tcsd -f
> >>>>TCSD TDDL ioctl: (25) Inappropriate ioctl for device
> >>>>TCSD TDDL Falling back to Read/Write device support.
> >>>>TCSD TDDL ERROR: write to device /dev/tpm0 failed: Timer expired
> >>>>TCSD TCS ERROR: TCS GetCapability failed with result = 0x1087
> >>>
> >>> Can you cat /sys/class/misc/tpm0/device/timeouts? Ivan Pryvalov
> >>>reported that his TPM showed values that were too small to keep
> >>from
> >>>causing timeouts waiting on TPM commands, but too big to
> >>trigger the
> >>>driver's code to scale them. (He saw 12000 for the 3 timeout
> >>>values.)
> >>>
> >>Hi Kent
> >>
> >>The values I'm seeing are:
> >>
> >>root@zepto:~# cat /sys/class/misc/tpm0/device/timeouts
> >>752000 2000000 752000 752000 [adjusted]
> >>
> >>So I guess these are within a normal range?
> >
> > Yes, these look normal. So it seems you can send commands to the
> >TPM
> >up until you try to suspend? Can you try to cat other files like
> >/sys/class/misc/tpm0/device/pcrs? This is the simplest way to send
> >some
> >command to the TPM...
> >
> >Kent
> >
>
> Hi Kent, I'm sorry I haven't replied to this message before. I must
> have missed it!
>
> root@zepto:/sys/class/misc/tpm0# ll
> drwxr-xr-x 3 root root 0 Apr 23 16:20 ./
> drwxr-xr-x 3 root root 0 Apr 23 16:20 ../
> -r--r--r-- 1 root root 4096 Apr 23 16:26 dev
> lrwxrwxrwx 1 root root 0 Apr 23 16:26 device -> ../../../00:08/
> drwxr-xr-x 2 root root 0 Apr 23 16:26 power/
> lrwxrwxrwx 1 root root 0 Apr 23 16:20 subsystem ->
> ../../../../../class/misc/
> -rw-r--r-- 1 root root 4096 Apr 23 16:20 uevent
>
> root@zepto:/sys/class/misc/tpm0# cat dev
> 10:224
> root@zepto:/sys/class/misc/tpm0# cat device/pcrs (prints nothing
> after a delay of a second or so)
> root@zepto:/sys/class/misc/tpm0# cat uevent
> MAJOR=10
> MINOR=224
> DEVNAME=tpm0
> root@zepto:/sys/class/misc/tpm0# cat device/active
> root@zepto:/sys/class/misc/tpm0# cat device/cancel
> cat: device/cancel: Permission denied
> root@zepto:/sys/class/misc/tpm0# cat device/caps
> root@zepto:/sys/class/misc/tpm0# cat device/durations
> 1000000 4000000 152000000 [adjusted]
> root@zepto:/sys/class/misc/tpm0# cat device/enabled
> root@zepto:/sys/class/misc/tpm0# cat device/id
> IFX0102
> PNP0c31
> root@zepto:/sys/class/misc/tpm0# cat device/options
> root@zepto:/sys/class/misc/tpm0# cat device/owned
> root@zepto:/sys/class/misc/tpm0# cat device/pubek
> root@zepto:/sys/class/misc/tpm0# cat device/resources
> state = active
> mem 0xfed40000-0xfed44fff
> io 0x4e-0x4f
> io 0x1670-0x167f
> irq 11
> root@zepto:/sys/class/misc/tpm0# cat device/temp_deactivated
> root@zepto:/sys/class/misc/tpm0# cat device/timeouts
> 752000 2000000 752000 752000 [adjusted]
> root@zepto:/sys/class/misc/tpm0# cat device/uevent
> DRIVER=tpm_tis
>
> To be able to do the 'cat' above, I usually need to restart my
> computer, otherwise the files aren't there. That's probably after
> I've put the computer in sleep mode (which works if I add tpm_tis to
> the module blacklist). Perhaps the same problem is related to this
> one:
> I just did a grep of my dmesg and saw some new error messages (28)
> in it. Perhaps they started occurring after I enabled it in BIOS.
>
> root@zepto:/home/peter# dmesg | grep tpm_
> [ 11.369198] tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)
> [ 11.508115] tpm_tis 00:08: Adjusting TPM timeout parameters.
> [ 32.560040] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> [ 4320.577827] tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)
> [ 4320.636111] tpm_tis 00:08: A TPM error (28) occurred attempting
> to determine the timeouts

Your TPM failed its internal self test (rc=28). At this point it will
have gone shut down. Looks like your hardware is broken. :(

Kent

> [ 4320.696081] tpm_tis 00:08: A TPM error (28) occurred attempting
> to determine the durations
> [ 4320.696091] tpm_tis 00:08: Could not get TPM timeouts and durations
> [ 9279.692915] tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)
> [ 9279.756184] tpm_tis 00:08: A TPM error (28) occurred attempting
> to determine the timeouts
> [ 9279.822186] tpm_tis 00:08: A TPM error (28) occurred attempting
> to determine the durations
> [ 9279.822197] tpm_tis 00:08: Could not get TPM timeouts and durations
> [10968.845856] tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)
> [10968.904111] tpm_tis 00:08: A TPM error (28) occurred attempting
> to determine the timeouts
> [10968.964100] tpm_tis 00:08: A TPM error (28) occurred attempting
> to determine the durations
> [10968.964111] tpm_tis 00:08: Could not get TPM timeouts and durations
> [13304.341746] tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)
> [13304.400093] tpm_tis 00:08: A TPM error (28) occurred attempting
> to determine the timeouts
> [13304.464134] tpm_tis 00:08: A TPM error (28) occurred attempting
> to determine the durations
> [13304.464142] tpm_tis 00:08: Could not get TPM timeouts and durations
>
> Thank you,
> Peter A
>
>
> >>Thanks,
> >>Peter
> >>
> >>> If you're seeing similar values, can you try the attached patch?
> >>>
> >>>Thanks,
> >>>Kent
> >>>
> >>>>/Peter A
> >>>>
> >>>>
> >>
> >>>>------------------------------------------------------------------------------
> >>>>Own the Future-Intel&reg; Level Up Game Demo Contest 2013
> >>>>Rise to greatness in Intel's independent game demo contest.
> >>>>Compete for recognition, cash, and the chance to get your game
> >>>>on Steam. $5K grand prize plus 10 genre and skill prizes.
> >>>>Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d
> >>>>_______________________________________________
> >>>>tpmdd-devel mailing list
> >>>>tpmdd-devel@xxxxxxxxxxxxxxxxxxxxx
> >>>>https://lists.sourceforge.net/lists/listinfo/tpmdd-devel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/