如何通过socat工具监听TPM2.0串口报文
文/阿群
实现方法是socat作为中间人, 将物理串口和虚拟串口串联起来
树莓派3开发板+英飞凌TPM2.0评估板, 开启SPI接口后TPM2.0设备节点是/dev/tpm0
树莓派下安装socat:
sudo apt install socat
命令:
sudo socat -d -x -b 1280 /dev/tpm0,ignoreeof \
PTY,link=/tmp/mypty,user=`whoami`,raw,echo=0,waitslave,ignoreeof
上述命令将/dev/tpm0
这个设备节点重定向到虚拟串口节点例如/dev/pts/1
, 创建符号连接/tmp/mypty
指向虚拟串口. 可以ls -l /dev/pts /tmp/mypty
检查一下
现在可以向串口/tmp/mypty随便写入一些报文观察
例如
export TPM2TOOLS_TCTI_NAME=device
export TPM2TOOLS_DEVICE_FILE=/tmp/mypty
tpm2_getrandom 8
tpm2 resource manager (resourcemgr)默认占用/dev/tpm0
这里需要重新编译使其指向/tpm/mypty或/dev/pts/1设备上