# intel tpm (tpm_tis) [SOLVED]

## deian

looking briefly at tpm_tis.c, support for the intel tpm was added:

```

static struct pnp_device_id tpm_pnp_tbl[] __devinitdata = {

        {"PNP0C31", 0},         /* TPM */

        {"ATM1200", 0},         /* Atmel */

        {"IFX0102", 0},         /* Infineon */

        {"BCM0101", 0},         /* Broadcom */

        {"BCM0102", 0},         /* Broadcom */

        {"NSC1200", 0},         /* National */

        {"ICO0102", 0},         /* Intel */

        /* Add new here */

        {"", 0},                /* User Specified */

        {"", 0}                 /* Terminator */

};

```

my kernel tcg configurations

```

# grep -i tcg /usr/src/linux/.config

CONFIG_TCG_TPM=m

CONFIG_TCG_TIS=m

CONFIG_TCG_NSC=m

CONFIG_TCG_ATMEL=m

CONFIG_TCG_INFINEON=m

```

Machine: Lenovo Thinkpad T400

dsdt.dsl disassembled from /proc/acpi/dsdsl

```

 Device (TPM)

 {   

     Method (_HID, 0, NotSerialized)

     {   

         TPHY (0x00)

         If (LEqual (TPMV, 0x01))

         {   

             Return (0x0201D824)

         }  

         If (LEqual (TPMV, 0x02))

         {   

             Return (0x0435CF4D)

         }  

         If (LEqual (TPMV, 0x03))

         {   

             Return (0x02016D08)

         }  

         If (LEqual (TPMV, 0x04))

         {   

             Return (0x01016D08)

         }  

         If (LOr (LEqual (TPMV, 0x05), LEqual (TPMV, 0x06)))

         {   

             Return (0x0010A35C)

         }  

         If (LEqual (TPMV, 0x08))

         {   

             Return (0x00128D06)

         }  

         If (LEqual (TPMV, 0x09))

         {   

             Return ("INTC0102")

         }  

         Return (0x310CD041)

     }

     Name (_CID, EisaId ("PNP0C31"))

     Name (_UID, 0x01)

     Method (_STA, 0, NotSerialized)

     {

        ....

```

so I loaded:

```

modprobe tpm

modprobe tpm_bios

modprobe tpm_tis force=1 interrupts=0 hid=ICO0102

```

and got the following (dmesg):

```

[ 1009.046419] tpm_tis tpm_tis: 1.2 TPM (device-id 0x1020, rev-id 6)

[ 1009.059945] tpm_tis tpm_tis: tpm_transmit: tpm_send: error 4294967291

[ 1009.060032] tpm_tis tpm_tis: tpm_transmit: tpm_send: error 4294967291

[ 1009.060316] tpm_tis tpm_tis: tpm_transmit: tpm_send: error 4294967291

[ 1009.061142] tpm_tis tpm_tis: tpm_transmit: tpm_send: error 4294967291

```

ofcourse none of the tpm tools work

anybody get it to work or was in a similar situation?

tiaLast edited by deian on Thu Feb 19, 2009 12:34 am; edited 1 time in total

----------

## deian

Found a fix and posted it on the wiki: http://en.gentoo-wiki.com/wiki/Lenovo_ThinkPad_T400#iTPM

----------

