我一直在使用SocketCAN,尤其是Virtual CAN vcan已经有相当长一段时间了。然而,到目前为止,我从未使用过CAN FD (灵活数据速率)。
好吧,我今天早上用can-utils试过了:
cansend vcan0 123##122
但是,我得到的响应是"CAN接口不支持CAN FD“。vcan接口是使用以下终端命令创建的:
ip link add dev vcan0 type vcan
ip link set up vcan0
有没有人知道vcan是否支持FD?如果是,如何设置支持CAN FD的vcan接口?
系统配置: VirtualBox上的Ubuntu 14.04.1。
提前谢谢你,奶奶
发布于 2016-04-13 14:25:57
我的一个同事找到了一个解决方案:
ip link add dev vcan0 type vcan
ip link set vcan0 mtu 72
选项"mtu 72“为CAN FD设置正确的最大传输大小。之后,vcan接受CAN FD消息。
最低工资
发布于 2018-07-17 16:10:07
太棒了,奶奶!
它是一种护身符。以下是我按照你的建议所做的。请注意,命令是通用的,并且有一个我不想讨论的环境准备!
要在Linux内核下设置socketCAN框架(我使用的是4.17.2),请以根用户身份:
lsmod | grep can
modprobe can
modprobe can_raw
modprobe can-bcm
modprobe can-dev
modprobe can-gw
modprobe vcan
lsmod | grep can
要设置socketCAN-Fd框架,应执行以下操作(也以root身份):
ip link add dev vcan0 type vcan
ip link set vcan0 mtu 72
ip link set dev vcan0 up
ifconfig
需要使用can-utils包来测试socketCAN-Fd框架。此外,还需要以下内容:https://github.com/mguentner/cannelloni
而且,一切都像瑞士时钟一样工作!:-)
在xmit方面: cangen -f vcan0 -v vcan0
2C3##0.25.5A.FF.1E.DC.BD.CB.42.25.5A.FF.1E.DC.BD.CB.42.25.5A.FF.1E.DC.BD.CB.42.25.5A.FF.1E.DC.BD.CB.42.25.5A.FF.1E.DC.BD.CB.42.25.5A.FF.1E.DC.BD.CB.42.25.5A.FF.1E.DC.BD.CB.42.25.5A.FF.1E.DC.BD.CB.42
在接收端: candump vcan0
vcan0 2C3 64 25 5A FF 1E DC BD CB 42 25 5A FF 1E DC BD CB 42
太棒了!非常感谢!
没有人
https://stackoverflow.com/questions/36568167
复制相似问题