Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

Installation under VirtualBox?

idata
Employee
2,346 Views

Hello,

 

I am trying to get the Movidius NCS SDK running under VirtualBox. I've installed Ubuntu 16.04 and also the VirtualBox USB extension (only for version 5 or higher…) that supports USB 3.0, and I have enabled USB 3.0 support. I can mount an NCS stick (eg by selecting the device in the Devices menu) and it shows up when I do lsusb (with USB ID 040e:f63b MCCI). It also seems I can use other USB 3.0 devices. Unfortunately… when I do "make example01" I get the following output:

 

echo "example01 - GoogleNet profiling" example01 - GoogleNet profiling python3 ./mvNCProfile.pyc data/googlenet.prototxt -s 12 mvNCProfile v02.00, Copyright @ Movidius Ltd 2016 [Error 7] Toolkit Error: USB Failure. Code: No devices found

 

I do have another laptop that I can boot into Ubuntu 16.04 directly (and I've managed to get the Movidius SDK running on that machines and several other Ubuntu machines) but I'd like to avoid having to carry around two laptops. My Windows 10 machine is a managed corporate laptop and I don't have the option to install a dual-boot configuration.

 

Any ideas on how to proceed? Is this impossible? Is there another VM solution that is known to work?

0 Kudos
21 Replies
idata
Employee
1,783 Views

Also, "./ncs-check -1" returns:

 

OpenDevice 2 failed, rc=-2
0 Kudos
idata
Employee
1,783 Views

PS It helps to plug it in ;). When I didn't plug it in I got "No device found" so it seems to connect at some level.

 

However, the "No devices found" error from example01 I get whether it's plugged in or not.
0 Kudos
idata
Employee
1,783 Views

Seems this question has been asked before; sorry I overlooked it. See https://ncsforum.movidius.com/discussion/123/ncs-sdk-virtual-machine-support#latest

 

The good news is that some people have apparently gotten it working using a USB2.0 hub, I'll try that… I've tried three different hubs (and an USB2.0 extension cable as well) with no luck so far, but it may be a power issue. I need to track down a powered USB2.0 hub…

 

The devices are showing up under lsusb but with ID 03e7:2150 (which I assume is the USB2.0 ID). But when I try to actually use it, it disconnects/shows up as busy. It shows up multiple times in the device selector, too. I also tried enabling ONLY USB2.0 support, but so far, no joy… but, oh well; VMs are not officially supported…. yet.

 

Anyway, I will follow up under the thread above.

0 Kudos
idata
Employee
1,783 Views

@mmccool You are correct. We don't recommend using a VM to run the SDK, although some users have made it work for them. The SDK and NCS was designed to be used with a machine running Ubuntu 16.04 natively, although VM support is something we are looking into.

0 Kudos
idata
Employee
1,783 Views

@Tome_at_Intel Any info on when we can expect support for VM's? I'm working on a mac so I would really appreciate to have this working from my VirtualBox.

0 Kudos
idata
Employee
1,783 Views

This may not be VM related but more of the USB disconnect issue a lot of folks are seeing.

0 Kudos
idata
Employee
1,783 Views

Most common cases with using VM's is related to USB connection. You're right @pisymbol but most probably with incorrectly set up VM they will not be able even to recognize NCS on the USB port and therefore can't reach the step with disconnection issue.

0 Kudos
idata
Employee
1,783 Views

@Wido, @mmccool, @pisymbol, The 1.09.00 release of the ncsdk on github now supports Virtual Machines per the instructions here: NCS VM configurations

0 Kudos
idata
Employee
1,783 Views

Thanks Neal. I have it working under docker too!

0 Kudos
idata
Employee
1,783 Views

@pisymbol, You're very welcome, and great to hear you got it working under docker too. Did you need to do anything special for docker?

0 Kudos
idata
Employee
1,783 Views

Still not working for me, tried all combinations for the latest 1.09 release using Virtualbox and docker on my Surface laptop running Windows 10. I am able to see the usb using lsusb -v, but device keeps getting disconnected on running any of the examples.

 

Bus 002 Device 006: ID 03e7:2150

 

Device Descriptor:

 

bLength 18

 

bDescriptorType 1

 

bcdUSB 2.00

 

bDeviceClass 0 (Defined at Interface lev

 

bDeviceSubClass 0

 

bDeviceProtocol 0

 

bMaxPacketSize0 64

 

idVendor 0x03e7

 

idProduct 0x2150

 

bcdDevice 0.01

 

iManufacturer 1 Movidius Ltd.

 

iProduct 2 Movidius MA2X5X

 

iSerial 3 03e72150

 

bNumConfigurations 1

 

Configuration Descriptor:

 

bLength 9

 

bDescriptorType 2

 

wTotalLength 32

 

bNumInterfaces 1

 

bConfigurationValue 1

 

iConfiguration 0

 

bmAttributes 0x80

 

(Bus Powered)

 

MaxPower 500mA

 

Interface Descriptor:

 

bLength 9

 

bDescriptorType 4

 

bInterfaceNumber 0

 

bAlternateSetting 0

 

bNumEndpoints 2

 

bInterfaceClass 255 Vendor Specific Class

 

bInterfaceSubClass 17

 

bInterfaceProtocol 255

 

iInterface 0

 

Endpoint Descriptor:

 

bLength 7

 

bDescriptorType 5

 

bEndpointAddress 0x81 EP 1 IN

 

bmAttributes 2

 

Transfer Type Bulk

 

Synch Type None

 

Usage Type Data

 

wMaxPacketSize 0x0200 1x 512 bytes

 

bInterval 0

 

Endpoint Descriptor:

 

bLength 7

 

bDescriptorType 5

 

bEndpointAddress 0x01 EP 1 OUT

 

bmAttributes 2

 

Transfer Type Bulk

 

Synch Type None

 

Usage Type Data

 

wMaxPacketSize 0x0200 1x 512 bytes

 

bInterval 0
0 Kudos
idata
Employee
1,783 Views

@gchauhan Regarding docker, have you tried the solution I posted in: https://ncsforum.movidius.com/discussion/315/linux-virtual-environment-for-ncs#latest?

0 Kudos
idata
Employee
1,783 Views

Please explain what docker is and where to get "Guest Extensions"

0 Kudos
idata
Employee
1,783 Views
0 Kudos
idata
Employee
1,783 Views

Is docker the only way to get this working right now? It seems like you are saying VirtualBox won't always work (but it might work better in next version of SDK) but Docker might work even if VirtualBox does not so Docker is worth trying. Is the eventual goal to get this working in VirtualBox?

 

I found Guest Extension but not sure it installed correctly.

 

If you need to see what is happening I can set up a remote session for you. When make examples is running, right after mvNCProfile shows up in the Terminal window the following error is shown: "[Error 7] Toolkit Error: USB Failure. Code: Error opening device." After it finishes, Movidius not showing up in lsusb but it does show up before running make examples. Sounds similar to what everyone else is reporting.

0 Kudos
idata
Employee
1,783 Views

@kwg, you don't need docker for running under VirtualBox. Please make sure you followed instructions here https://movidius.github.io/ncsdk/VirtualMachineConfig.html

 

Please make sure you have installed the extension pack from here http://download.virtualbox.org/virtualbox/5.2.0/Oracle_VM_VirtualBox_Extension_Pack-5.2.0-118431.vbox-extpack

0 Kudos
idata
Employee
1,783 Views

Installed the extension pack. Rebooted everything. Same message.

 

Have not tried Docker yet. If there is some reason to believe Docker will work then I will try it (too many steps; needs root login…ugh…Linux novice here). One reason I am thinking of trying Docker is that this might allow it to run in Chromebook too.

 

Please note that the menu in VirtualBox (Devices > USB > USB Settings) is grayed out. The menu has title bar that says USB and under it everything is gray. There is a check box "Enable USB Controller" that is checked by default (but gray) and 3 options under it: USB 1.1 (OHCI) Controller (selected by default), USB 2.0 (EHCI) Controller, and USB 3.0 (xHCI) Controller. I assume that I need to select USB 3.0 option to create correct filter but I can't.

 

USB has been a problem on VirtualBox for a long time. I wonder if this problem is related to some of the old problems discussed (I saw some forum discussions in 2011).

0 Kudos
idata
Employee
1,783 Views

It worked! I was doing two things wrong:

 

1) I was setting up the USB filters after VM launched. It seems that you can only set up the USB filters correctly BEFORE the VM launches.

 

2) I was only setting up one filter: For example, if it was plugged into a USB 3 port, I was only setting up one filter for USB 3. Strangely, it would say the NCS was on USB 2.0 when plugged into USB 3.0 port. For this and other reasons I don't understand, it seems like setting up both filters is absolutely necessary. Anyway, I had to plug and unplug a few times to show both types of USB settings on the same port; as stated in the instructions, USB 2 is Vendor 03E7 and Product 2150 and USB 3 is Vendor 040E and Product F63B. I was using the option to fill in settings automatically but I suppose you could type them in manually.

 

So, I think someone should add the following instruction: set up BOTH filters BEFORE launching VM.

 

I hope this helps. I am looking forward to learning how to use NCS.

0 Kudos
idata
Employee
1,783 Views

@Tome_at_Intel

 

Yes I tried all the links referenced on this thread and the main vm setup. I even got a USB hub with external power today to see if that resolves the issue. Still no luck in getting things to work inside VM or docker. My host machine is Microsoft Surface Pro Laptop running Windows 10. I have a separate linux box on which things run locally. I need to get things to work on my laptop so that I can showcase NCS in talks and demos. Any further pointers will be helpful.

0 Kudos
idata
Employee
1,533 Views

@gchauhan Are you getting same message "[Error 7] Toolkit Error: USB Failure. Code: Error opening device." or a different one?

 

I just found out that if you have multiple NCS you need to set up filters for each one.

0 Kudos
Reply