4

我已经设置了两个 vcan 设备,我想将它们视为连接在一起。我希望能够使用 can-utils candump 在一条线上收听,并从另一条线发送 can 消息。如果没有物理设备,我怎么能做到这一点?

为了澄清起见,我正在编写软件来通过我已经能够进行的 CAN 进行通信,但是为了方便实际的数据收集和进一步开发,我需要两个可以启用的设备相互通信。虽然现实世界中的一个简单解决方案是通过将设备物理连接在一起来解决的,但我需要一个可以在计算机上运行的编程解决方案。

4

1 回答 1

11

添加can网关内核模块:

sudo modprobe can-gw

然后通过 can-utils 附带的 cangw 为各个接口创建网关规则。
例如,对于从 vcan0 到 vcan1 的路由消息:

sudo cangw -A -s vcan0 -d vcan1 -e 

反之亦然:

sudo cangw -A -s vcan1 -d vcan0 -e

现在您将能够看到在 vcan0 上也在 vcan1 上发送的所有消息,反之亦然。

于 2019-01-22T08:58:48.537 回答