我有一个“常规字符设备” - 不确定正确的命名 - 不支持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]
这会创建一个pty
on/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
在设备上尝试了各种选项,但到目前为止还没有运气。甚至不确定这是否是正确的方法,或者是否有其他工具可以做到这一点。