加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux上的软件串口环回

发布时间:2020-12-14 00:44:13 所属栏目:Linux 来源:网络整理
导读:目前,我需要开发一些程序,通过串行线路与cisco设备进行通信.我想在我的开发 linux机器上构建测试环境.所以,我找到了dynamips cisco模拟器.该仿真器可以通过串行线提供“-U / dev / ttyS0”选项.好吧,这会导致dynamips打开硬件串口并通过它进行通信.我能够通
目前,我需要开发一些程序,通过串行线路与cisco设备进行通信.我想在我的开发 linux机器上构建测试环境.所以,我找到了dynamips cisco模拟器.该仿真器可以通过串行线提供“-U / dev / ttyS0”选项.好吧,这会导致dynamips打开硬件串口并通过它进行通信.我能够通过串口客户端(如minicom)从另一台 Linux机器连接到这个硬件串口.

但是,由于我在两台linux机器上都使用了virtualbox,我通过virtualbox将串口转发到命名管道.这个方案似乎有效,但非常冗长.我正在寻找一种在单个linux机器上运行dynamips和minicom的方法.

我发现伪终端在我的情况下可能很有用.但是我试图用’-U / dev / ptmx’运行dynamips,然后用minicom连接创建/ dev / pts / …端口,反之亦然.在这两种情况下,我都有输入/输出错误.

解决方法

不幸的是,现代的伪终端并不那么容易.在使用posix_openpt()或open(“/ dev / ptmx”)打开主服务器之后,必须在主服务器及其相应的从服务器可用之前调用主服务器上的grantpt()和unlockpt(). (openpty()等实用程序函数简化了这一点.)

作为一种解决方法,可以使用方便的socat.

# terminal 1
socat pty:link=$PWD/pts unix-l:$PWD/ptm-pipe &
dynamips -U $PWD/pts

# terminal 2
socat unix:$PWD/ptm-pipe -

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读