-
Notifications
You must be signed in to change notification settings - Fork 227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Could not be recognized OAK-1 on Docker container #295
Comments
Thanks and sorry about the delay. We have experience getting DepthAI working in Dockers, but I don't think we have written it up yet. Slack (globally) was down today, which resulted in us not being able to discuss this as normal until now. Will circle back. I think we can get the instructions written up soon. And also, I wanted to say thanks for the great explanation/background here. Thanks again, |
I've hit the same situation, using Docker.
Afterwards, I tried new setup on non-Docker environment, and the output changed
At least, this might help for diagnosis, and I hope this help isolating the cause. |
Thanks @tomoaki0705 . And we are still discussing now how to do this the right way. Sorry about the delay. |
OK, we think we have summarized what we had iterated on internally and with a customer WRT getting Docker to work in a similar (same?) situation. We are now testing it. But in the meantime: We think it boils down to: (For Linux as far as I know)
The following should configure, compile and install libusb without udev:
And at the end set the LD_LIBRARY_PATH to the installation directory. We're not exactly sure if that export will persist from docker build to docker usage - might rather replace with @xtechnicianx is going through and testing/characterizing this. |
Sorry for the late follow up, was out of office most of Wednesday, and a good portion of Thursday. Took some time to look at this earlier today, but was not successful yet. Whether I update the Dockerfile to build the libusb driver when building the container, or doing it after, it does not seem to work with the above mentioned steps. Most of my testing has been done using Ubuntu 20.04.1. But I've also tried with a variety of host OS (including Kali 2020.4, macOS, Windows 10, and virtualized Ubuntu). The outcome is the same across all. My testing was strictly with the demo file. Running
When trying to interact with the hardware I see two errors. If I don't build libusb without udev, then I get err no 5, then I see err no 3. When I build libusb I seem to only get err no 3.
I'm utilizing the cgroup rule to properly detect hardware across reconnects (or the USB2/USB3 switch) when the camera inits. The above cgroup rule has a minor typo, it's missing the closing ', it should be I tried running docker with and without I plan to dig in more, but wanted to provide an update on what I've tried so far. |
Oh, here's the Dockerfile I used (extension added to satisfy GitHub reqs). And sorry I didn't include the full output from err no 5, as I'm not in front of that computer. Working from notes I made earlier. |
@yoneken It may be possible that the Could you try running these commands taken from our system dependencies install script:
In addition, please unplug and reinsert the USB cable after running the commands. https://docs.luxonis.com/en/latest/pages/api/#installing-system-dependencies |
@alex-luxonis Thank you for your quick reply! |
@atinfinity - so as an update we're making a better Docker support system, you can see luxonis/depthai-docs-website#115 . |
@atinfinity - we just got this cleanly working so that you can use Docker now (theoretically) without issue. Sorry about the delay, this one turned out to be tricky! We will get updated instructions here shortly. I just saw this PR merge: https://github.com/luxonis/depthai-docs-website/pull/135/files |
More updates on documenting this here: luxonis/depthai-docs-website#137 |
Resolves luxonis/depthai#295 Build libusb without udev support in the container since udev is typically not run inside containers
@Luxonis-Brandon Thank you for your help! I refered to luxonis/depthai-python#100.
|
Thanks for the questions on this. I think @pamolloy is still in the process of documenting how to use everything. It will be great to have you try this out so we can refine it. So thanks for doing so. Pinging him offline now. Thanks again, |
Hi @atinfinity, It's great to hear that it worked for you!
Unfortunately, Docker always needs to be run as root. That is a requirement based on how they implemented their container runtime. However, there are other runtimes like podman that don't have that requirement. One of our customers has successfully used podman with some extra work, but we don't officially support it yet. 🤞 I'll get to it soon!
The Dockerfile for the base image is located under depthai-docs-website/ci/Dockerfile. I've added a link to it on the depthai-base Docker Hub repository. |
Resolves luxonis/depthai#295 Build libusb without udev support in the container since udev is typically not run inside containers
Resolves luxonis/depthai#295 Build libusb without udev support in the container since udev is typically not run inside containers
Resolves luxonis/depthai#295 Build libusb without udev support in the container since udev is typically not run inside containers
Resolves luxonis/depthai#295 Build libusb without udev support in the container since udev is typically not run inside containers
Resolves luxonis/depthai#295 Build libusb without udev support in the container since udev is typically not run inside containers
Resolves luxonis/depthai#295 Build libusb without udev support in the container since udev is typically not run inside containers
Resolves luxonis/depthai#295 Build libusb without udev support in the container since udev is typically not run inside containers
Resolves luxonis/depthai#295 Build libusb without udev support in the container since udev is typically not run inside containers
Resolves luxonis/depthai#295 Build libusb without udev support in the container since udev is typically not run inside containers
Resolves luxonis/depthai#295 Build libusb without udev support in the container since udev is typically not run inside containers
FW YoloV5 support and stability updates
Still having this issue even after running
|
Description of the bug
I tried to use depthai with OAK-1 on Docker container.
But, OAK-1 could not be recognized.
Steps to reproduce the bug
I upload my Dockerfile.
https://gist.github.com/atinfinity/c3255077e23164438c19544687e05b84
System information (version)
Device
Host
Docker Container
Reference
The text was updated successfully, but these errors were encountered: