I’m using 2 sets of USB3.0_UC-425_ Rev.C+UC-489_Rev.C+OV5647 on a embedded board which have a Qualcomm SDA845 processor (Arm64). They look working well at the beginning but one of them gives error of USB_CAMERA_DATA_LEN in the middle. You’ve mentioned this kind of error is related with Bandwidth. The embedded board has 2 USB3-Controller and I think 2 camera sets should be working even with capturing 2592 x 1944 @ 15fps.
I’d like to check if the error is Bandwidth problem with capturing much smaller sized image and low capturing speed. However I can’t make a proper configuration file. ex. 640x480 Raw8@10fps. I’ve tried but doesn’t work. Could you help me to make it?
Sorry for my late reply. I have calculated. For USB3, the bandwidth is enough, I do not know how your board’s USB3 performance. Have you tested it on windows?
At present, we don’t have 640x480 raw8@10 config file. We will try to configure it recently.
I already have that mipi-adapter board but haven’t test it on my embedded board because there was a problem to run it. The problem is solved now . I will test soon and let you know. Thank you.
Have you tested it now? if the problem is still exist. We will try our best to help you configure a small resolution and low frame speed config file. Don’t worry.
I’ve tested with only 1 camera with a configuration file that make it run at 10fps on my embedded board. It looked working correctly at first but it finally gave USB_DATA_LEN errors after hours.
Do you think what kind of problem it is?
The data length of the compressed format is not fixed, and the data length of other formats is fixed.
When you see the USB_DATA_LEN error, it indicates that the received data length does not match the expected data length. If this error occurs occasionally, it may be because the USB bandwidth fluctuates or the CPU does not handle it in time. If this error keeps appearing, it means that the USB bandwidth is insufficient.
I’m still trying to run 2 sets of USB3.0_UC-425_ Rev.C+UC-628_Rev.B+OV5647 on a SDA845 embedded board. But the cameras give USB_CAMERA_DATA_LEN after some hours.
My team checked kernel level log and found out that “discardurb” shows up when the error occurs. My team thinks “discardurb” is from ArducamSDK. Do you have any idea for this?
Do you know what condition brings “discardurb”?
<6>[ 272.911100] usb 2-4: usbdev_do_ioctl: SUBMITURB
<6>[ 272.911140] usb 2-4: userurb 0000007f700221b0, ep2 bulk-in, length 131072
<6>[ 272.911204] usb 2-4: usbdev_do_ioctl: REAPURBNDELAY
<6>[ 272.911244] usb 2-4: reap 0000007f700222d0
<6>[ 272.911310] usb 2-4: usbdev_do_ioctl: SUBMITURB
<6>[ 272.911351] usb 2-4: userurb 0000007f700222d0, ep2 bulk-in, length 131072
<6>[ 272.911415] usb 2-4: usbdev_do_ioctl: REAPURBNDELAY
<6>[ 272.911455] usb 2-4: reap 0000007f700223f0
<6>[ 272.911522] usb 2-4: usbdev_do_ioctl: SUBMITURB
<6>[ 272.911562] usb 2-4: userurb 0000007f700223f0, ep2 bulk-in, length 131072
<6>[ 272.911626] usb 2-4: usbdev_do_ioctl: REAPURBNDELAY
<6>[ 272.912417] usb 2-4: usbdev_do_ioctl: SUBMITURB
<6>[ 272.912458] usb 2-4: control urb: bRequestType=40 bRequest=a2 wValue=0000 wIndex=0000 wLength=0000
<6>[ 272.912518] usb 2-4: userurb 0000007f7182b200, ep0 ctrl-out, length 0
<6>[ 272.912845] I[7: swapper/7: 0] usb 2-4: urb complete
<6>[ 272.912880] I[7: swapper/7: 0] usb 2-4: userurb 0000007f7182b200, ep0 ctrl-out, actual_length 0 status 0
<6>[ 272.912949] usb 2-4: usbdev_do_ioctl: REAPURBNDELAY
<6>[ 272.912988] usb 2-4: reap 0000007f7182b200
<6>[ 272.913027] usb 2-4: usbdev_do_ioctl: REAPURBNDELAY
<6>[ 272.913080] usb 2-4: usbdev_do_ioctl: DISCARDURB 0000007f70023590
<6>[ 272.913980] I[7: swapper/7: 0] usb 2-4: urb complete
<6>[ 272.914014] I[7: swapper/7: 0] usb 2-4: userurb 0000007f70023590, ep2 bulk-in, actual_length 0 status -2