Поддержка CAN FD для Virtual CAN (vcan) на SocketCAN

Я уже давно пользуюсь SocketCAN и особенно Virtual CAN vcan. Однако до сих пор я никогда не использовал CAN FD (Flexible Datarate).

Ну, я попробовал это сегодня утром, используя can-utils:

cansend vcan0 123##122

Тем не менее, я получил ответ "CAN интерфейс не поддерживает CAN FD". Интерфейс vcan был создан с использованием следующих команд терминала:

ip link add dev vcan0 type vcan
ip link set up vcan0

Кто-нибудь знает, поддерживает ли Vcan CAN FD? Если да, как мне настроить интерфейс vcan, поддерживающий CAN FD?

Конфигурация системы: Ubuntu 14.04.1 на VirtualBox.

Заранее спасибо, мав

2 ответа

Мой коллега нашел решение:

ip link add dev vcan0 type vcan
ip link set vcan0 mtu 72

Опция "mtu 72" устанавливает правильный максимальный размер передачи для CAN FD. После этого vcan принимает сообщения CAN FD.

MAW

Отличная находка, MAW!

Это работает как шарм. Вот что я сделал, следуя твоему совету. Пожалуйста, обратите внимание, что команды являются общими и что есть подготовка среды, в которую я НЕ хочу входить!

Чтобы установить каркас socketCAN под ядро ​​Linux (я использую 4.17.2), пожалуйста, от имени пользователя root:

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 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

Отлично! Спасибо вам большое!

никто

Другие вопросы по тегам