如何连接Linux中的两个VCAN端口?
How to connect two VCAN ports in Linux?
我设置了两个 vcan 设备,我想将它们视为连接在一起。我希望能够使用 can-utils candump 在一条线路上收听,并从另一条线路发送 can 消息。如果没有物理设备,我该怎么做?
为澄清起见,我正在编写软件以通过我已经具备的 CAN 进行通信,但为了便于实际数据收集和进一步开发,我需要两个启用 can 的设备相互通信。虽然在现实世界中是一个简单的解决方案,通过将设备物理连接在一起来解决,但我需要一个可以在计算机上运行的编程解决方案。
添加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 上看到所有在 vcan0 上发送的消息,反之亦然。
我设置了两个 vcan 设备,我想将它们视为连接在一起。我希望能够使用 can-utils candump 在一条线路上收听,并从另一条线路发送 can 消息。如果没有物理设备,我该怎么做?
为澄清起见,我正在编写软件以通过我已经具备的 CAN 进行通信,但为了便于实际数据收集和进一步开发,我需要两个启用 can 的设备相互通信。虽然在现实世界中是一个简单的解决方案,通过将设备物理连接在一起来解决,但我需要一个可以在计算机上运行的编程解决方案。
添加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 上看到所有在 vcan0 上发送的消息,反之亦然。