Jetson Orin IMX219 CSI camera?

Hi,

I have an Orin running and connected a imx219 camera, to be specific, that one: IMX219-160 Camera, Applicable for Jetson Nano, 8 Megapixels, 160° FOV

After running this:

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=1280, height=720, framerate=30/1, format=NV12' ! nvvidconv flip-method=0 ! 'video/x-raw,width=1280, height=720' ! nvvidconv ! nvegltransform ! nveglglessink -e

it runs for a few seconds and then I get this output:

Setting pipeline to PAUSED ...

Using winsys: x11
Pipeline is live and does not need PREROLL ...
Got context from element 'eglglessink0': gst.egl.EGLDisplay=context, display=(GstEGLDisplay)NULL;
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3280 x 2464 FR = 21,000000 fps Duration = 47619048 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 3280 x 1848 FR = 28,000001 fps Duration = 35714284 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1640 x 1232 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 59,999999 fps Duration = 16666667 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode  = 4
Output Stream W = 1280 H = 720
seconds to Run    = 0
Frame Rate = 59,999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: TIMEOUT
Additional debug info:
Argus Error Status
EOS on shutdown enabled -- waiting for EOS after Error
Waiting for EOS...

Can someone let me know what I need to do in order to get it running?

Thanks for you help!

hello bjarne.johannsen,

may I double confirm the Jetson platform you’re working with, is it Orin NX?
could you please also check Approaches for Validating and Testing the V4L2 Driver for using V4L2 IOCTL to verify basic functionality.

Thanks @JerryChang for your quick reply!

I’m working on the Orin AGX 32GB on an auvidia X230D carrier with Jetpack 5.0.2 (R35.1.0).

v4l2-ctl --list-devices

NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
	/dev/media0

vi-output, imx219 8-0010 (platform:tegra-capture-vi:0):
	/dev/video1

vi-output, imx219 1-0010 (platform:tegra-capture-vi:5):
	/dev/video0

I’m also able to aquire a raw image using v4l2-ctl.
So generally the connection to the camera seems to work fine.

So the issue must be more on the side of GStreamer and nvarguscamerasrc.

Can you assist me to pin point the issue further?

Thanks!

1 Like

hello bjarne.johannsen,

this might be issues with device tree settings.
could you please also check whether default full resolution 3280 x 2464 FR = 21,000000 sensor mode works.
please change the width/height/fps settings for your gst pipeline, it shall select the 1st sensor mode for streaming.
let’s check if there’s any difference with the output messages.

Hi @JerryChang!

Thanks for your hint!! This actually partially works!
Is this an issue of the original l4t kernel or the BSP of my carrier?

Now I’m able to atleast get some kind of image, however it heavily flickers and crashes after a few minutes.
To me it looks like some timing of the control might be wrong?
Here is a video where you can see it: imx219 issue - YouTube
It is not a camera issue, I tested multiple cameras on different CSI ports

Thanks for your help!!

hello bjarne.johannsen,

this looks like known issue on Jetpack-5.0.2,
could you please moving to Jetpack-5.1, some of camera issue resolved with the later release version.

@JerryChang
Thanks for your really good help so far, I will circle back to you once I have been able to upgrade jetpack to 5.1.

hello bjarne.johannsen,

FYI, there’re several device tree overlays updates for Jetpack-5.1 release.
please note you should not use the same IMX219 property settings as reference camera board, if you develop camera driver by yourself. otherwise, those device tree overlay might overwrites device tree settings for your use-case.
if you seeing issue related to above, the quick workaround is removing those *.dtbo file under /boot/ for confirmation.
for example,

$ ls /boot/*imx219*dtbo
/boot/tegra194-p3668-all-p3509-0000-camera-imx219-dual.dtbo    /boot/tegra234-p3767-camera-imx477-imx219.dtbo
/boot/tegra194-p3668-all-p3509-0000-camera-imx477-imx219.dtbo  /boot/tegra234-p3767-camera-p3768-imx219-dual.dtbo
/boot/tegra234-p3767-camera-imx219-dual.dtbo                   /boot/tegra234-p3767-camera-p3768-imx477-imx219.dtbo

How did you connect the camera with it having the ribbon cable? I see the two ports on the bottom, but they don’t seem to be compatible.

@noahmcclure79
I used this cable: https://amzn.eu/d/i1aFzLt

Okay, how did you keep the cables securely attached? It looks like there should be a connectors to clamp the ribbon cable into the two slots.

The x230d carrier board has a clamping mechanism to secure them.

hello bjarne.johannsen,

I use the same X230D board and Orin AGX 32GB with Jetpack version 5.0.2.
imx219 sensor, which is connected to this board, produces video with similar artifacts ( @Here is a video where you can see it: imx219 issue - YouTube ),
also when accessing the sensor from the Argus-camera app, the message “bwmgr API not supported” is displayed on the console.
Obviously this problem is at the level of memory or DMA transfers in the system itself.
Did you manage to upgrade to jackpack 5.1 for the X230D board and did this transition solve the camera problem?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.