Linux cansequence 命令 - CAN 链路可靠性测试
介绍
cansequence 命令用于测试 CAN 链路的可靠性。发送端持续发送携带递增序列号的报文,接收端(-r 模式)校验序列号连续性,发现丢帧或乱序时输出错误信息。
cansequence 命令由 can-utils 软件包提供,在 Debian/Ubuntu 系统上可以使用如下命令进行安装。
sudo apt install can-utils
语法:
cansequence [<can-interface>] [options]
选项:
-e, --extended:发送扩展帧(29 位 ID)-i, --identifier=ID:CAN 标识符(默认2)--loop=COUNT:发送COUNT次后退出-p, --poll:发送时使用poll(2)等待缓冲区空间-q, --quit <num>:检测到<num>次序列错误后退出-r, --receive:以接收端模式运行-v, --verbose:详细输出(使用两次更加详细)-h, --help:显示帮助--version:显示版本信息
示例
1、在 can0 上持续发送递增序列号报文(发送端):
cansequence can0
2、在另一终端以接收端模式监听并校验:
cansequence -r can0
3、使用扩展帧,CAN ID 为 0x100:
cansequence -e -i 100 can0
4、发送 10000 帧后退出:
cansequence --loop=10000 can0
5、接收端模式,检测到 5 次序列错误后退出:
cansequence -r -q 5 -v can0
6、高负载发送,使用 poll 等待缓冲区:
cansequence -p -v -v can0