IMX219 camera don't work

Hello,

I have some trouble to work with the jetson orin nano (super) and MIPI-ICS camera.
I want to use a IMX219 200* camera from SEENGREAT.
The camera was detected, present in /dev/video0 and listed with v4l2-ctl --list-devices

user@user-desktop:~$ v4l2-ctl --list-devices
NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
        /dev/media0

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

But, any time I use the nvgstcapture-1.0, it return some error.

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:734 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:245 (propagating)

The result of JetsonInfo.py :

NVIDIA NVIDIA Jetson Orin Nano Engineering Reference Developer Kit Super
L4T 36.4.4 [ JetPack 6.2.1 ]
Ubuntu 22.04.5 LTS
Kernel Version: 5.15.148-tegra
CUDA 12.6.68
CUDA Architecture: 8.7
OpenCV version: 4.8.0
OpenCV Cuda: NO
CUDNN: ii libcudnn9
TensorRT: 10.3.0.30
Vision Works: NOT_INSTALLED
VPI: 3.2.4
Vulcan: 1.3.204

In jetson-io.py, I have actualy select Camera IMX219 A, but I don’t understand what it means. I have try with all option but alway the error.

For information, I have 3 CSI camera. all IMX219 but different FOV (77, 160 and 200).
I also get some error when I use the 160 FOV but no issue with the 77.
The 77 and the 160 were bought together but I don’t know where they come from.

Thank you in advance for your help (and sorry for my terrible english)

*** Please note that this reply is generated by LLM automatically ***

I’d be happy to help you troubleshoot the issue with your Jetson Orin Nano and MIPI-CSI camera, specifically the IMX219 200 camera from SEENGREAT.

First, let’s break down the error message you’re seeing:

CONSUMER: Producer has connected, continuing
nvbuf_utils: dmabuf_fd 1 mapped entry NOT found
Error generated by dvsgit/dirty/git/master/linux/multimedia/nvgstreamer/gstnvarguscamerasrc.cpp, thread Execute, line 734: NvBufSurfaceFromFd Failed
Error generated by dvsgit/dirty/git/master/linux/multimedia/nvgstreamer/gstnvarguscamerasrc.cpp, thread Function, line 245: propagating

This error suggests that there’s an issue with the camera’s buffer allocation or mapping. The NvBufSurfaceFromFd function is used to create a buffer surface from a file descriptor, which is failing in this case.

Given that you have three CSI cameras, all IMX219 but with different fields of view (77, 160, and 200), and you’re experiencing issues with the 200 FOV camera, it’s possible that there’s a compatibility or configuration issue specific to this camera.

Here are a few potential causes and troubleshooting steps:

  1. Camera configuration: In jetson-io, you’ve selected Camera IMX219 A, but you’re not sure what this means. The jetson-io tool is used to configure the camera interface. Make sure that you’ve selected the correct camera configuration for your IMX219 200 camera. You may need to consult the camera’s datasheet or documentation to ensure that you’re using the correct settings.
  2. Device tree configuration: The JP5: L4T_35_3_1 custom carrier 4-lane MIPI CSI RX device tree document suggests that you may need to modify the device tree configuration to support your camera. Check the device tree configuration to ensure that it’s set up correctly for your camera.
  3. Camera driver: The nvv4l2camerasrc plugin is used for capturing and previewing display using the V4L2 API. Ensure that the camera driver is installed and configured correctly. You may need to update the driver or modify the configuration to support your camera.
  4. Buffer allocation: The error message suggests that there’s an issue with buffer allocation. You can try modifying the buffer allocation settings in the nvv4l2camerasrc plugin or in the camera driver to see if it resolves the issue.
  5. Camera compatibility: Although the IMX219 200 camera is similar to the other two cameras, there may be subtle differences in the camera’s configuration or behavior that are causing the issue. Try using a different camera, such as the IMX219 77 FOV camera, to see if the issue persists.

To further troubleshoot the issue, you can try the following:

  • Check the camera’s documentation and datasheet to ensure that you’re using the correct settings and configuration.
  • Verify that the camera is properly connected to the Jetson Orin Nano and that the MIPI-CSI interface is configured correctly.
  • Use tools like v4l2-ctl or media-ctl to inspect the camera’s configuration and settings.
  • Try using a different camera interface or driver to see if the issue persists.

In comparison to other Jetson platforms, such as the Jetson AGX Orin, the Jetson Orin Nano has similar camera interfaces and configurations. However, the specific camera configuration and settings may vary depending on the platform and camera model.

In summary, the issue you’re experiencing with your Jetson Orin Nano and MIPI-CSI camera, specifically the IMX219 200 camera, is likely related to camera configuration, device tree configuration, camera driver, or buffer allocation. By troubleshooting these potential causes and trying different configurations and settings, you should be able to resolve the issue and get your camera working correctly.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

Thans you for your answer, but it’s not enought specific.

  • For jetson-io, I don’t know which configuration to use.
  • For the Device tree, what I need to do exactly, I’m a noob on Unix system.
  • I have check on the camera’s documentation but I haven’t found some particular driver or special installation step. By following the doc, the camera must be compatible with Jetson nano. The wiki of the camera

Also, for information, I have try to use the camera on a Jetson Nano, but it was a custom carrier board, and I’m not sur of the installation I have done. So I prefere to use it on the official Jetson Orin Nano.

Sorry for the late response.
Is this still an issue to support? Any result can be shared?

Hello, I haven’t found solution yet.

I switched to an USB camera to continue without trouble but I’m will be happy to can use the CSI camera I have bought.

You can verify the sensor HW and function by v4l2-ctl fist.

If have problem for below command that could be the IMX219 module have problem.

v4l2-ctl --stream-mmap -c bypass_mode=0
user@user-desktop:~$ v4l2-ctl --list-devices
NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
        /dev/media0

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

user@user-desktop:~$ v4l2-ctl --stream-mmap -c bypass_mode=0



When I run the command, nothing append. The prompt blink but nothing write.

The v4l2-ctl command should show the fps if capture successfully.

If it stock there that tell unable to capture frame data from the sensor.

I would suspect it could be HW problem. You may check the cable or check with another camera connector to try.

nvidia@tegra-ubuntu:~$ v4l2-ctl --stream-mmap -c bypass_mode=0
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.17 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.17 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.17 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.17 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.17 fps

Thanks for the explanation,

I have try to use another cable that was connected to an 77 FOV camera which worked on the orin nano, so I’m sure the cable is OK.

I obtained the same result.

When I use the other connector, I got the output bellow :

user@user-desktop:~$ v4l2-ctl --stream-mmap -c bypass_mode=0
Cannot open device /dev/video0, exiting.
user@user-desktop:~$ v4l2-ctl --list-devices
NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
        /dev/media0

Cannot open device /dev/video0, exiting.

Looks like can’t detect the IMX219.

Confirm by below command.

sudo dmesg | grep -i imx219

The output :

user@user-desktop:~$ sudo dmesg | grep -i imx219
[sudo] password for user:
[   18.627327] imx219 9-0010: tegracam sensor driver:imx219_v2.0.6
[   18.637966] imx219 9-0010: imx219_board_setup: error during i2c read probe (-121)
[   18.647330] imx219 9-0010: board setup failed
[   18.647395] imx219: probe of 9-0010 failed with error -121

This message tell unable to communicate with imx219 via i2c command.

That’s could be HW problem.

What’s that mean exactly ? what is HW ?

The probleme is from the Jetson or the camera and how to fix it ?

Are you using devkit?

If yes I would suspect it could be the sensor board or connector or cable, you need to figurate it out by yourself.

Yes it’s the Jetson Orin Nano Super Developer Kit, so I have no solution.

Thanks for the help.

You may confirm your IMX219 on RPi to confirm.

When I try on a RPi I got the same result.

user@raspberrypi:~ $ sudo libcamera-hello -t 0
[0:55:48.337920779] [2022]  INFO Camera camera_manager.cpp:325 libcamera v0.3.2+99-1230f78d
Preview window unavailable
ERROR: *** no cameras available ***
user@raspberrypi:~ $ sudo dmesg | grep -i imx219
[    0.057930] platform fe801000.csi: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/imx219@10
[   11.608847] platform fe801000.csi: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/imx219@10
[   12.450858] imx219 10-0010: Error reading reg 0x0000: -121
[   12.450880] imx219 10-0010: failed to read chip id 219


user@raspberrypi:~ $

For info, I use another cable, it’s a 15 to 15 pins cable. The cable I use on the Jetson was a 15 to 22 pins.

Do this mean it’s an error from the sensor ?

If it’s malfunction on RPI too. I would suspect something wrong for the sensor board.

Maybe get a new one to verify.

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