Items with no label
3335 Discussions

USB SCP/REC overflow

SChop3
Novice
5,135 Views

Hello,

I'm working on connecting multiple Realsense cameras (D435) to a single computer. The PC I'm testing this on is a few years old now. When I connect two cameras and open the realsense viewer, one of the streams is stutter and delayed. It also occasionally displays USB REC Overflow or USB SCP Overflow. I had thought this may be a limit to the bandwidth of the USB 3 bus (I can remedy the situation by reducing the resolution of the camera). However, when I connect the same cameras to a newer PC I'm able to stream at full resolution without any issues -- I'm even able to add a third camera without a problem.

Therefore I'm putting it down to a limitation with the PC hardware.

I need to buy a new PC for this project. What is the limiting factor here? What should I spend the money on if I want to be able to reliably stream 2+ cameras? Googling the phrase hasn't given me anything valuable.

Any help greatly appreciated.

0 Kudos
6 Replies
MartyG
Honored Contributor III
2,002 Views

The latest powerful Intel NUC 8 mini-PC has multiple USB 3.0 ports, so could be a great choice for attaching multiple RealSense cameras to the same PC.

0 Kudos
AWit
Beginner
2,002 Views

My question is similar. I have a brand new PC (i7-8700K) dedicated to collecting data with 2 D435 cameras, but I get USB SCP (and sometimes REC) error, as well as occasional low FPS. Realsense Viewer version is v2.13.0, but I also tried v2.14.1. OS is Windows 10. According to the Resource Monitor, both CPU and RAM usage are below 50%.

Results change, depending on which two USB ports I use. There is a configuration that is *mostly* adequate (just infrequent drops in reported frame rate), but it's still not working as well as I believed it would. Worth noting that the best configuration uses what is reported in Realsense Viewer as a USB 3.0 connection and a USB 3.2 connection. The camera on the 3.0 connection has the occasional drops in frame rate. For one configuration, both cameras are reported as using USB 3.2, but I see a lot of USB SCP errors and low frame rates. I'm assuming that in that case the cameras are using the same USB controller.

Is that the critical hardware consideration? Does each camera need a dedicated USB 3.2 *controller* (and not just port)? Is there any better way to debug this than the trial and error that I've been going through?

0 Kudos
MartyG
Honored Contributor III
2,002 Views

If you are using a full PC and plugging the camera directly into the USB ports on the machine and not using a USB hub, then each port would normally have its own USB controller.

Not all USB ports are made equally, and performance on each USB port can vary, even on the same machine. The camera may work on one port but on another it may perform worse (e.g USB 2 mode) or not work on that port at all.

The minimum USB specification for RealSense is USB 3.0 - though the firmware updater software tool specifies a need for USB 3.1 for that particular application - and it also works with hubs.

A USB SCP case on this forum reduced their errors by reducing the resolution of their stream, and therefore reducing the amount of data passing through the USB cable at a given moment.

.

On another USB SCP overflow case over on the RealSense GitHub site, that user - who was using a USB extension cable rather than the supplied short USB able that came with the camera - reduced the number of errors by reducing the FPS of their stream.

https://github.com/IntelRealSense/librealsense/issues/2045 Working with a long USB 3.0 cable · Issue # 2045 · IntelRealSense/librealsense · GitHub

The common theme is that reducing resolution and / or FPS speed helps to stop the USB port from experiencing an overflow error.

AWit
Beginner
2,002 Views

Thank you. I looked over the linked posts. I would prefer to not reduce resolution and/or FPS, but I am still experiencing errors.

As mentioned, this is a fairly new computer (Dell with 8th Generation Intel® Core™ i7-8700K, 8GB RAM, and GeForce GTX 1050Ti), purchased specifically for collecting data from a pair of Realsense cameras. However, I can potentially upgrade components if I need to. The problem is that I don't understand where the bottleneck is. The CPU and RAM usage don't seem to be issues. I've tried a USB 3.0 PCIE expansion card and it didn't help. I am going to try a USB 3.1 expansion card, but I don't have high hopes. Do you have any suggestions for finding/confirming the bottleneck, or upgrading the hardware?

I understand if there's nothing more to add. Thanks, again, for your previous reply MartyG.

0 Kudos
MartyG
Honored Contributor III
2,002 Views

In these cases involving multiple cameras and apparent USB instability, I now recommend considering the purchase of an industrial grade USB hub, and perhaps industrial grade USB cables. These equipments are used in critical applications such as medical scanners, where instabilities such as frame drops cannot be allowed.

The supplier I recommend for industrial grade USB equipment proven to work with the 400 Series cameras is Newnex.

https://m.youtube.com/watch?v=GLQgR1jT04M https://m.youtube.com/watch?v=GLQgR1jT04M

0 Kudos
AWit
Beginner
2,002 Views

I am still working on my issue, but I just want to put the following (more current) posts here, in case anyone comes across this post:

https://github.com/IntelRealSense/librealsense/issues/2754 How to connect two D415 devices? · Issue # 2754 · IntelRealSense/librealsense · GitHub

The problem has not been solved, but is being actively discussed.

0 Kudos
Reply