Items with no label
3335 Discussions

Frequent connection losses with RealSense D435

idata
Employee
3,305 Views

Hello togehter,

i`m using the D435 with the latest firmware update (5.10.3.0) and SDK 2.15.0.163 for a project.

My written software runs well, but only about 2 hours. After this time the D435 disconnects by

its own and I´ve to replug it and restart my application.

Sometimes it`s needy to reinstall the firmware update to get the device running after the

connection loss.

Additionally I`m using an active USB3-Hub in due to the reason that I need a length of 3m.

The Hub is powered by its own power supply.

Is there anybody out there who can help me to solve this problem?

Best regards and thanks in advance..

0 Kudos
5 Replies
MartyG
Honored Contributor III
1,563 Views

An industrial-grade USB hub and / or industrial-grade USB cables can help to extend running time when you are having problems. This equipment is used in critical applications such as medical scanners that cannot afford to drop frames. The company Newnex can supply industrial-grade equipment shown to be compatible with the 400 Series cameras. .

https://www.youtube.com/watch?v=GLQgR1jT04M&t=7s USB Extension for Intel RealSense D400 Series Camera - YouTube

The current known record by a user for continuously running a single RealSense camera with this grade of equipment is 4 days, though 3 days is a more realistic target. As more cameras are added to a hub (e.g 3 or 4 cameras), this time can reduce

Before you invest in such equipment though, there are other possibilities for instabilities that can be investigated. Details can be found in this recent discussion about long-duration use:

If dropped frames are not critical to your project and you just want to avoid the inconvenience of having to unplug and replug the camera to reset it, you can place a hardware_reset() instruction at the start of the script that can restart the camera without having to unplug-replug.

0 Kudos
idata
Employee
1,563 Views

Hello MartyG, thanks for your answer. I´ll test if it`s the cable, but today I discovered

the following exception: librealsense::windows_backend_exception which has been

thrown after the "USB-Disconnect-Sound". The camera ran about 2h without an error

before the connection loss. What does this exception mean?

I`m implementing the reset now, but why isn`t it possible to run the device without

any error for more than a view hours? I got a very cheap USB-Cam, just for comparing

reasons, which is running since 3,8 days now without disconnects.

0 Kudos
MartyG
Honored Contributor III
1,563 Views

RealSense cameras are sensitive to the state of the USB port, and can transmit a high volume of camera data through the USB cable (the higher the resolution and FPS used, the higher the data volume). So instabilities in the USB port or quality issues with the cable if you are using your own cable can introduce problems.

I cannot locate any reference to the cause of windows_backend_exception, only that the function exists. The best place to ask about this function would be on the RealSense GitHub site, where the RealSense engineers and developers reside. You can post a question there by going to the link below and clicking the 'New issue' button.

https://github.com/IntelRealSense/librealsense/issues Issues · IntelRealSense/librealsense · GitHub

I assume though that 'USB-Disconnect-Sound' refers to the sound effect that Windows makes when a USB device disconnects, and that the message is logging that a disconnect has taken place.

0 Kudos
idata
Employee
1,563 Views

Hi MartyG,

thanks for the link. I`ll post my problem there. Just if someone is interested in,

here`s my callstack:

Ausnahme ausgelöst bei 0x00007FFB76613C58 in NativeApplicationTest.exe: Microsoft C++-Ausnahme: librealsense::windows_backend_exception bei Speicherort 0x000000F0BBAFCF50.

Ausnahme ausgelöst bei 0x00007FFB76613C58 in NativeApplicationTest.exe: Microsoft C++-Ausnahme: std::runtime_error bei Speicherort 0x000000F0BBAFEE88.

Ausnahme ausgelöst bei 0x00007FFB76613C58 in NativeApplicationTest.exe: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.

Ausnahme ausgelöst bei 0x00007FFB76613C58 in NativeApplicationTest.exe: Microsoft C++-Ausnahme: std::runtime_error bei Speicherort 0x000000F0BBAFF1D0.

Ausnahme ausgelöst bei 0x00007FFB76613C58 in NativeApplicationTest.exe: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.

Ausnahme ausgelöst bei 0x00007FFB76613C58 in NativeApplicationTest.exe: Microsoft C++-Ausnahme: std::exception bei Speicherort 0x000000F0BBAFF348.

And this is the code line where it happens after the Windows USB-Disconnect-Sound

occurs:

rs2_process_frame(align, frames, &e); // <- librealsense::windows_backend_exception

if (check_error(e) == -1) {

rs2_release_frame(frames);

throw exception("Error HelperRealsense - rs2_process_frame");

}

0 Kudos
PKhad1
Beginner
1,563 Views

We found the issue. The issue is related to the specs of the USB cable. RealSense is rated at 2 Amps and most of the USB cables on the market are rated for 0.9 Amps. The moment we switched to a cable rated at 3 Amps, the issue went away. We have stress tested it with the new cables and we couldn't break the system, so far it's been robust. One more thing we did is to make sure to not have to use extension cables, so we have custom ordered 3 Amp USB C to USB A cables from Newnex for our needs.

 

Some good cables to look for: 

https://www.amazon.com/gp/product/B076CV7MPB

https://www.newnex.com/usb-type-c-cables-legacy.php (Look for power delivery 3 A)

 

Don't order general purpose cables like CableMatters or AmazonBasics, examples below:

https://www.amazon.com/gp/product/B00DMFB5OK

https://www.amazon.com/gp/product/B01GGKYR2O

 

0 Kudos
Reply