jetsonhacks / installRealSenseROSTX1

Install librealsense and realsense ROS package on NVIDIA Jetson TX1
MIT License
3 stars 0 forks source link

uvcvideo kernel module not loaded #1

Open richrdcm opened 6 years ago

richrdcm commented 6 years ago

Hi, I followed the instructions to install the RealSenseROSTX1 on my jetson but I still having problems with the uvcvideo module when I run the launchfile. I can run my camera with the installLibrealsenseTX1 examples but I don't get IR Image and get an intermittent Depth Image.

The error running the roslaunch realsense_camera sr300_nodelet_rgbd.launch is: [ERROR] [1509548757.374813604]: /camera/driver - Error calling rs_create_context ( api_version:11100 ): uvcvideo kernel module is not loaded

I do not see the uvcvideo module with $lsmod, and cannot run the module with $sudo insmod uvcvideo, but when I run $find / -iname "uvcvideo" 2> /dev/null I found this:

/sys/bus/usb/drivers/uvcvideo /sys/module/uvcvideo /sys/module/uvcvideo/drivers/usb:uvcvideo /usr/include/linux/uvcvideo.h /usr/src/linux-headers-4.4.0-98/include/uapi/linux/uvcvideo.h /usr/src/kernel/kernel-4.4/include/uapi/linux/uvcvideo.h /usr/src/kernel/kernel-4.4/drivers/media/usb/uvc/.uvcvideo.o.cmd /usr/src/kernel/kernel-4.4/drivers/media/usb/uvc/uvcvideo.h /usr/src/kernel/kernel-4.4/drivers/media/usb/uvc/uvcvideo.o /usr/src/kernel/kernel-4.4/drivers/media/usb/uvc/uvcvideo.mod.c /usr/src/kernel/kernel-4.4/Documentation/video4linux/uvcvideo.txt /usr/src/linux-headers-4.4.38-tegra/include/uapi/linux/uvcvideo.h

So, I have the module but already in the kernel don't I? How do I tell ROS to look for it?

ldmesg when I plug the device give me this:

[13803.486195] uvcvideo: Found UVC 1.10 device Intel(R) RealSense(TM) Camera SR300 (8086:0aa5) [13803.497491] input: Intel(R) RealSense(TM) Camera S as /devices/70090000.xusb/usb2/2-2/2-2.4/2-2.4.3/2-2.4.3.1/2-2.4.3.1:1.0/input/input9 [13803.510926] uvcvideo: Unknown video format 5a564e49-2d90-4a58-920b-773f1f2c556b [13803.518366] uvcvideo: Unknown video format 495a4e49-1a66-a242-9065-d01814a8ef8a [13803.525780] uvcvideo: Unknown video format 435a4e49-b602-480f-978c-e4e88ae89b89 [13803.533149] uvcvideo: Unknown video format 49564e49-57db-5e49-8e3f-f479532b946f [13803.540570] uvcvideo: Unknown video format 52494150-8536-4841-b6bf-8fc6ffb083a8 [13803.548077] uvcvideo: Found UVC 1.10 device Intel(R) RealSense(TM) Camera SR300 (8086:0aa5) [13803.558976] uvcvideo: Unable to create debugfs 2-12 directory. [13803.564983] input: Intel(R) RealSense(TM) Camera S as /devices/70090000.xusb/usb2/2-2/2-2.4/2-2.4.3/2-2.4.3.1/2-2.4.3.1:1.2/input/input10

I would appreciate any help. Thanks

jetsonhacks commented 6 years ago

Do you have any information as to which version of L4T you are running? What is the kernel uname -r result? Which version of installLibrealsenseTX1 did you use. Does it match the version of L4T that you are running?

richrdcm commented 6 years ago

Thanks for your answer, I just checked again and I have the right version:

$uname -r gives me this: 4.4.38-jetsonbot-v-0.2 The readme file from the installLibrealsenseTX1 library say: This is for version L4T 28.1 (JetPack 3.1) And yes, I have L4T 28.1 the output of $head -n 1 /etc/nv_tegra_release gives me: R28 (release), REVISION: 1.0, GCID: 9379712, BOARD: t210ref, EABI: aarch64 and I flashed the board with JetPack 3.1.

richrdcm commented 6 years ago

Hi, I managed to run the camera on my jetson by installing the librealsense for vL4T24.2.1 I just had to rewrite a little bit the realsense-camera-formats.patch for the videodev2.h file to match the lines and formats. Afterwards I use the same compiled library to run the ROS catkin workspace.

But still I do not have idea why the version for my L4T28.1 did not work.

Thanks.

jetsonhacks commented 6 years ago

I believe that the issue has been addressed in later versions:

https://github.com/IntelRealSense/librealsense/issues/563

The uvcvideo module was assumed to be an external module, in a lot of embedded systems the module is built in to the kernel. They removed the check from what I understand.

jetsonhacks commented 6 years ago

I believe that the issue has been addressed in later versions:

https://github.com/IntelRealSense/librealsense/issues/563

The uvcvideo module was assumed to be an external module, in a lot of embedded systems the module is built in to the kernel. They removed the check from what I understand.