4 Replies Latest reply on Sep 3, 2018 4:35 AM by Liuthasil

    Frequent connection losses with RealSense D435

    Liuthasil

      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..

        • 1. Re: Frequent connection losses with RealSense D435
          MartyG

          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. .

           

          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:

           

          Re: Long duration usage

           

          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.

           

          D435 streams work once, then crash

          • 2. Re: Frequent connection losses with RealSense D435
            Liuthasil

            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.

            • 3. Re: Frequent connection losses with RealSense D435
              MartyG

              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.

               

              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.

              • 4. Re: Frequent connection losses with RealSense D435
                Liuthasil

                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");

                }