- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
-
Hardware
-
host: PC, ubuntu 20.04
-
slave: sg130gs(1280*720, YUYV, 30fps) + fpga(spartan 6) + cyusb3014, isochronous mode
-
-
Problem
-
Can't open the third camera with error(No space left). while currently the bandwidth of one camera is about 8 * 2 * 1024 * (1000000 / 125) / (1024**2) = 125Mbps(bInterval=1, bMaxBurst=7, Mult=1), for two is 250Mbps, much less than 90%(from USB3.0 spec) of the 5000Mbps, why can't it allocate bandwidth for the third camera?
-
Thanks
Solved! Go to Solution.
- Labels:
-
USB Superspeed Peripherals
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Thank you for the updates
The problem seems to be same as mentioned in this thread Solved: ubuntu host + cypress Isochronous mode can't open... - Infineon Developer Community
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello
Please refer to a similar thread Solved: ubuntu host + cypress Isochronous mode can't open... - Cypress Developer Community .
Please note that the periodic endpoints (like interrupt/isochronous) can be allocated up to 80% of the total available bandwidth for SuperSpeed
If the host controller cannot allocate the bandwidth , the no space left error is seen.
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, Rashi
- I've read this thread
- Should be up to 90% for super speed device
- Do you mean that it may be caused by the limitations of the host controller or driver?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Do you mean that it may be caused by the limitations of the host controller or driver?
>> In the thread we could conclude that the problem was due to the host controller limitations.
In your application to confirm this, we need to check the behavior when video resolution is reduced or streaming through bulk endpoint is done. Can you please let me know if the issue with three cameras is seen when streaming through bulk endpoint is done?
Also, the endpoint bandwidth of one camera device is 16KB/125 us ~ 131 MBps (mega bytes per second). Is my understanding correct?
5Gbps (640 MBps) is the theoretical bandwidth. Also, the video bandwidth is ~52 MBps (1280*720*2*30) , so you can try reducing the endpoint bandwidth.
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- In bulk mode, three cameras work fine
- Yes, you're right. In this setting, the bandwidth is around 125MBps. There is still much space for three cameras 3*125 < 625 * 0.9
- I've tried to further reduce bMaxBurst or Mult, but the camera would not work. and the dmesg outputs something like "Dropping ......"
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please find my comments below:
- In bulk mode, three cameras work fine
>> As in the bulk mode all the three cameras work fine, it seems that the problem is same as the one in the thread shared earlier.
Yes, you're right. In this setting, the bandwidth is around 125MBps. There is still much space for three cameras 3*125 < 625 * 0.9
>> Please note that 5Gbps (640 MBps) is the theoretical bandwidth for USB 3.0 and not the practical bandwidth.
I've tried to further reduce bMaxBurst or Mult, but the camera would not work. and the dmesg outputs something like "Dropping ......"
>> Can you please let me know if there are commit buffer failures in the UART debug prints from FX3?
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Rashi, currently this is not the obstacle for my application, I just curious about it, you may close this thread.
For your third question, If I reduce the bMaxBurst to 6 and Mult is still 1, the debug output is as below
Entering USB Suspend Mode
Leaving Suspend Mode
Application Started
DMA Reset Event: Commit buffer failure
Application Stopped
Application Started
DMA Reset Event: Commit buffer failure
Application Stopped
Application Started
DMA Reset Event: Commit buffer failure
Application Stopped
Application Started
DMA Reset Event: Commit buffer failure
Application Stopped
*** repeat ***
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Thank you for the updates
The problem seems to be same as mentioned in this thread Solved: ubuntu host + cypress Isochronous mode can't open... - Infineon Developer Community
Rashi