Re: TPM drivers support and Linux Integrity Module for 2.6.30

From: Rajiv Andrade
Date: Sat Jun 13 2009 - 23:55:56 EST


Hi Mimi, thanks for copying us.

Shaz,

If this is the same chip we find in the GM45 boards, iTPM, the upstream driver won't work properly with it.
Mainly because this iTPM returns the wrong status code when the driver didn't finish sending all bytes required for a specific command.
As suggested by Seiji Munetoh in the tpmdd-devel sf mailing list, you can modify line 263 of tpm_tis.c as below:

- if ((status & TPM_STS_DATA_EXPECT) == 0) {
+ if ((status & TPM_STS_VALID) == 0) {


Then, after compiling it, since it also seems to not support PNP, load it with force option on:

modprobe tpm_tis force=1

If modprobe fails the first time, try the second and then it will work.

I'm going to submit a patch to make the upstream driver work with it, making this line depend on a module param too..

Thanks,
Rajiv

Mimi Zohar wrote:
On Fri, 2009-06-12 at 11:59 +0600, Shahbaz Khan wrote:
Hi,

I am using Intel Q45 Express chipset with TPM version 1.2 specs of
TCG. The kernel version is 2.6.30. Problem is that the TPM drivers
cannot provide functionality to the TCG TSS giving error message:

"TCSD TDDL ERROR: Could not find a device to open!"

The device node in /dev is also not being created which should be
"/dev/tpm". If created manually then still it does not work.

What should be done?

Thanks.

--
Shaz

This is a device driver issue. Copying the TPM maintainers and the
forum.

Mimi


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