2016-05-10 3 views
0

Linux поддерживает виртуальный интерфейс. он был включен по:vcan0 интерфейс linux связь

modprobe vcan 
sudo ip link add dev vcan0 type vcan 
sudo ifconfig vcan0 up 

cam-utils При использовании таких как camsniffer и cansend

cansend vcan0 321#1212 
cansniffer vcan0 

я мог в состоянии увидеть, может пакеты; но только внутри одного хоста. Я попробовал машину Ubuntu VirtualBox. Как гостевая, так и хост-операционная система взаимосвязаны с использованием адаптера только для хоста vboxnet0.

попытался также SocketCAN socket(PF_CAN, SOCK_RAW, CAN_RAW), но не в состоянии получить на другой машине (работает в той же машине) При попытке с вещательной менеджером socket(PF_CAN, SOCK_DGRAM, CAN_BCM) на выполнение stderr говорит `операция не поддерживается

Просто, может один посылать и принимать пакеты CAN между Linux-хосты? Не имеет значения его виртуальная машина (vboxnet0) или физически подключенная (Ethernet).

Примечание: Я использовал Ubuntu 16.04 и 12.04 в качестве Host и гостевой ОС соответственно.

ответ

2

CAN использует свой собственный физический автобус. Устройства vcan предназначены для тестирования программного обеспечения, которое обменивается данными по шине, не требуя фактического физического соединения, но на самом деле они не предоставляются гипервизором, а являются частью SocketCAN.

По его мнению, вы пытаетесь установить виртуальную шину CAN в Virtualbox, соединяя несколько компьютеров вместе, как будто все они имеют CAN-контроллеры и подключены к физической шине. Я посмотрел, но похоже, что таких функций не существует, и помимо написания расширения для VirtualBox, вероятно, вряд ли.

Есть ли конкретная причина, по которой вы хотите использовать CAN? Попытка извлечь данные из ECU или связаться со встроенным оборудованием, имеющим CAN-контроллер? Что касается связи настольных ПК, ethernet намного удобнее, быстрее и хорошо поддерживается.

+0

Обучение настройке виртуальной среды для моделирования автомобилей. Пример, моделирование замков дверей. Программа записывается для переключения/разблокировки двери водителя; приводит к тому, что 3 оставшиеся двери получают сообщение CAN и автоматически блокируются/разблокируются. Программы показывают сообщение «Заблокировано/разблокировано» на экране. – Gopi

 Смежные вопросы

  • Нет связанных вопросов^_^