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

From: Kent Yoder
Date: Tue Apr 23 2013 - 12:29:45 EST


On Tue, Apr 23, 2013 at 10:03 AM, <peterasplund@xxxxxxxxx> wrote:
> 2013-04-23 16:43 skrev Kent Yoder:
>
>> 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

So the above messages happen at the time you reinsert the module
after a resume?

Kent

> But this only seems to happen after the tpm module has been unloaded when
> going to sleep. I don't get these messages after a reboot:
> root@zepto:/sys/class/misc/tpm0# dmesg | grep tpm
> [ 12.068202] tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)
> [ 12.212122] tpm_tis 00:08: Adjusting TPM timeout parameters.
> [ 33.068050] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> [ 434.500088] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> [ 485.180079] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> [ 511.436081] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> [ 523.412084] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> [ 535.396083] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> [ 550.316068] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> [ 559.164074] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> [ 570.028078] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
> /Peter
>
>
>>
>>> [ 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/