如何在Linux中连接两个VCAN端口?
我已经设置了两个vcan设备,我希望将它们视为连接在一起。我希望能够使用can-utils-candump在一条线路上侦听,并从另一条线路发送can消息。没有物理设备我怎么能做到这一点如何在Linux中连接两个VCAN端口?,linux,virtual,can-bus,socketcan,canutils,Linux,Virtual,Can Bus,Socketcan,Canutils,我已经设置了两个vcan设备,我希望将它们视为连接在一起。我希望能够使用can-utils-candump在一条线路上侦听,并从另一条线路发送can消息。没有物理设备我怎么能做到这一点 为了澄清,我正在编写通过CAN进行通信的软件,我已经能够通过CAN进行通信,但为了便于实际数据收集和进一步开发,我需要两个能够通过CAN进行通信的设备。虽然在现实世界中是一个简单的解决方案,通过物理连接设备来解决,但我需要一个可在计算机上运行的编程解决方案。添加can网关内核模块: sudo modprobe c
为了澄清,我正在编写通过CAN进行通信的软件,我已经能够通过CAN进行通信,但为了便于实际数据收集和进一步开发,我需要两个能够通过CAN进行通信的设备。虽然在现实世界中是一个简单的解决方案,通过物理连接设备来解决,但我需要一个可在计算机上运行的编程解决方案。添加can网关内核模块:
sudo modprobe can-gw
然后通过can UTIL附带的cangw为各个接口创建网关规则。例如,要将消息从vcan0路由到vcan1:
sudo cangw -A -s vcan0 -d vcan1 -e
反过来说:
sudo cangw -A -s vcan1 -d vcan0 -e
现在,您将能够看到在vcan0上发送的所有消息以及在vcan1上发送的所有消息。这非常有效!您知道can gw的文档在哪里吗?我不确定是否存在文档。如果您在没有参数的情况下输入cangw,您将获得有关用法的详细信息和一些示例。在BBB上运行良好,连接can0和can1 cangw-A-s can0-d can1-e将不允许您设置此规则(如果modprobe无法设置)