|Summary:||Suspend fails due to tpm_tis driver|
|Product:||Drivers||Reporter:||Michael Doube (michael)|
|Severity:||normal||CC:||alan, horst-bugme-osdl, jarkko.sakkinen, kernel, mpagano, nfilus, rjw|
|Bug Depends on:|
|Bug Blocks:||7216, 14885|
|Attachments:||DSDT of Vaio SZ650|
Description Michael Doube 2010-10-12 10:16:42 UTC
Suspend has failed on this Sony Vaio SZ650 since Ubuntu's 2.6.32-23 kernel (-22 was fine). Building from Linus' mainline (2.6.36-rc7) shows the following error during suspend. Removing the tpm_tis module (sudo rmmod tpm_tis) prior to suspend allows normal suspend-resume. kern.log (suspend initiated at 10:45:05): Oct 12 10:47:09 doris kernel: [ 269.390216] usb usb2: suspend, may wakeup Oct 12 10:47:09 doris kernel: [ 390.130107] tpm_tis 00:09: tpm_transmit: tpm_send: error -62 Oct 12 10:47:09 doris kernel: [ 390.130117] legacy_suspend(): pnp_bus_suspend+0x0/0x90 returns -62 Oct 12 10:47:09 doris kernel: [ 390.130122] PM: Device 00:09 failed to suspend: error -62 Oct 12 10:47:09 doris kernel: [ 390.130125] PM: Some devices failed to suspend Oct 12 10:47:09 doris kernel: [ 390.130177] scsi host0: resume This may be related to https://bugzilla.kernel.org/show_bug.cgi?id=16256 The Launchpad report is here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/602049
Comment 1 Rafael J. Wysocki 2010-10-12 18:34:50 UTC
What mainline kernel does 2.6.32-23 correspond to?
Comment 2 Michael Doube 2010-10-13 07:52:06 UTC
Rafael - not sure exactly which mainline. Probably an rc with lots of cherry-picks. I think this is the git tree tracking the released kernels for lucid: git://kernel.ubuntu.com/ubuntu/ubuntu-lucid.git And my bug turned up between these two tagged releases: Ubuntu-2.6.32-22.36 Ubuntu-2.6.32-23.37
Comment 3 Michael Doube 2010-10-13 08:07:09 UTC
The last working kernel reports this: mdoube@doris:~$ uname -a Linux doris 2.6.32-22-generic #36-Ubuntu SMP Thu Jun 3 19:31:57 UTC 2010 x86_64 GNU/Linux mdoube@doris:~$ lsmod | grep tpm tpm_infineon 9217 0 tpm 15780 1 tpm_infineon tpm_bios 6402 1 tpm And this commit was merged after -22.36 and before -23.37 http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-lucid.git;a=commit;h=e125c3a4937016ca98f8cb22f359a4c1a390a2e7
Comment 4 Michael Doube 2010-10-13 08:34:41 UTC
And the current kernel reports this: mdoube@doris:~$ uname -a Linux doris 2.6.35-22-generic #34-Ubuntu SMP Sun Oct 10 09:26:05 UTC 2010 x86_64 GNU/Linux mdoube@doris:~$ lsmod |grep tpm tpm_tis 16289 1 tpm 16013 1 tpm_tis tpm_bios 6426 1 tpm This Vaio has an Infineon TPM chip, so it looks like tpm_tis is getting loaded when tpm_infineon should be instead.
Comment 5 Michael Doube 2010-10-13 08:56:43 UTC
If I rmmod tpm_tis and modprobe tpm_infineon, not only does suspend work properly, but fprint (fingerprint scanner) works properly too, which it hasn't done before.
Comment 6 Rafael J. Wysocki 2010-10-13 20:09:04 UTC
This looks like a user space problem to me, apparently it loads the wrong module at startup.
Comment 7 Michael Doube 2010-10-14 06:16:22 UTC
According to the developers, tpm_tis is supposed to work with all 1.2 TPMs, complying with the TIS specification (that determines how the 1.2 TPMs should interface with PC platforms), so it looks like a bug in this kernel module, rather than the wrong module being loaded.
Comment 8 Rafael J. Wysocki 2010-10-14 09:44:16 UTC
OK (Are you actually sure that your TPM complies with the spec?)
Comment 9 Michael Doube 2010-10-14 12:37:21 UTC
The Windows driver claims to be. I'm struggling to get information on the Linux side (I dual boot Ubuntu with XP). Win driver reports: Trusted Platform Module: TCG Spec. Version = 1.2 Vendor = Infineon Technologies AG FW Version = 1.02
Comment 10 Michael Doube 2010-11-24 14:41:01 UTC
I'm unable to communicate with the TPM to get further debug info, following Rajiv Andrade's instructions: mdoube@doris:~$ sudo rmmod tpm_tis [sudo] password for mdoube: mdoube@doris:~$ sudo modprobe tpm_infineon mdoube@doris:~$ cat /proc/interrupts | grep tpm mdoube@doris:~$ tcsd -f&  23866 mdoube@doris:~$ TCSD ERROR: fopen(/etc/tcsd.conf): Permission denied ^C + Exit 4 tcsd -f mdoube@doris:~$ sudo tcsd -f&  24391 mdoube@doris:~$ TCSD TDDL ERROR: Could not find a device to open! in another tty: mdoube@doris:~$ sudo tpm_version Tspi_Context_Connect failed: 0x00003011 - layer=tsp, code=0011 (17), Communication failure
Comment 11 Michael Doube 2010-11-24 17:11:44 UTC
Created attachment 38072 [details] DSDT of Vaio SZ650 Apparently the DSDT can be useful for TPM driver development, so I attach it here
Comment 12 Rafael J. Wysocki 2011-01-16 22:40:36 UTC
Is the problem still present in 2.6.37?
Comment 13 Michael Doube 2011-01-17 10:19:33 UTC
Unfortunately my TPM appears to have completely died. It's missing from dmesg and no TPM modules get loaded during boot. Windows also complains, and when I try to clear the TPM information from BIOS, no confirmation screen appears on reboot as it normally would. I didn't see any commits to tpm_tis that would fix this in 2.6.37, but it's possible that the whole bug was due to a flaky chip rather than a programming error.
Comment 14 Rafael J. Wysocki 2011-01-17 22:24:23 UTC
OK, closing as unreproducible.
Comment 15 Michael Doube 2011-01-20 08:55:04 UTC
Just had an email from another Vaio user with the same bug. Alex Porras reports that: Adding the following line to my grub's kernel config fixed it: tpm_tis.interrupts=0 I put it in my /etc/default/grub file: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash tpm_tis.interrupts=0" This bug at RedHat has some more info: https://bugzilla.redhat.com/show_bug.cgi?id=530393
Comment 16 Michael Doube 2011-01-30 18:07:58 UTC
A Thinkpad X200 has been reported to be affected in the downstream bug report. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/602049/comments/85
Comment 17 Nikolaus 2012-10-11 09:34:21 UTC
The integrated smartcard reader of my Dell Latitude E6400 is somehow connected to the TPM and cannot be used without enabling it. Since this point in time I was not able to suspend my laptop anymore. Blacklisting the tpm_tis module solved it for me. I am on Ubuntu 12.04 with kernel 3.2.0-32-generic. What is the current status of this bug?
Comment 18 Horst Schirmeier 2012-10-21 20:12:24 UTC
(In reply to comment #17) > The integrated smartcard reader of my Dell Latitude E6400 is somehow > connected > to the TPM and cannot be used without enabling it. Since this point in time I > was not able to suspend my laptop anymore. Blacklisting the tpm_tis module > solved it for me. I am on Ubuntu 12.04 with kernel 3.2.0-32-generic. Same here: 3.2.0-26-generic x86_64 kernel with Ubuntu 12.04 on a Latitude E6400. The tpm_tis problem just reappeared after I hadn't seen it for quite some time.
Comment 19 jarkko.sakkinen 2016-08-22 13:48:48 UTC
Is this bug still valid? If not, I will close it down. Thanks.