frame

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Installation under VirtualBox?

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?

Comments

  • 21 Comments sorted by Votes Date Added
  • edited September 2017 Vote Up0Vote Down

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

     OpenDevice 2 failed, rc=-2
    
  • edited September 2017 Vote Up0Vote Down

    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.

  • edited September 2017 Vote Up0Vote Down

    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.

  • @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.

  • @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.

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

  • 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.

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

  • Thanks Neal. I have it working under docker too!

  • @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?

  • 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

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

  • 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.

  • @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

  • 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).

  • 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.

  • @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.

  • @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.

  • In case it helps someone. I have macbook air and struggled to get this working. Then I've added the apple USB host controller and one stick started to work. Then I noticed another stick appeared as a loopback device which I also added. I wanted to get multistick example working but only one stick was functioning properly. Then I noticed that the loopback device that appeared earlier on is tied to an individual serial number so after I have added the second one everything worked fine. Hope this helps and sorry for vague description. I am still a bit confused as to how exactly I got it working.

Sign In or Register to comment.