vcan0 接口 linux 通信
vcan0 interface linux communication
Linux支持虚拟can接口。它由以下人员启用:
modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ifconfig vcan0 up
同时使用 cam-utils
例如 camsniffer
和 cansend
cansend vcan0 321#1212
cansniffer vcan0
我能看到can数据包;但仅限于同一主机内。我试过 Ubuntu VirtualBox 机器。来宾和主机 OS 都使用仅主机适配器 vboxnet0
互连。
也尝试了 SocketCAN socket(PF_CAN, SOCK_RAW, CAN_RAW)
但无法在其他机器上接收(在同一台机器上工作)在尝试使用广播管理器 socket(PF_CAN, SOCK_DGRAM, CAN_BCM)
执行 stderr
时说不支持操作
简单地说,可以在 Linux 主机之间发送和接收 CAN 数据包吗?它的虚拟机(vboxnet0)或物理连接(以太网)无关紧要。
注意:我分别使用 Ubuntu 16.04 和 12.04 作为 Host 和 Guest OS。
CAN 使用自己的物理总线。 vcan
设备设计用于测试通过总线通信而无需实际物理连接的软件,它们实际上并非由管理程序提供,而是 SocketCAN 的一部分。
从外观上看,您正试图在 Virtualbox 中建立虚拟 CAN 总线,将多台机器连接在一起,就好像它们都有 CAN 控制器并连接到物理总线一样。我看过了,但似乎不存在这样的功能,而且除了为 VirtualBox 编写扩展之外,可能不太可能。
您希望使用 CAN 有什么具体原因吗?试图从 ECU 中提取数据或与具有 CAN 控制器的嵌入式硬件通信?就台式机通信而言,以太网更方便、更快速,并且得到很好的支持。
Linux支持虚拟can接口。它由以下人员启用:
modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ifconfig vcan0 up
同时使用 cam-utils
例如 camsniffer
和 cansend
cansend vcan0 321#1212
cansniffer vcan0
我能看到can数据包;但仅限于同一主机内。我试过 Ubuntu VirtualBox 机器。来宾和主机 OS 都使用仅主机适配器 vboxnet0
互连。
也尝试了 SocketCAN socket(PF_CAN, SOCK_RAW, CAN_RAW)
但无法在其他机器上接收(在同一台机器上工作)在尝试使用广播管理器 socket(PF_CAN, SOCK_DGRAM, CAN_BCM)
执行 stderr
时说不支持操作
简单地说,可以在 Linux 主机之间发送和接收 CAN 数据包吗?它的虚拟机(vboxnet0)或物理连接(以太网)无关紧要。
注意:我分别使用 Ubuntu 16.04 和 12.04 作为 Host 和 Guest OS。
CAN 使用自己的物理总线。 vcan
设备设计用于测试通过总线通信而无需实际物理连接的软件,它们实际上并非由管理程序提供,而是 SocketCAN 的一部分。
从外观上看,您正试图在 Virtualbox 中建立虚拟 CAN 总线,将多台机器连接在一起,就好像它们都有 CAN 控制器并连接到物理总线一样。我看过了,但似乎不存在这样的功能,而且除了为 VirtualBox 编写扩展之外,可能不太可能。
您希望使用 CAN 有什么具体原因吗?试图从 ECU 中提取数据或与具有 CAN 控制器的嵌入式硬件通信?就台式机通信而言,以太网更方便、更快速,并且得到很好的支持。