IntelRealSense / librealsense

Intel® RealSense™ SDK
https://www.intelrealsense.com/
Apache License 2.0
7.43k stars 4.8k forks source link

Installation on Jetson Orin Nano #13116

Open ClaudioCarbone opened 5 days ago

ClaudioCarbone commented 5 days ago
Required Info
Camera Model D456
Operating System & Version Ubuntu 22.04
Kernel Version (Linux Only) 5.15.136-tegra
Platform NVIDIA Jetson Orin Nano

I'm currently trying to use the Intel Realsense d456 on my Jetson Orin Nano board, i'm following this guide: https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md I am not able to use realsense-viewer and pipe.start(), they both say there are no devices connected.

The first problem arises with this part which says: "For Jetson Orin™ with JetPack 6.0 you will need to follow build for MIPI driver as NVIDIA released Kernel 5.15 default configuration with disabled HID: Intel® RealSense™ camera driver for GMSL* interface". I have Jetson 6.0 but the guide is confusing for me, i dont understand what i have to change if i have a d456 instead of a d457. Also the instructions say that "Debian packages will be generated in images folder." but i cant find this folder. Maybe this happened because this guide is "D457 MIPI on Jetson AGX Xavier", so i had to skip this part and hoped it was not needed.

Continuing with the fist guide i followed Step 4. Install with Debian Packages. The installation finished with no issues but as i said, on realsense-viewer, no devices are found. I tried the viewer on windows and everything works there.

MartyG-RealSense commented 5 days ago

Hi @ClaudioCarbone The MIPI driver provides support for the IMU on a USB cable connection with RealSense cameras that are equipped with an IMU (including D456) when using JetPack 6. Not using the MIPI driver should not prevent the camera from being detected.

Let's set aside the MIPI driver for the moment and focus on trying to get the camera detected. Is it detected in realsense-viewer if you launch it in sudo admin permissions mode with the command sudo realsense-viewer

ClaudioCarbone commented 5 days ago

Hi @MartyG-RealSense , thank you for your reply.

First of all i wanted to say that this warning appeared again after I reinstalled everything image I saw this problem in other issues and opted to remove the /etc/udev/ruled.d/99.realsense-libusb.rules file and the problem is solved.

But again this is what realsense-viewer printed:

16:51:28 [Info]  - librealsense version: 2.55.1

16:51:28 [Info] ./src/rs.cpp:3103 - Framebuffer size changed to 1850 x 1016
16:51:28 [Info] ./src/rs.cpp:3103 - Window size changed to 1850 x 1016
16:51:28 [Info] ./src/rs.cpp:3103 - Scale Factor is now 1
16:51:28 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video2
16:51:28 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video3
16:51:28 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video4
16:51:28 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video5
16:51:28 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video6 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video6
16:51:28 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video7 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video7
16:51:28 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video2
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video3
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video4
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video5
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video6 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video6
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video7 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video7
16:51:29 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video2
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video3
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video4
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video5
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video6 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video6
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video7 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video7
16:51:29 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video2
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video3
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video4
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video5
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video6 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video6
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video7 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video7
16:51:29 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video2
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video3
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video4
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video5
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video6 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video6
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video7 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video7
16:51:29 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video2
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video3
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video4
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video5
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video6 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video6
16:51:29 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video7 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video7
16:51:29 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
16:51:30 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video2
16:51:30 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video3
16:51:30 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video4
16:51:30 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video5
16:51:30 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video6 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video6
16:51:30 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video7 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video7
16:51:30 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
16:51:30 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video2
16:51:30 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video3
16:51:30 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video4
16:51:30 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video5
16:51:30 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video6 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video6
16:51:30 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video7 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.4/2-1.4:1.3/video4linux/video7
16:51:30 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)

If I try to add a new source there is no option for the realsense d456 that i have.

After, I tried to run the command sudo realsense-viewer but nothing changes.

ClaudioCarbone commented 5 days ago

I want to add that ubuntu is detecting the various UVC videoX cameras but nothing is shown as source in the viewer. (they start from video2 because i had another USB camera for tests connected, that i disconnected before opening the viewer)

image

MartyG-RealSense commented 5 days ago

Another JetPack 6 user had similar camera detection problems to yours yesterday at https://github.com/IntelRealSense/librealsense/issues/12566#issuecomment-2202761827

Do you have the option to downgrade to JetPack 5.1 on your Jetson? RealSense users with a Jetson who have had problems with JetPack 6 have been able to achieve a working setup after a JetPack downgrade.

ClaudioCarbone commented 5 days ago

@MartyG-RealSense This could not be a viable option since this is not the only task I'm working on with the board and also I'm not the only user to operate on it. I will still consider it as a last option but I hope there's something else I can try before that.

jeezrick commented 4 days ago

@MartyG-RealSense This could not be a viable option since this is not the only task I'm working on with the board and also I'm not the only user to operate on it. I will still consider it as a last option but I hope there's something else I can try before that.

try change line 47 in ./libuvc_installation.sh file to cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release -DFORCE_RSUSB_BACKEND=ON, and build it.

That's how I let realsense-viewer find the camera. If imu doesn't working, downgrade the firmware of camera.

ClaudioCarbone commented 4 days ago

@MartyG-RealSense This could not be a viable option since this is not the only task I'm working on with the board and also I'm not the only user to operate on it. I will still consider it as a last option but I hope there's something else I can try before that.

try change line 47 in ./libuvc_installation.sh file to cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release -DFORCE_RSUSB_BACKEND=ON, and build it.

That's how I let realsense-viewer find the camera. If imu doesn't working, downgrade the firmware of camera.

I tried to modify the ./libuvc_installation.sh file like @jeezrick did in this comment but i still have 0 device detected.

12:58:23 [Info]  - librealsense version: 2.55.1

12:58:23 [Info] ./src/rs.cpp:3103 - Framebuffer size changed to 1850 x 1016
12:58:23 [Info] ./src/rs.cpp:3103 - Window size changed to 1850 x 1016
12:58:23 [Info] ./src/rs.cpp:3103 - Scale Factor is now 1
12:58:23 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video0 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video0
12:58:23 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video1 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video1
12:58:23 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video2
12:58:23 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video3
12:58:23 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video4
12:58:23 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video5
12:58:23 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
12:58:23 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video0 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video0
12:58:23 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video1 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video1
12:58:23 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video2
12:58:23 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video3
12:58:23 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video4
12:58:23 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video5
12:58:23 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video0 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video0
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video1 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video1
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video2
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video3
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video4
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video5
12:58:24 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video0 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video0
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video1 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video1
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video2
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video3
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video4
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video5
12:58:24 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video0 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video0
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video1 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video1
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video2
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video3
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video4
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video5
12:58:24 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video0 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video0
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video1 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video1
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video2
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video3
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video4
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video5
12:58:24 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video0 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video0
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video1 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video1
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video2
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video3
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video4
12:58:24 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video5
12:58:24 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)
12:58:25 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video0 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video0
12:58:25 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video1 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video1
12:58:25 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video2 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video2
12:58:25 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video3 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.0/video4linux/video3
12:58:25 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video4 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video4
12:58:25 [Info] ./src/linux/backend-v4l2.cpp:753 - Enumerating UVC video5 realpath=/sys/devices/platform/bus@0/3610000.usb/usb2/2-1/2-1.1/2-1.1:1.3/video4linux/video5
12:58:25 [Info] ./src/context.cpp:128 - Found 0 RealSense devices (0xfe requested & 0xff from device-mask in settings)

So this unfortunately did not solve my issue.

image

MartyG-RealSense commented 4 days ago

SDK 2.55.1 requires camera firmware driver version 5.16.0.1. Do you have this firmware installed in your D456 camera, please?

ClaudioCarbone commented 4 days ago

SDK 2.55.1 requires camera firmware driver version 5.16.0.1. Do you have this firmware installed in your D456 camera, please?

I can't use rs-fw-update to check (because it says there are no devices) but it should be updated because when i tried the camera on a computer with windows it asked for an update and I updated it. If there's a command I will try to check the fw version, but i think this might not be the problem.

MartyG-RealSense commented 3 days ago

Okay, thanks very much. If you updated the camera in the RealSense Viewer in Windows then it will have installed the recommended firmware for that particular Viewer version. So if it was not the 2.55.1 version then an older firmware than 5.16.0.1 will have been installed.

You should be able to check the firmware version with rs-enumerate-devices -s

ClaudioCarbone commented 3 days ago

Okay, thanks very much. If you updated the camera in the RealSense Viewer in Windows then it will have installed the recommended firmware for that particular Viewer version. So if it was not the 2.55.1 version then an older firmware than 5.16.0.1 will have been installed.

You should be able to check the firmware version with rs-enumerate-devices -s

I tried rs-enumerate-devices -s but it still tells me that there are no devices connected. I have tried to change USB and also flip the usb type c connected to the camera but nothing changes. I also saw that some cameras have a switch if you open the little door with a pin, but mine does not have the switch inside.

image

I also checked and on windows I have the same viewer version that I installed on ubuntu which is 2.55.1 and the firmware version of the camera is 5.16.0.1.

image

Could it be that on the Jetson I don't have USB 3.0?

MartyG-RealSense commented 3 days ago

Only the D457 camera model has a moveable mode switch under the little door on top of the camera.

The RealSense SDK supports USB 2.1, so the camera should be detected even if it is detected as USB 2.1. The ports on a Jetson Orin Nano are USB 3.2 though.

For Nano boards, Intel strongly recommend enabling the barrel jack power connector for extra power using the instructions at the link below. Orin Nano has a barrel jack.

https://jetsonhacks.com/2019/04/10/jetson-nano-use-more-power/

ClaudioCarbone commented 3 days ago

Only the D457 camera model has a moveable mode switch under the little door on top of the camera.

The RealSense SDK supports USB 2.1, so the camera should be detected even if it is detected as USB 2.1. The ports on a Jetson Orin Nano are USB 3.2 though.

For Nano boards, Intel strongly recommend enabling the barrel jack power connector for extra power using the instructions at the link below. Orin Nano has a barrel jack.

https://jetsonhacks.com/2019/04/10/jetson-nano-use-more-power/

Thanks for the suggestion, I am already using the DC power jack though!

MartyG-RealSense commented 2 days ago

The best way forward would be to wipe the Jetson and install everything from the beginning, including Ubuntu 22.04. I note that this would not be an option for you though as "it is not the only task I'm working on with the board and also I'm not the only user to operate on it".

The next best option would be to uninstall the librealsense Jetson packages with the command below and then perform the package install instructions again.

dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge

Another approach would be a source code build with the RSUSB backend method using the instructions for Jetson at https://github.com/IntelRealSense/librealsense/issues/6964#issuecomment-707501049

ClaudioCarbone commented 2 days ago

Hi @MartyG-RealSense thank you for your support, after uninstalling librealsense with dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge I built from source with the RSUSB backend method that you mentioned and finally the realsense camera was detected! By running rs-enumerate-devices I can now see the camera and by running sudo realsense-viewer I am able to open the camera streams.

I can't declare victory yet because I think i'm having some issues with the motion module. Should I open a new issue or can I continue here?

Anyway these are the messages when i open the viewer:

image

When i try to turn on the motion module, a lot of errors and hundreds of warnings show up:

image image

I tried disabling the auto exposure but it does not fix it.

ClaudioCarbone commented 2 days ago

@MartyG-RealSense I'm gonna also add that i'm trying to use the pipe.start(cfg) command on my script and this is what I get:

image

This is my test script:

import pyrealsense2 as rs

#Intel Realsense D456 camera video pipeline
pipe = rs.pipeline()
cfg = rs.config()

cfg.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)#RGB video stream
cfg.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)#Depth video stream

#starting the configuration
pipe.start(cfg)
MartyG-RealSense commented 2 days ago

The IMU problem could be because of the need to install the MIPI driver for USB support when using JetPack 6. If you cannot downgrade to Jetpack 5.1 then there may not be a way around that issue, unfortunately.

Regarding the Python problem, does it make a difference if you unplug the camera and then re-insert it before running your script?

ClaudioCarbone commented 2 days ago

Regarding the Python problem, does it make a difference if you unplug the camera and then re-insert it before running your script?

I just tried to unplug it and re-insert it but the output is the same.

MartyG-RealSense commented 1 day ago

A couple of months ago, another RealSense user at https://github.com/IntelRealSense/librealsense/issues/11368#issuecomment-2095667879 who was experiencing RuntimeError: no device connected with their Python script found though that the SDK's Python example script python-tutorial-1-depth.py could run successfully. Does this script also work for you if you run it?

https://github.com/IntelRealSense/librealsense/blob/master/wrappers/python/examples/python-tutorial-1-depth.py

That user's camera detection problem was solved by a libuvc backend installation of librealsense, though I note that you tried it earlier at https://github.com/IntelRealSense/librealsense/issues/13116#issuecomment-2208699941 and it did not resolve your problem.

ClaudioCarbone commented 1 day ago

I tried to run python-tutorial-1-depth.py but also with this script i'm having the same issue of no device connected.

image

I've also tried to do the libuvc backend installation of librealsense but still, the python script does not detect the camera.

MartyG-RealSense commented 1 day ago

It looks as though we have not mentioned in this discussion yet which method you used to install the pyrealsense2 wrapper. The options are:

  1. Install it with the command pip install pyrealsense2. Although pip install on Arm devices such as Jetson is supported for Python 3.7 to 3.9, it does not work with Jetson boards. Or:

  2. Build the pyrealsense2 wrapper at the same time as the librealsense SDK by building librealsense from source code with CMake and adding the flag -DBUILD_PYTHON_BINDINGS:bool=true to the CMake build instruction. Or:

  3. Building the pyrealsense2 wrapper from source code separately after librealsense has already been installed.

Methods 2 and 3 should work with any version of Python 3 that are newer than 3.7.

ClaudioCarbone commented 1 day ago

Honestly i'm not sure because i have uninstalled it and reinstalled it. I should do i again but i'm not sure how, first thing is that i have now different folders in /home for librealsense and i dont know which one in the right one now (librealsense, librealsense-2.55.1 or librealsense_build).

I can try to build from source by following this guide but I dont even know where to create the /build folder.

MartyG-RealSense commented 15 hours ago

The librealsense source code folder will have the version number in its name. So it would be librealsense-2.55.1

The /build folder should be created with mkdir build whilst in the root directory of the librealsense source code folder, which is the one with the list of folders and files in the image below.

image