- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Last time I change cypress bulk to isochronous mode. Detail refer to https://community.cypress.com/t5/USB-Superspeed-Peripherals/how-to-change-bulk-to-isochronous-mode-i...
I find ubuntu16.04 + cypress(Isochronous ) can only open single camera. if open multiple cameras simultaneously, the first camera works well, but next camera will report "VIDIOC_STREAMON failed 28, No space left on device."
kernlog shows:
Apr 20 12:31:52 ecu kernel: [66731.190810] usb 10-3: Not enough bandwidth for new device state.
Apr 20 12:31:52 ecu kernel: [66731.190831] usb 10-3: Not enough bandwidth for altsetting 1
Is the cypress code needs some changes for bandwitdth setting?
Could you help to check the attach file and help to fix it ?
Appreciate for your help!
Jun
Solved! Go to Solution.
- Labels:
-
USB Superspeed Peripherals
- Tags:
- isochronous
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Jun,
Please note that the periodic endpoints (like interrupt/isochronous) can be allocated up to 80% of the total available bandwidth on SuperSpeed.
Please refer to this link with the explanation. As mentioned by you the bandwidth requirement from the USB descriptors is ~ 0.9Gbps and the video bandwidth is ~ 0.7Gbps (which not big difference). To use only ~0.7Gbps (video bandwidth) bandwidth you can try using UVC_QUIRK_FIX_BANDWIDTH - which will try to estimate the bandwidth required for uncompressed streams instead on relying on the value reported by the camera.
If the host controller allocated bandwidth is not enough for the 3 cameras to stream simultaneously with the video resolution you mentioned then workarounds mentioned here can be followed
Rashi