TPM 2.0 on Debian/Ubuntu
We are running one of the newest Intel NUCs with TPM 2.0 chip (what the vendor is, I haven't been able to figure out). At the moment I am just trying to load the drivers to get it visible to the system, but no dice so far
I have tried Linux Kernels 3.2, 3.16 and 4.2. According to kernelnewbies kernel 4.0 is when TPM 2.0 drivers were introduced.
My current steps to load drivers:
-
ls -la /lib/modules/`uname -r`/kernel/drivers/char/tpm
to list available tpm drivers -
modprobe <items from above>
. Plenty of people say that tpm_tis is the only thing they needed, but no dice for me - Checking
/sys/class/tpm
on 4.* and/sys/class/misc/
on 3.* for tpm0 hardware - Running
tcsd -f
just gives me a communication error - Triple checked the BIOS to see if TPM is enabled. It was actually enabled out of the box which apparently it isn't supposed to be?
Output of ls -la /lib/modules/`uname -r`/kernel/drivers/char/tpm
:
total 248
drwxr-xr-x 3 root root 4096 Dec 10 18:38 .
drwxr-xr-x 7 root root 4096 Dec 10 18:38 ..
drwxr-xr-x 2 root root 4096 Dec 10 18:38 st33zp24
-rw-r--r-- 1 root root 10984 Nov 18 05:26 tpm_atmel.ko
-rw-r--r-- 1 root root 11760 Nov 18 05:26 tpm_crb.ko
-rw-r--r-- 1 root root 11160 Nov 18 05:26 tpm_i2c_atmel.ko
-rw-r--r-- 1 root root 14904 Nov 18 05:26 tpm_i2c_infineon.ko
-rw-r--r-- 1 root root 20816 Nov 18 05:26 tpm_i2c_nuvoton.ko
-rw-r--r-- 1 root root 24808 Nov 18 05:26 tpm_infineon.ko
-rw-r--r-- 1 root root 66552 Nov 18 05:26 tpm.ko
-rw-r--r-- 1 root root 15784 Nov 18 05:26 tpm_nsc.ko
-rw-r--r-- 1 root root 31624 Nov 18 05:26 tpm_tis.ko
-rw-r--r-- 1 root root 14072 Nov 18 05:26 xen-tpmfront.ko
Any additional steps / direction / tips would be greatly appreciated.
Update
I managed to get 4.4 kernel installed, it manages to load up drivers (I see tpm0 in /sys/class/tpm/tpm0
now). But running tcsd -f
give me the following error:
TCSD TDDL ioctl: (25) Inappropriate ioctl for device
TCSD TDDL Falling back to Read/Write device support.
TCSD TCS ERROR: TCS GetCapability failed with result = 0x1e
Also to make sure that I have the latest version of Trousers I compiled that from source as well, still no dice. One thing I have noticed is that inside tpm0
there is no pcrs
file
Solution 1:
I Think your tpm
is working (check it with dmesg | grep -i tpm
) but tpm-tools
is only compatible with tpm 1.2 devices (source).
Some new projects exists, may they help us:
- IBM: http://sourceforge.net/projects/ibmtpm20tss/
- Intel: https://github.com/01org/TPM2.0-TSS
- TSS2 based tpm2-tools: https://github.com/01org/tpm2.0-tools