View my account

there is a stuck situation on D415

Comments

5 comments

  • MartyG

    Hi Dalong Deng  Problems occurring after repeated unplug-replug is not a RealSense-only issue, as it can occur in Windows with USB devices in general, as indicated in the official Microsoft documentation link below.  

    https://support.microsoft.com/en-us/topic/usb-port-may-stop-working-after-you-remove-or-insert-a-usb-device-1eaf82a6-04b1-2604-f096-2345d9c215ef

     

    Use of an industrial USB hub for higher USB reliability is a solution that may be worth trying.

    0
    Comment actions Permalink
  • Dalong Deng

    Repeated plugging and unplugging of the USB interface can only quickly reproduce the problem. Our program needs to use the camera for a long time, and usually it will get stuck after several consecutive days. At this time, when we use Intel.RealSense.Viewer.exe for testing, it will also get stuck. We downloaded the source code compilation from GitHub for debugging, called in from the "power on" function, called the "power state" function, and then called the "MFCreateDeviceSource" function, and it got stuck. "However, the" rot player "player can turn on the camera device and the device can work normally, So I wonder if you can modify the opening method to solve this problem?

    0
    Comment actions Permalink
  • MartyG

    If a RealSense camera runs successfully for several days and then a problem occurs, if the camera is within recommended operating temperatures then the problem is typically not related to the camera hardware but instead to non-camera causes. 

     

    These possible causes could include a USB system issue (such as a bad USB cable or glitch on the USB port), a computer hardware problem or a computer operating system software glitch.  Using 'industrial grade' computer and / or USB equipment may help to reduce the chances of a problem occurring in a long-run session.

     

    In regard to what you can do from a librealsense programming perspective, periodically performing a reset of the camera hardware (such as once every 24 hours) may extend the number of days that the camera operates without a problem occurring.

     

    The Windows version of the RealSense SDK that is installed by the Intel.RealSense.SDK-WIN10 installer file uses 'Microsoft Media Foundation' as its backend, whilst the Linux version of the SDK uses a V4L2 backend by default( compliant with the UVC protocol). 

     

    If the SDK is built for Windows from source code using CMake (which it sounds as though you did in your comment above) then setting the build flag FORCE_RSUSB_BACKEND to true will configure the SDK to use a Windows backend based on a WinUSB rewrite of the UVC protocol instead of Media Foundation.

    0
    Comment actions Permalink
  • Dalong Deng
    When debugging the librealsense code, it will freeze when calling the "MFCreateDeviceSource" function. Can you adjust the code of librealsense to solve the stuck problem?
    0
    Comment actions Permalink
  • MartyG

    The MF in the name MFCreateDeviceSource makes me think that this is an issue with Microsoft Media Foundation rather than a problem with the RealSense SDK.  Media Foundation is the default backend of the RealSense SDK on Windows.

     

    As mentioned above, the best solution is likely to be to build the RealSense SDK from source code with CMake and include the build flag FORCE_RSUSB_BACKEND=true so that the SDK does not use Media Foundation as its backend on Windows.

    https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_windows.md

     

    RealSense 400 Series cameras can run indefinitely so long as their temperature remains within the recommended maximum level.  Problems may occur with software and hardware unrelated to the camera or RealSense SDK though during a long-run session, such as in the operating system (Windows in this case).  

     

    As a general rule, if a camera has been running for 4 days before a failure occurs then it will very likely be a non-RealSense cause if the camera is within its recommended operating temperature at the time.  There is therefore not a measure that can be implemented in the RealSense SDK to account for those non-RealSense causes, unfortunately.  Stability may increase if using industrial-grade computing equipment or by performing a reset every 24 hours.  There is also the option to try a RSUSB = true build of the SDK to see whether that reduces occurrences of the MFCreateDeviceSource error.

    0
    Comment actions Permalink

Please sign in to leave a comment.