Open steven-hz opened 4 years ago
Wouldn't that be because of usb bandwidth limitations?
What's a UVC? (Never assume people know abbreviations in your bug reports). Link to the particular 'UVC' you are using?
USB video device class: https://en.wikipedia.org/wiki/USB_video_device_class
When the errors are appearing, what is the output of sudo cat /sys/kernel/debug/usb/devices
?
Wouldn't that be because of usb bandwidth limitations?
Maybe it is, but how can I confirm this?
When the errors are appearing, what is the output of
sudo cat /sys/kernel/debug/usb/devices
?
This output will be given by next test cycle while now is testing 6 UVCS.
Wouldn't that be because of usb bandwidth limitations?
Maybe it is, but how can I confirm this?
Work out what the bandwidth each device is taking - video is fairly easy to approximate - video size, bit depth/pixel and fps gives you a basic number. Multiply it up by number of devices. Always assume that actual bandwidth of USB is about half the stated theoretical max. Drop a bit more for contention handling. Approximate, but useful numbers.
Bandwidth could indeed be an issue here. One of my colleagues has made a patch / workaround to be able to manually reduce the bandwith consumed by UVC. It might be worth trying/investigating.
If it solves your problem do let us know, as we're struggling to figure out a good way to solve this for upstream, generic use cases, so any feedback on it actually solving something real will be helpful.
https://www.thegoodpenguin.co.uk/blog/multiple-uvc-cameras-on-linux/
6 uvc can works fine with 2 powered hubs, but when the num of uvc is 8 , RP4B will report :
USB isochronous frame lost (-18).
[2020/05/11 16:17:43][ 575.912821] uvcvideo: USB isochronous frame lost (-18).
Then, the v4l2 api can't get the the random 2 video streams through VIDIOC_DQBUF cmd of ioctl.Follow is th log of lsusb and lsusb -v