4

有时我突然需要通过串行端口连接到设备的控制台。问题是,我从不记得每个特定设备要使用哪些端口设置(波特率、数据位、停止位等),而且文档似乎永远不会在真正需要的时候到处乱放。

我编写了一个 Python 脚本,它使用一种简单的蛮力方法(即遍历所有可能的设置,发送一些测试输入并显示响应以供人类决定是否有意义),但是:

  • 需要很长时间才能完成
  • 并不总是有效(可能是端口重置/超时问题)
  • 只是似乎不是这样做的正确方法:)

所以问题是:有人知道自动检测远程设备正在使用哪些端口设置的程序吗?

4

1 回答 1

1

尽管第 1 部分不能直接回答您的问题:

有些设备只包含自动检测(称为自动波特率)方法,这意味着:使用您当前的设置(9k6、115k2、..)向设备发送一个字符,设备很有可能会回答您的(!) 设置。我在 HP 交换机上看到了这一点。

第二种方法:尝试重新排序连接可能性。例如,另一端使用没有硬件握手的 9k6 的可能性很高,但它使用带有软件 Xon/Xoff 的 38k4 的可能性很小。

如果你把你的尝试分解成几个,“蛮力”方法会更有效率。

于 2012-09-15T11:23:26.510 回答