使用 socat 将字符设备链接到 pty

使用 socat 将字符设备链接到 pty

我有一个“常规字符设备” - 不确定正确的命名 - 不支持ioctl嵌入式设备 ( /dev/appvcom)。我需要使用一个应用程序连接到它,该应用程序ioctl在连接失败时使用一些命令。我相当确定这些命令不会执行任何重要操作,因此我尝试将设备“包装”在pty.

这是我尝试过的:

# socat -dd pty /dev/appvcom
2020/03/05 18:45:13 socat[1616] N PTY is /dev/pts/1
2020/03/05 18:45:13 socat[1616] N opening character device "/dev/appvcom" for reading and writing
2020/03/05 18:45:13 socat[1616] N starting data transfer loop with FDs [5,5] and [7,7]

这会创建一个ptyon/dev/pts/1或类似的。我现在可以连接screen到新创建的pty.问题是阅读作品pty很好,但写作似乎不起作用。我还通过直接向设备回显来确认这一点pty

# echo -e 'AT\r' > /dev/appvcom    // works, can see OK reply from device in cat or screen
# echo -e 'AT\r' > /dev/pts/1      // no reply :(

我已经socat在设备上尝试了各种选项,但到目前为止还没有运气。甚至不确定这是否是正确的方法,或者是否有其他工具可以做到这一点。

相关内容