I’m working with an Intel RealSense D435 camera on an NVIDIA platform (JetPack R36.4.7) and running the Isaac ROS nvblox_example_bringup. I’m encountering repeated UVC streamer watchdog errors along with intrinsics-related issues.
Error Logs
ERROR (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint
[NAV STDOUT] [component_container_mt-4] ERROR (uvc-streamer.cpp:105)
uvc streamer watchdog triggered on endpoint: 130
Additionally, I see multiple intrinsics errors:
ERROR (rs.cpp:237) ... No intrinsics are available for this stream profile!
Device Information
Name: Intel RealSense D435
Firmware Version: 5.17.0.10
Recommended Firmware: 5.16.0.1
USB Type: 3.2
Camera Locked: YES
Advanced Mode: YES
Environment
Platform: NVIDIA Jetson (JetPack R36.4.7)
Kernel: oot
Isaac ROS: using nvblox_example_bringup
librealsense tools: rs-enumerate-devices works and shows valid stream profiles
Configuration
realsense_emitter.yaml
RGB: 640x480 @ 30 FPS
Depth: 640x480 @ 30 FPS
Infra1/Infra2: enabled
Pointcloud: enabled
align_depth: true
realsense_emitter_on.yaml
RGB: 640x480 @ 15 FPS
Depth: 640x480 @ 30 FPS
Infra streams: disabled
emitter_on_off: false
align_depth: false
Observations
The camera is detected correctly and all stream profiles are available.
Intrinsics are available when queried via rs-enumerate-devices.
However, during runtime:
UVC streamer watchdog triggers repeatedly.
Some stream profiles report “No intrinsics are available” even for valid resolutions (e.g., 640x480).
The infrared stream seems to get stuck while the depth and color stays alive
Firmware version is newer than recommended (5.17.0.10 vs 5.16.0.1).
Questions
Could the firmware mismatch (newer than recommended) cause UVC watchdog issues?
Are these watchdog errors related to USB bandwidth / stability on Jetson?
Is there any known issue with nvblox + RealSense D435 causing missing intrinsics?
Should specific stream combinations (RGB + Depth + Infra) be avoided for stability?
Any recommended working configuration (YAML) for D435 with Isaac ROS nvblox?
Additional Notes
USB connection is reported as USB 3.2.
No obvious bandwidth errors are printed, only watchdog timeouts.
Issue persists across both emitter configurations.
Any guidance or known fixes would be greatly appreciated.
Welcome to the Isaac ROS forum, and thanks for your detailed post!
Please first try downgrading the D435 firmware to 5.16.0.1 as recommended and re-test, since a firmware version mismatch can contribute to the UVC watchdog issues you’re seeing.
When you start from the nvblox_example_bringup (without VSLAM or splitters), I’d also recommend simplifying the RealSense configuration e.g.realsense_emitter.yaml as follows:
Disable Infra1/Infra2 until the system is stable. You don’t need IR image topics for pure nvblox mapping, and they significantly increase USB load.
Set all streams to 15 FPS initially. Once this is stable, you can consider increasing color/depth to 30 FPS.
Disable pointcloud and align_depth initially to reduce processing inside the RealSense node and keep the active profiles simple. nvblox only needs depth + valid intrinsics and can build its own 3D representation.
If this simplified configuration runs without UVC watchdog errors for an extended period, you can then gradually re-enable features (e.g., align_depth, IR streams) and see which combination remains stable.
I am currently using , I do also have Orin NX 8GB and Orin nano for testing as well .
Thanks for the suggestions!
In my use case, I do require IR streams, pointcloud, and VSLAM to be active. Additionally, due to a known issue, toggling the emitter (on/off) is also necessary in my pipeline.
I’m also running obstacle avoidance, so maintaining higher data quality and fidelity is important—I’d prefer not to reduce FPS or disable key streams if possible.
Also, I am using Isaac ROS Map Localization, nvblox, and VSLAM together on the same Jetson, so I need to utilize every bit of available memory and compute efficiently.
Could you please share the recommended process for downgrading the D435 firmware to 5.16.0.1?
Given these constraints, could you suggest a more robust solution to handle the UVC watchdog issues without significantly reducing sensor throughput or quality? For example, are there USB bandwidth optimizations, node-level configurations, or pipeline restructuring approaches that would help maintain stability?
For downgrading the firmware, you can either download the 5.16.0.1 firmware .bin for D435 from Intel’s RealSense firmware download page, then open realsense-viewer, go to the Update Firmware menu, and select the downloaded file, or use the CLI tool with below command.
It’s generally best practice to first stabilize the camera at lower FPS and with a simplified stream set so you have a clear, known-good baseline. If this simplified configuration runs without UVC watchdog errors for an extended period, you can then gradually re-enable features you want and see which combination remains stable.
If you still encounter the unstable IR streaming issue after downgrading the firmware, please refer to this thread to see if adjusting the USBFS Memory Buffer works for you.