ubuntu host + cypress Isochronous mode can't open multiple cameras simultaneously

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
juhu_4653696
Level 3
Level 3
25 replies posted 10 replies posted 10 sign-ins

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

0 Likes
1 Solution

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

Regards,
Rashi

View solution in original post

0 Likes
24 Replies