socat命令如何监听Linux串口设备通讯报文

如何通过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
socat命令如何监听Linux串口设备通讯报文_第1张图片
image.png

tpm2 resource manager (resourcemgr)默认占用/dev/tpm0
这里需要重新编译使其指向/tpm/mypty或/dev/pts/1设备上

你可能感兴趣的:(socat命令如何监听Linux串口设备通讯报文)