-
Notifications
You must be signed in to change notification settings - Fork 66
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
Unknown: USB transfer error 1 [LibUsbDataInCallback] if process is kept running after inference. #41
Comments
Kernel Info: 5.15.0-56-generic #62~20.04.1-Ubuntu SMP CPU Info: |
Also as long as I don't run an inference, I can load the model and sleep the script for as long as I want without the error happening. As soon as a inference is run and the sleep starts, it will crash with the same error every time. If I run the inference in a loop, as long as they are running, it will not crash. This is the script with the sleeps before and after the inference. This is the logs from running the script above. |
The issue is not happenning on my Linux machine. Are you running on a virtual machine? If so, please try the same thing on native OS.
|
I don't have a physical machine with the same hardware as the host, in addition the kernel version is different. So even if it works on the physical machine, it doesn't tell me much because there's a bunch of other differences. Regardless, I need it to work on the virtual machine not a physical machine. The issue doesn't seem to be related to throughput because its not even processing anything. I am passing through the full USB 3.0 PCI card per what I've read in the forums. |
I moved it to a port on an onboard controller and just passed the port through and I don't have the issue anymore. I tried the card with just port pass through instead of full PCI pass through and I have the same issue. So it seems that there is and issue with the Coral USB and the ASM1042 USB 3.0 PCI card. The USB port pass through is not as fast as the PCI pass through but I really don't know what card to get, I have never had a device that was so picky about a USB PCI card. |
can you please share the inference time results for USB port pass through vs USB PCI card pass through. Thanks!! |
To give some background on what I am doing, I am processing images from security camera footage to check for objects. When an event is recorded, the code selects a set of images and runs it through object detection. Currently it loads the model for each event and processes the images and exits, but I want to hold the model loaded (to reduce the processing time) and submit the images via an HTTP API and that is where the problem is because it crashes as we have already discussed above. After running with the USB port passed through for a while with the model held loaded, it seemed to have just locked up at some point. I didn't get any logs for what happened at the time because there were way to many logs. So now I am back to the USB PCI card pass through loading the model on every run. I have seen it lock up when you interrupt an inference before its finished and it requires that you unplug the Coral and plug it back in (I have tried some USB reset script which didn't seem to work). Both of these tests were done with the same group of images. The model is loaded before each set and inference is run on each image 1 time. USB Port Passthrough: USB PCI Card Passthrough: Using the same model as above I also did the test with the examples/classify_image.py: USB Port Passthrough: USB PCI Card Passthrough: |
Description
I have a Ubuntu 20.04.5 LTS VM with a full USB 3.0 card passed through to it with nothing but the Coral USB plugged into the card. I am able to load a model and run as many inference's with as many different images as I want with no issue, but if I try to hold the process in order to keep the model loaded so I can run more inference's later without loading the model again, the process always dies with the same Unknown: USB transfer error 1 error at the same exact spot in the debug logs.
I don't think this has anything to do with the cable or heat as it happens in the same exact point in the debug logs and I can reproduce it in the with the same exact process every time.
I made a very simple way to reproduce this by adding a time.sleep(300) at the bottom of the examples/classify_image.py example script in the pycoral repo. See the full debug below:
Click to expand!
Issue Type
No response
Operating System
No response
Coral Device
No response
Other Devices
No response
Programming Language
No response
Relevant Log Output
The text was updated successfully, but these errors were encountered: