0

I have an application that needs several USB cameras. I know about the limitations of USB2.0's bandwidth, and have worked through a misunderstanding I had regarding USB2.0 devices on the USB3.0 bus (see my previous question: How to run USB2.0 devices on a USB3.0 hub and get USB3.0 bandwdith).

Now I am running with all USB3.0 cameras on a 3.0 bus and I find that even at very low resolution (160x120,MJPG) I still get the "no space left on device" error when attempting to connect a second camera. This is actually worse than when I run on a USB2.0 bus.

Note that I can run with one USB3.0 camera in 4K mode (4096x2160,MJPG) which certainly uses more bus bandwidth than two 160x120,MJPG streams would. So it doesn't appear to be a bandwidth limitation; its more like USB3.0 just doesn't want to connect more than one USB3.0 camera. I'm working with a Logitech BRIO.

Any ideas what I may be doing wrong? I'm running Ubuntu 16.04, and using v4l2 API directly.

Ed.
  • 928
  • 1
  • 10
  • 23
  • Yes, its entirely about programming. I have a v4l2 application (C++) that doesn't work with 3.0 cameras. – Ed. Nov 01 '17 at 13:13

1 Answers1

0

I would suggest you to take a look at linux driver for both: logitech BRIO usb driver and V4L2. Look for ENOSPC status - where it is returned and in what circumstrances. It is possible that driver for this camera is badly written and allows to connect only one of it - and it returns ENOSPC when you connect second camera.

user2699113
  • 4,262
  • 3
  • 25
  • 43