Как мы эмулируем виртуальные устройства CAN с хоста на эмулятор Android? - PullRequest
1 голос
/ 04 июня 2019

У меня есть виртуальный CAN (vcan0, vcan1) в моем хосте Linux. Я хочу сделать их доступными в виртуальном устройстве Android (AVD). Я создаю AVD с помощью AVD Manager в Androi Studio. Однако я не могу заставить это работать.

Я создаю устройства Virtual CAN в моем хосте Linux с помощью следующих команд:

modprobe can
modprobe can_raw
modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0
ip link show vcan0

Приведенные выше команды взяты из SocketCAN wiki .

Я попытался эмулировать vcan0 внутри эмулируемого Android с помощью следующей команды, но это не сработало:

~/Android/Sdk/tools/emulator -avd Soham_Device_API_25 -qemu -device can_pci,canbus=canbus0,host=vcan0

или

 ~/Android/Sdk/tools/emulator -avd Soham_Device_API_25 -qemu -device -device mioe3680_pci,canbus1=canbus0,host1=vcan0

и многие другие. Но ни один из них не работает и выдает сообщения об ошибках типа 'can_pci' is not a valid device model name и Device 'vcan0' not found. Тем не менее, я проверил с помощью тестового приложения, что vcan0 и vcan1 работают в моем хосте Linux. Кто-нибудь знает, как включить этот vcan0 внутри эмулируемого Android?

...