-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Camera D455 not detected by librealsense on JETSON nano (Buildroot) #9880
Comments
Hi @FrGrQuim If you are using a Jetson Nano, Intel's official Jetson installation guide strongly recommends enabling the barrel jack connector for extra power. Have you done this, please? https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md If you do not have the barrel jack enabled, Intel's guide recommends the link below for doing so. https://www.jetsonhacks.com/2019/04/10/jetson-nano-use-more-power/ |
As it is the NANO 2GB there is no barrel jack connector. Moreover The cameras are powered by an external supply |
Could you try setting FORCE_RSUSB_BACKEND=true please to build librealsense with the RSUSB Backend method instead of the V4L Native Backend. When librealsense is built with the RSUSB method, it is not dependent on Linux versions or kernel versions and does not require patching. If the D455 works with an RSUSB build then this would suggest that the camera detection problem may be occurring because of a conflict with Buildroot. |
The camera is detected now :) Thanks a lot Just two question: |
Great to hear that you were successful :) Although the same code will work with both backends, there may be some performance differences in the background. For example, by default the RSUSB backend checks for device changes every 5 seconds by default whilst V4L checks more often. This means that with RSUSB, if you try to change a setting with get_option then the SDK may miss the request. You can though reduce the checking time period to perform it more often at the cost of slightly higher CPU percentage usage. The subject is discussed in detail in #6952 and #6921 (comment) Another difference is that a patch-based build is more suited to multiple camera projects than RSUSB, though improvements to multicam handling with RSUSB were made in SDK version 2.35.2. You may find that with 2 cameras your project still works fine with RSUSB. In regard to other differences, #5212 (comment) discusses in detail the advantages and disadvantages of using an RSUSB installation (also known as libuvc backend) versus a patch-based installation. Please scroll down through the linked-to comment to the section headed What are the advantages and disadvantages of using libuvc vs patched kernel modules? In regard to your second question, as far as I am aware buildroot has only been asked about once before in 2019 in case #5497 and there is no information available on the subject. In general though, the Linux OS bypass provided by RSUSB is a good way to resolve problems that may be related to an exotic Linux version or kernel. |
Hi @FrGrQuim Do you require further assistance with this case, please? Thanks! |
Case closed due to no further comments received. |
Issue Description
Hi,
I currently try to build my own Linux version for a robotic application. I use a Nvidia Jetson Nano 2Gb and I need to connect 2 D455 to it. We use buildroot to build Linux with all the required packages.
During the build everything seems to work fine but when I connect the camera and try to enumerate it via rs-enumerate devices I've got the following output:
Here the output of dmesg:
And the output of modinfo uvcvideo | grep ver :
As I use buildroot I cannot run the script patch-realsense-ubuntu-L4T.sh but I have applied the kernel patch:
The cmake arg that I provide to librealsense are:
Any idea what goes wrong and how to fix it?
The text was updated successfully, but these errors were encountered: