我最近需要重置旧 APC UPS 的密码,这需要连接其专有串行电缆,按下重置按钮,然后通过串行接口使用默认用户名和密码登录。我将其连接到 R720XD 上的串行端口,并将端口传递到 Ubuntu VM。
我曾经stty
按照 APC 的文档配置串行端口,启动screen /dev/ttyS0 <options>
,然后开始工作。不知为何,输出一团糟。它似乎会拾取每次传输的前 3-4 个字符,然后错过其余字符。我尝试了minicom
同样的结果。
所以我做了一个环回测试 - 将 RX 和 TX 连接在一起 - 看看我发送的内容是否会返回。同样的问题。我将示波器连接到电线上,发现每个按键都正确发送;我可以看到它通过电线传输。但出于某种原因,大多数字符不会显示在 上screen
。
然后我发现,如果我cat /dev/ttyS0
在一个终端和echo alongstring > /dev/ttyS0
另一个终端上执行此操作,我就可以看到一切!
我最终只是让终端保持cat
打开状态以查看传入的字节,并在另一个终端中运行以发送按键,这工作得很好,而且比反复screen
使用要容易得多。使用这个成功重置了密码。echo
但现在我很好奇... 有人知道为什么screen
会minicom
这样吗?我尝试了 中的所有选项man
,但都没有成功。似乎还有其他东西将字节从缓冲区中拉出,但我不知道那是什么。