jetsonhacks / buildlibrealsense2xavier Goto Github PK
View Code? Open in Web Editor NEWBuild librealsense 2.0 library on the NVIDIA Jetson AGX Xavier Developer Kit. Intel RealSense D400 series cameras.
License: MIT License
Build librealsense 2.0 library on the NVIDIA Jetson AGX Xavier Developer Kit. Intel RealSense D400 series cameras.
License: MIT License
With a patched kernel, there sometimes is a UVC Control error issued in the dmesg log. This may also show as a I2C error in the realsense-viewer app. Does not seem to affect application.
"Entity type for entity xyz was not initialized" -
This is from media_entity (Constructed in /usr/src/kernel/kernel-4.9/drivers/media/usb/uvc/uvc_entity.c"
Probably from a patching problem
This issue shows up when the camera is plugged in, or detected during boot. realsense-viewer appears to work correctly, even with this issue.
Log:
[ 96.025556] usb 2-4.2: new SuperSpeed USB device number 4 using tegra-xusb
[ 96.045905] usb 2-4.2: New USB device found, idVendor=8086, idProduct=0b07
[ 96.045911] usb 2-4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 96.045914] usb 2-4.2: Product: Intel(R) RealSense(TM) Depth Camera 435
[ 96.045917] usb 2-4.2: Manufacturer: Intel(R) RealSense(TM) Depth Camera 435
[ 96.045919] usb 2-4.2: SerialNumber: 736613021336
[ 96.100703] uvcvideo: Found UVC 1.50 device Intel(R) RealSense(TM) Depth Camera 435 (8086:0b07)
[ 96.119728] uvcvideo: Unable to create debugfs 2-4 directory.
[ 96.119912] uvcvideo 2-4.2:1.0: Entity type for entity Intel(R) RealSense(TM) Depth Ca was not initialized!
[ 96.120114] uvcvideo 2-4.2:1.0: Entity type for entity Processing 2 was not initialized!
[ 96.120252] uvcvideo 2-4.2:1.0: Entity type for entity Intel(R) RealSense(TM) Depth Ca was not initialized!
[ 96.120416] uvcvideo 2-4.2:1.0: Entity type for entity Camera 1 was not initialized!
[ 96.121065] input: Intel(R) RealSense(TM) Depth Ca as /devices/3610000.xhci/usb2/2-4/2-4.2/2-4.2:1.0/input/input9
[ 96.121320] uvcvideo: Found UVC 1.50 device Intel(R) RealSense(TM) Depth Camera 435 (8086:0b07)
[ 96.130739] uvcvideo: Unable to create debugfs 2-4 directory.
[ 96.130963] uvcvideo 2-4.2:1.3: Entity type for entity Processing 7 was not initialized!
[ 96.131170] uvcvideo 2-4.2:1.3: Entity type for entity Extension 8 was not initialized!
[ 96.131310] uvcvideo 2-4.2:1.3: Entity type for entity Camera 6 was not initialized!
[ 96.131677] usbcore: registered new interface driver uvcvideo
[ 96.131680] USB Video Class driver (1.1.1)
Hi
I really appreciate your great job always. and I am quite new to kernel of linux.
Thanks to your scripts files, I am using d435i camera on my Xavier well.
Buy the way, can i delete /usr/src/kernel folder after build and installation done?
cause as you know, xavier has small disk space :)
sorry for simple and basic question!
Thank you in advance :)
Need to make the kernel Image in the makeKernel.sh script file.
If the kernel is not rebuilt, some of the built in modules from the original kernel throw kernel OOPS repeatedly that that the uvc camera format is not recognized.
./patchApplication.sh cannot be run correctly.
Applying Model-Views Patch
patch: **** Can't open patch file /patches/model-views.patch : No such file or directory
Applying Incomplete Frames Patch
patch: **** Can't open patch file /patches/incomplete-frame.patch : No such file or directory
Module patches for the hid metadata appear to have issues.
Typical error message:
10/01 21:27:20,409 WARNING [548254236272] (ds5-timestamp.cpp:64) UVC metadata payloads not available. Please refer to installation chapter for details.
During the ./buildPatchedKernel.sh
I have this error:
/usr/src/kernel/nvidia/drivers/net/ethernet/nvidia/pcie/tegra_vnet.c: In function ‘process_ctrl_msg’: /usr/src/kernel/nvidia/drivers/net/ethernet/nvidia/pcie/tegra_vnet.c:867:11: error: ‘msg.msg_id’ may be used uninitialized in this function [-Werror=maybe-uninitialized] else if (msg.msg_id == CTRL_MSG_LINK_DOWN_ACK)
how can I solve it? Thx in advance
When closing the realsense-viewer app, some 'Permission Denied' error messages appear in the console.
I have to report my fix for making it work for L4T v32.4.4, on a Jetson AGX Xavier.
First, as a prerequisite to what follows, in buildPatchedKernel.sh
, replace every occurence of 32.1.0
with 32.4.4
(or for people in the future: whatever the newest version is). This allows the script to run freely, even if correctness has not been proven by the author.
Now, the real fun begin. When doing ./buildPatchedKernel.sh
you might get an error in the script makeKernel.sh
. In particular, make Image
does not work.
The /kernel/nvidia/...
stuff we download in the "Getting Kernel sources" part of ./buildPatchedKernel.sh
has been modified since jetsonhacks wrote this script.
The problem happens because make
is configured to stop when an warning is caught at a certain point in the compilation.
In particular when compiling the file /usr/src/kernel/nvidia/drivers/video/tegra/dc/hdcp/hdmihdcp.c
, a unused variable
warning is thrown and is interpreted as an error by make
, which fails the compilation.
I can get into the details here, but what is interesting is the fix:
cd /usr/src/kernel/nvidia/drivers/video/tegra/dc/hdcp/
. If it does not exist yet, run ./buildPatchedKernel.sh
and wait for it to fail in the same way I described above before going pack to these instructions./usr/src/kernel/nvidia/drivers/video/tegra/dc/hdcp/
(you are going to understand why)./buildPatchedKernel.sh
./buildPatchedKernel.sh
is starting to "Patching and configuring kernel", then it is done "Getting Kernel sources" and now you have to do two things quickly:chmod a+x hdmihdcp.c
. This grants you access to write the file.hdmihdcp.c
and go to line 1940 and delete: unsigned char nonce[HDCP_NONE_SIZE]
. This is the line which caused the compilation to fail: nonce
is unused (warning) and every warning counts as an error because of the -Werror
flag in the makefile of a parent directory.This sure was not a very eloquent post, nor does it really qualify as an issue, but I hope it helps someone running into the same troubles as I did.
Buying a RealSense camera sure was a great match for the Jetson!
I connect 4 d435i on xaver through usb hub. When I open more than 4 streams (no matter rgb or depth stream), the following error shows:
Backend in rs2_open_multiple(sensor:0x55a2a0c180, profile:0x55a50231b0, fail to start streaming. Last Error: Cannot allocate memory.
The xavier is installed with jetpack 4.3 and the librealsense is installed in the Debian fashion without kernel patch as mentioned in the documents.
Any comment is appreciated.
My D435i works fine on Xavier after installation using these scripts, but the driver is not able to detect T265 tracking camera.
After following the setup instructions in this repo, the depth stream stops updating within a few minutes of opening it. It doesn't recover unless I unplug/replug the device or click "Hardware Reset" in the viewer. Here's what it looks like in the realsense-viewer
app:
I believe this is specific to the Jetson. I had similar depth stream freezing issues on the TX2, but it works fine on my Windows laptop.
Any suggestions for debugging this?
can i use R200 for test?
hi!
I notice that this is for librealsene v2.20.0
In buildpatchedkernal.sh I see LIBREALSENSE_VERSION=v2.20.0,but in installLibrealsense.sh it is LIBREALSENSE_VERSION=v2.17.0.
I want to kown which version we install at last?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.