Debian/Ubuntu 上的 TPM 2.0

Mat*_*ada 5 kernel drivers tpm

我们正在运行带有 TPM 2.0 芯片的最新英特尔 NUC 之一(供应商是什么,我一直无法弄清楚)。目前我只是试图加载驱动程序以使其对系统可见,但到目前为止还没有骰子

我尝试过 Linux 内核 3.2、3.16 和 4.2。根据kernelnewbies内核 4.0 是引入 TPM 2.0 驱动程序的时候。

我当前加载驱动程序的步骤:

  • ls -la /lib/modules/`uname -r`/kernel/drivers/char/tpm 列出可用的 tpm 驱动程序
  • modprobe <items from above>. 很多人说 tpm_tis 是他们唯一需要的东西,但对我来说没有骰子
  • 检查/sys/class/tpm4.* 和/sys/class/misc/3.* 的 tpm0 硬件
  • 运行tcsd -f只是给我一个通信错误
  • 三重检查 BIOS 以查看是否启用了 TPM。它实际上是开箱即用的,这显然不应该是?

的输出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
Run Code Online (Sandbox Code Playgroud)

任何额外的步骤/方向/提示将不胜感激。

更新

我设法安装了 4.4 内核,它设法加载了驱动程序(我/sys/class/tpm/tpm0现在看到了 tpm0 )。但是运行tcsd -f给我以下错误:

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
Run Code Online (Sandbox Code Playgroud)

同样为了确保我拥有最新版本的裤子,我也从源代码编译了它,仍然没有骰子。我注意到的一件事是里面tpm0没有pcrs文件

Mat*_*ieu 5

我认为您的tpm工作正常(使用 进行检查dmesg | grep -i tpm),但tpm-tools仅与 tpm 1.2 设备兼容(来源)

存在一些新项目,它们可以帮助我们: