Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue interfacing intel realsense D435i with nvidia jetson orin nano 8gb dev kit #13713

Open
arvindrk2 opened this issue Jan 27, 2025 · 5 comments

Comments

@arvindrk2
Copy link

I recently purchased the intel realsense D435i module and I am unable to make it work with my jetson orin nano. The device is being detected at a hardware level but it doesn't work with realsense-viewer. The jetson configuration is as shown below
Jetson Board: NVIDIA Jetson Orin Nano Developer Kit
Jetson L4T version: 36.4.3

The log from realsense-viewer is shown below:

27/01 18:00:55,236 INFO [281473493794848] (backend-v4l2.cpp:753) Enumerating UVC video0 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.3/2-1.3:1.0/video4linux/video0 27/01 18:00:55,237 INFO [281473493794848] (backend-v4l2.cpp:753) Enumerating UVC video1 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.3/2-1.3:1.0/video4linux/video1 27/01 18:00:55,238 INFO [281473493794848] (backend-v4l2.cpp:753) Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.3/2-1.3:1.0/video4linux/video2 27/01 18:00:55,239 INFO [281473493794848] (backend-v4l2.cpp:753) Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.3/2-1.3:1.0/video4linux/video3 27/01 18:00:55,240 INFO [281473493794848] (backend-v4l2.cpp:753) Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.3/2-1.3:1.3/video4linux/video4 27/01 18:00:55,241 INFO [281473493794848] (backend-v4l2.cpp:753) Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.3/2-1.3:1.3/video4linux/video5 27/01 18:00:55,983 INFO [281473493794848] (backend-v4l2.cpp:753) Enumerating UVC video0 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.3/2-1.3:1.0/video4linux/video0 27/01 18:00:55,984 INFO [281473493794848] (backend-v4l2.cpp:753) Enumerating UVC video1 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.3/2-1.3:1.0/video4linux/video1 27/01 18:00:55,984 INFO [281473493794848] (backend-v4l2.cpp:753) Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.3/2-1.3:1.0/video4linux/video2 27/01 18:00:55,985 INFO [281473493794848] (backend-v4l2.cpp:753) Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.3/2-1.3:1.0/video4linux/video3 27/01 18:00:55,985 INFO [281473493794848] (backend-v4l2.cpp:753) Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.3/2-1.3:1.3/video4linux/video4 27/01 18:00:55,986 INFO [281473493794848] (backend-v4l2.cpp:753) Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.3/2-1.3:1.3/video4linux/video5 27/01 18:00:55,992 INFO [281473493794848] (context.cpp:128) Found 0 RealSense devices (0xff requested & 0xff from device-mask in settings)

Can someone help me understand where the issue is coming from and how I can fix this? Please let me know if any more information is required.

@MartyG-RealSense
Copy link
Collaborator

Hi @arvindrk2 As you are using an IMU-equipped RealSense D435i and L4T (the current latest JetPack version 6.2), your JetPack version could be preventing camera detection. From JetPack 6 onwards, a function called hiddraw that RealSense IMU cameras (known as HID devices) depend upon has been removed from the JP. This can result in IMU data not being accessible or even the camera not being detected at all.


If your camera non-detection problem is related to the IMU and JP6 and you are able to use Ubuntu 20.04 instead of a more recent version such as 22.04 or 24.04, downgrading your JetPack to version 5.1.3 could bee a way to fix the problem.


Another approach would be to build the librealsense SDK from source code from CMake with the flag -DFORCE_RSUSB_BACKEND=TRUE included in the CMake build instruction.


If you need to use JetPack 6 and Ubuntu 22.04 or newer then installing the RealSense MIPI driver at the link below adds IMU support for JetPack 6 for IMU-equipped cameras on a USB cable connection.

https://github.com/IntelRealSense/realsense_mipi_platform_driver


It is worth highlighting that at the time of writing this, the librealsense SDK only officially supports JetPack 6.0 rather than the newer 6.1 and 6.2 versions.

@arvindrk2
Copy link
Author

Hey @MartyG-RealSense, Appreciate the swift response. I think I will need a way work with the latest jetpack because other aspects of my work requires the latest jetpack to be running on the jetson orin nano. With that in mind, I have a few of follow-up questions.

  1. Is there is some way to manually install the necessary hiddraw function on the latest jetpack?
  2. Which SDK release should I attempt to install from the source? Because I tried it with the latest v2.56.3 and cmake keeps failing at "[ 54%] Linking CXX shared library Release/librealsense2.so" with an error message "make: *** [Makefile:136: all] Error 2"
  3. I came across the MIPI driver option, but that shows a compatibilty with JP6.0 as well, so would that approach work with JP6.2?
  4. Do you know when there will be a release that supports JP6.2?
    Thank!!!

@MartyG-RealSense
Copy link
Collaborator

  1. I am not aware of a way to edit the contents of a JetPack or how one would go about reintroducing a removed feature, unfortunately.

  2. Does the error still occur if you add the flag -DBUILD_SHARED_LIBS=FALSE to your CMake build instruction?

  3. I recommend posting installation questions about the MIPI driver on its dedicated support issues forum at the link below.

https://github.com/IntelRealSense/realsense_mipi_platform_driver/issues

  1. I do not have information about future JetPack 6.2 support at this time. I do apologize.

@arvindrk2
Copy link
Author

-DBUILD_SHARED_LIBS=FALSE flag did not make a difference. But, it is very disappointing that such an expensive piece of hardware can fail to work on my system because it is incompatible with the latest system OS. I hope this will be sorted sooner rather than later. Anyway, I will give the MIPI driver a shot because I am not sure what other options I have.

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jan 27, 2025

If you encounter installation problems with librealsense beta 2.56.3 then it may be worth trying the earlier non-beta 2.55.1 release.

There are users who have managed to get their IMU-equipped camera working with JP 6.0. For example, a user at #12566 (comment) found that downgrading their RealSense camera firmware driver worked in their particular situation. The absolute minimum firmware version that should be tried with a D435i is 5.13.0.50 and no older.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants