我的一个客户想确保我正在使用的 Linux 机器能够通过串行端口以 115200 位/秒的速度接收数据,而不会丢失任何数据。
是否有可用的软件可以做到这一点,还是我必须自己动手?
答案1
索卡特可以使用串行端口。一旦建立了该管道,您就可以以任意速率向其中传输任何内容。最简单的测试是执行以下几项操作:
pv /dev/zero | socat <options>
pv 会告诉您传输数据的速率。
答案2
这是一个古老的测试程序,其中提到测试串行线(每次我读到那部分时,我都想知道谁会这样做): http://www.scsifaq.org/RMiller_Tools/dt.html
但实际上,您所需要的只是一个可以生成一些数据的程序,然后验证它是否正确接收......您也可以传输一些大文件,然后验证它的完整性......(如果您通过串行端口推送数据并且没有启用流量控制,它将按照端口配置的速率进行传输,或者被损坏,因此性能不可能只会下降)
答案3
您可能会发现以下工具很有用(我曾将其用于此目的): https://github.com/cbrake/linux-serial-test
具体来说,您可以使用以下命令来强调串行端口:
linux-serial-test -s -e -p /dev/ttyS2 -b 115200
与串行环回电缆一起使用。它将报告它发现的任何错误 (-e),并且如果需要,每 5 秒左右报告一次运行日志 (-s)。