Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

tpm_tis driver failed to suspend, error -62

456 views
Skip to first unread message

Aaron Lu

unread,
Mar 18, 2013, 10:40:03 PM3/18/13
to
Hi Rajiv,

Not sure if I should send this to you, please kindly forward it to the
appropriate person if not, thanks.

Peter has encountered a problem during suspend, the tpm_tis driver's
suspend callback will fail, the relevant message is:

[ 192.281757] PM: Syncing filesystems ... done.
[ 192.692479] Freezing user space processes ... (elapsed 0.01 seconds)
done.
[ 192.708159] Freezing remaining freezable tasks ... (elapsed 0.01
seconds)
done.
[ 192.724151] Suspending console(s) (use no_console_suspend to debug)
[ 192.724612] sd 2:0:0:0: [sda] Synchronizing SCSI cache
[ 192.724785] sd 2:0:0:0: [sda] Stopping disk
[ 197.512047] tpm_tis 00:08: tpm_transmit: tpm_send: error -62
[ 197.512055] legacy_suspend(): pnp_bus_suspend+0x0/0xa0 returns -62
[ 197.512057] PM: Device 00:08 failed to suspend: error -62
[ 197.512058] PM: Some devices failed to suspend

And the problem has been there since v2.6.32(shipped in ubuntu 10.04),
and the latest upstream tree(v3.9-rcx) also has this problem. The bug
link is here:
https://bugzilla.kernel.org/show_bug.cgi?id=45761

Please feel free to ask for more information, thanks.

-Aaron

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Luigi Semenzato

unread,
Mar 19, 2013, 12:00:02 PM3/19/13
to
Error 62 is ETIME. The driver is timing out during a tpm_send,
possibly trying to send the Tpm_SaveState command.

It may be that you cannot talk to the TPM at all. Have you tried
sending messages to the TPM before suspending?

Are there any other tpm entries in the syslog? Like at boot?

What model TPM is it?
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_mar
> _______________________________________________
> tpmdd-devel mailing list
> tpmdd...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/tpmdd-devel

petera...@gentoo.se

unread,
Mar 21, 2013, 9:30:01 AM3/21/13
to
Hi! Sadly, I have to say that I'm totally oblivious to power-related
stuff both in software and hardware, so I have no idea what you are
asking or proposing.. :)

I don't know if you have access to the files I've included in the bug
report, so here are the links to them:
https://launchpadlibrarian.net/105830773/lspci.txt
https://launchpadlibrarian.net/95994294/AcpiTables.txt
https://launchpadlibrarian.net/95994318/BootDmesg.txt
https://launchpadlibrarian.net/95994354/UdevDb.txt

Regarding the syslog during boot, is that the same as the BootDmesg
I've attached? Or should I search in another log file?
I'm not sure about the model, but I was hoping you could deduct
something from the UdevDb or the lspci output above.

BR,
Peter

Rajiv Andrade

unread,
Mar 27, 2013, 11:30:02 AM3/27/13
to
Sending again, plain text.

---

Hey Aaron,

Sorry for the delay. Can you send us the dmesg output after setting
loglevel=7 at boot time? Additionally, can you send us the TPM
manufacturer model/version?

# cat /sys/devices/pnp0/00\:0*/caps

Adding Kent.

Cheers,
Rajiv

On Wed, Mar 27, 2013 at 12:17 PM, Rajiv Andrade <ma...@srajiv.net> wrote:
> Hey Aaron,
>
> Sorry for the delay. Can you send us the dmesg output after setting
> loglevel=7 at boot time? Additionally, can you send us the TPM manufacturer
> model/version?
>
> # cat /sys/devices/pnp0/00\:0*/caps
>
> Adding Kent.
>
> Cheers,
> Rajiv

Aaron Lu

unread,
Mar 28, 2013, 4:50:02 AM3/28/13
to
On 03/27/2013 11:22 PM, Rajiv Andrade wrote:
> Hey Aaron,
>
> Sorry for the delay. Can you send us the dmesg output after setting
> loglevel=7 at boot time? Additionally, can you send us the TPM
> manufacturer model/version?
>
> # cat /sys/devices/pnp0/00\:0*/caps
>
> Adding Kent.

Thanks Rajiv.

Peter,
Please kindly provide the required information, thanks.

-Aaron

Peter...@infineon.com

unread,
Mar 28, 2013, 9:30:01 AM3/28/13
to
Hi Aaron, Rajob, PeterA and everybody else,

(sorry for the late reply)

>On 03/27/2013 11:22 PM, Rajiv Andrade wrote:
>> Sorry for the delay. Can you send us the dmesg output after setting
>> loglevel=7 at boot time? Additionally, can you send us the TPM manufacturer model/version

>>> On Thu, Mar 21, 2013 at 10:17 AM, <petera...@gentoo.se> wrote:
>>>>
>>>> Hi! Sadly, I have to say that I'm totally oblivious to power-related
>>>> stuff both in software and hardware, so I have no idea what you are
>>>> asking or proposing.. :

According to the BootDmesg.txt it's an Infineon TPM
[ 0.293936] pnp 00:0a: Plug and Play ACPI device, IDs IFX0102 PNP0c31 (active)
[ 12.413651] tpm_tis 00:0a: 1.2 TPM (device-id 0xB, rev-id 16)




@PeterA:
Can you perhaps try find out the exact tpm version?
1) Install trousers and tpm_tools (emerge app-crypt/trousers app-crypt/tpm-tools)
2) Kill the tcsd and run it in the foreground
# pkill -9 tcsd
# tcsd -f
(if it says up and running you can send it to background)
3) Run
#tpm_version and post the output.



Also the flags etc would perhaps be handy, they can be retrieved via sysfs - on you machine it _should_ be
# cat /sys/devices/pnp0/00:0a/*
and also post the output.


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.

Thanks,
PeterH

petera...@gentoo.se

unread,
Mar 28, 2013, 11:00:03 AM3/28/13
to
Hi Peter!

Thank you for your help! I'm going away for the Easter holiday, and
will be back on Monday/Tuesday. I will try to supply the information you
need at that time, since I won't be bringing my laptop with me.

BR
Peter A

petera...@gentoo.se

unread,
Apr 1, 2013, 5:10:02 PM4/1/13
to
2013-03-28 14:12 skrev Peter...@infineon.com:
> Hi Aaron, Rajob, PeterA and everybody else
>
> @PeterA:
> Can you perhaps try find out the exact tpm version?
> 1) Install trousers and tpm_tools (emerge app-crypt/trousers
> app-crypt/tpm-tools)
> 2) Kill the tcsd and run it in the foreground
> # pkill -9 tcsd
> # tcsd -f
> (if it says up and running you can send it to background)

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

> 3) Run
> #tpm_version and post the output.
root@zepto:/home/peter# tpm_version
Tspi_Context_Connect failed: 0x00003011 - layer=tsp, code=0011 (17),
Communication failure

I will try to restart the laptop, as well as check the bios settings,
and get back to you on this one.

>
>
> Also the flags etc would perhaps be handy, they can be retrieved via
> sysfs - on you machine it _should_ be
> # cat /sys/devices/pnp0/00:0a/*
> and also post the output.
root@zepto:/home/peter# ls /sys/devices/pnp0/00\:0a/
driver/ id power/ subsystem/
firmware_node/ options resources uevent
root@zepto:/home/peter# cat /sys/devices/pnp0/00\:0a/options
root@zepto:/home/peter# cat /sys/devices/pnp0/00\:0a/resources
state = active
irq 12
root@zepto:/home/peter# cat /sys/devices/pnp0/00\:0a/id
SYN1902
SYN1900
SYN0002
PNP0f13
root@zepto:/home/peter# cat /sys/devices/pnp0/00\:0a/uevent
DRIVER=i8042 aux

Cheers,
Peter A

petera...@gentoo.se

unread,
Apr 1, 2013, 5:20:03 PM4/1/13
to
2013-03-28 14:12 skrev Peter...@infineon.com:
> 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

/Peter A

Peter Hüwe

unread,
Apr 1, 2013, 5:20:03 PM4/1/13
to
Hi Peter,

> > Also the flags etc would perhaps be handy, they can be retrieved via
> > sysfs - on you machine it _should_ be
> > # cat /sys/devices/pnp0/00:0a/*
> > and also post the output.
>
> root@zepto:/home/peter# ls /sys/devices/pnp0/00\:0a/

Okay it seems it's not 00:0a ;/

Can you check the node in dmesg again?
You can try to find it also by
find /sys -name '*duration*'


Thanks,
Peter

petera...@gentoo.se

unread,
Apr 2, 2013, 10:40:02 AM4/2/13
to
2013-04-01 23:12 skrev Peter Hüwe:

Hi Peter,

Also the flags etc would perhaps be handy, they can be
retrieved

via

sysfs - on you machine it _should_ be # cat
/sys/devices/pnp0/00:0a/* and also post the output.

root@zepto:/home/peter# ls /sys/devices/pnp0/00\:0a/

Okay it seems it's not 00:0a ;/ Can you check the node in dmesg
again? You can try to find it also by find /sys -name '*duration*'


root@zepto:/home/peter# find /sys -name '*duration*'
/sys/devices/pnp0/00:08/durations
and lots of usb devices...

root@zepto:/home/peter# cat /sys/devices/pnp0/00\:08/
active durations misc/ power/
subsystem/
cancel enabled options ppi/
temp_deactivated
caps firmware_node/ owned pubek
timeouts
driver/ id pcrs resources
uevent

root@zepto:/home/peter# cat /sys/devices/pnp0/00\:08/*
1000000 4000000 152000000 [adjusted]
IFX0102
PNP0c31
state = active
mem 0xfed40000-0xfed44fff
io 0x4e-0x4f
io 0x1670-0x167f
irq 11
752000 2000000 752000 752000 [adjusted]
DRIVER=tpm_tis

I don't know if you want me to cat a specific file.. Perhaps the above
is enough?

/Peter A

petera...@gentoo.se

unread,
Apr 6, 2013, 12:10:02 PM4/6/13
to
2013-04-02 16:03 skrev Kent Yoder:
> Hi Peter,
> 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?

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...@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/tpmdd-devel

Kent Yoder

unread,
Apr 11, 2013, 5:50:02 PM4/11/13
to
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

petera...@gentoo.se

unread,
Apr 23, 2013, 10:40:03 AM4/23/13
to
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

Kent Yoder

unread,
Apr 23, 2013, 11:00:01 AM4/23/13
to
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

petera...@gentoo.se

unread,
Apr 23, 2013, 11:10:03 AM4/23/13
to
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

Kent Yoder

unread,
Apr 23, 2013, 12:30:02 PM4/23/13
to
So the above messages happen at the time you reinsert the module
after a resume?

petera...@gentoo.se

unread,
Apr 29, 2013, 5:40:01 AM4/29/13
to
Sadly I don't know. Reinserting the module after a resume doesn't
really seem to do much, for instance it doesn't recreate the directories
I listed/cat above.

But since one of the messages is after 4320 (seconds?) I guess it must
be something like that. But I didn't see them when I tried modprobing
the module several times, to get the directories in /sys/ back.

/Peter
0 new messages