Hi,
I'm trying to play with depthai OAK-D device I've received a few days ago. Great job by the way !
Unfortunately I can't make it work. My tesing host is an Ubuntu 20.04 running on a virtualBox on Windows 10. The device is correctly recognized as 'lsusb' command displays
$ lsusb
Bus 001 Device 003: ID 03e7:2485 Intel Movidius MyriadX
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The port is USB2 $ lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/12p, 480M
|__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 480M
But when I run the demo script I have the following error
$ python3 depthai_demo.py -fusb2
No calibration file. Using Calibration Defaults.
Using depthai module from: /home/chris/.local/lib/python3.8/site-packages/depthai.cpython-38-x86_64-linux-gnu.so
Depthai version installed: 0.4.1.1
Compiled mode found: compiled for 14 shaves, 14 cmx_slices and 1 NN_engines
FORCE USB2 MODE
XLink initialized.
Sending internal device firmware
Failed to find booted device after boot, err code 5
depthai: Error initializing xlink
['metaout', 'previewout']
Available streams: []
device is not initialized
Pipeline is not created.
Any idea of what I've done wrong ?
Thanks
Failed to find booted device after boot, err code 5
Thanks for the kind words and sorry about the delay!
So virtualbox has a bit of a tricky initial setup because the way we use USB2 for device discovery, firmware and neural network load, and then a new/different USB2/3 connection once the device is booted with the firmware and neural network/pipeline/etc. So the why
is the first USB2 connection is actually its own USB2 controller, which exists purely to allow the device to be discovered and boot over USB. Then once the device is booted, a totally different USB2 or USB3 interface is made.
So the process of getting virtualbox to work is a bit tricky, as you actually have to try running the pipeline, which then will make this new USB device appear, and while it is there (before the pipeline times out/gives up because Virtual box is blocking it), you have to add it as being passed through to virtualbox. How to do so is here:
https://docs.luxonis.com/en/latest/pages/faq/#how-to-use-depthai-under-virtualbox
So then you can permanently add this once you have done this, so that you never have to do it again.
Thoughts?
Thanks and sorry again about the delay,
Brandon
- Edited
Hi Brandon
Thank you for your help. I'm facing the same issue:
I've added the loopback permanently, as you've suggested in the FAQ.
But somehow it still doesn't work
Both the USB filters are added
Any thoughts?
---- never mind ---
I fixed it by setting the USB 3.0 controller, and a good 'old vbox reboot
kind regards Willem
WillemBressers Thanks for circling back with the solution and for the screen-share thumbs-up!
This solution worked a treat for me! Couldn't get the Intel Neural Compute Stick 2 working in a virtualbox vm. Kept getting the error "Failed to find booted device after boot"
Thanks very much for this solution!