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

From: peterasplund
Date: Tue Apr 23 2013 - 10:31:09 EST


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
[ 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/