Виртуальный CAN bus адаптер в Linux

Очень удобной функцией является поддержка виртуальной CAN шины в Linux, что позволяет делать отладку ПО без реального интерфейса.

Это дает возможность создавать свои сети, соединяя виртуальные CAN адаптеры с реальными. Выгоды от этого очень много, если приходится работать с сетями без реальных устройств или разрабатывая собственный протокол.

Для того чтобы виртуальный адаптер заработал, необходимо добавить поддержку VCAN в ядре. На примере в Ubuntu это выглядит так:

$ sudo modprobe vcan

далее необходимо добавить адаптер

$ sudo ip link add dev vcan0 type vcan

и включить

$ sudo ip link set up vcan0

Не обязательно префикс v, можно добавить и без него

$ sudo ip link add dev can1 type vcan
$ sudo ip link set up can1

Для проверки вводим:

$ ip a

и если все пошло удачно, то получаем наш интерфейс в списке

can1: <NOARP,UP,LOWER_UP> mtu 72 qdisc noqueue state UNKNOWN group default qlen 1000
    link/can 

Для проверки можно отправить сообщение и прочитать его как будто с реальным интерфейсом.

Оставьте комментарий

Обратите внимание, что мы не будем показывать ваш адрес электронной почты другим пользователям и не будем использовать его для отправки нежелательных электронных писем.