Linux SocketCAN 支持热插拔,但需要满足一些条件
要在 Linux 系统中实现 SocketCAN 的热插拔,你需要执行以下步骤:
sudo modprobe can_raw
sudo modprobe can_socket
install can_raw /sbin/modprobe --ignore-remove can_raw
install can_socket /sbin/modprobe --ignore-remove can_socket
net.ipv4.ip_forward = 1
net.ipv4.conf.all.can_forward = 1
sudo sysctl -p
现在,当你在系统中添加或移除 CAN 设备时,SocketCAN 应该能够自动处理这些更改。请注意,热插拔功能可能会受到硬件和驱动程序的限制,因此在某些情况下可能无法正常工作。在进行更改之前,请确保你了解你的硬件和驱动程序是否支持热插拔。