I am testing my NCStick in docker(18.09.7) containers on an Ubuntu 18.04 system.
I am running a python application that uses IENetwork & IEPlugin of OpenVino Python Inference Engine.
I have been able to get the NCStick working inside one of my containers by volume mounting /dev/dri & /dev/ion and running the container with network mode set to host.
However am facing the below issue when i try to do the same by not setting the network mode to host:
ncDeviceOpen:859 Device doesn't appear after boot
RuntimeError: Can not init Myriad device: NC_ERROR
As per online suggestions, i added more volume mounts such as /dev/bus/usb, /run/udev & /media/data2/NCS. I also added a UDEV:1 in environment.
I would also like to point out that checking for presence of lsusb using the productID for MyriadX returns a positive response:
lsusb | grep "03e7"
Bus 001 Device 008: ID 03e7:2485
However, am still running into the same issue with network_mode: host disabled.
Any help in this regard would be very much appreciated.
I believe "--network=host" is required for it to work with udev. Options "--volume /dev:/dev --privileged --network=host" usually work for me, though this configuration can be unsuitable for many use cases.
Another option is to use custom libusb built without udev support inside container. Official docker image should contain libusb built this way: openvino/ubuntu18_dev:latest (https://hub.docker.com/layers/openvino/ubuntu18_dev/latest/images/sha256-c11e308cb0807c8d612e7416aad53f52e5bf8d4735331c1b38c0c9917c1a0331)