Bug 20132
Summary: | Suspend fails due to tpm_tis driver | ||
---|---|---|---|
Product: | Drivers | Reporter: | Michael Doube (michael) |
Component: | Other | Assignee: | drivers_other |
Status: | ASSIGNED --- | ||
Severity: | normal | CC: | alan, horst-bugme-osdl, jarkko.sakkinen, kernel, mpagano, nfilus, rjw |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 3.2 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Bug Depends on: | |||
Bug Blocks: | 7216, 14885 | ||
Attachments: | DSDT of Vaio SZ650 |
Description
Michael Doube
2010-10-12 10:16:42 UTC
What mainline kernel does 2.6.32-23 correspond to? 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 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 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. 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. This looks like a user space problem to me, apparently it loads the wrong module at startup. 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. OK (Are you actually sure that your TPM complies with the spec?) 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 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& [1] 23866 mdoube@doris:~$ TCSD ERROR: fopen(/etc/tcsd.conf): Permission denied ^C [1]+ Exit 4 tcsd -f mdoube@doris:~$ sudo tcsd -f& [1] 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 Created attachment 38072 [details]
DSDT of Vaio SZ650
Apparently the DSDT can be useful for TPM driver development, so I attach it here
Is the problem still present in 2.6.37? 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. OK, closing as unreproducible. 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 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 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? (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. Is this bug still valid? If not, I will close it down. Thanks. |