IMX219 cameras don't work on all versions of the Jetpack

Hello, I am trying to use my IMX219 cameras: Pi camera v2.1 and Waveshare imx219-77. They are inserted in the port correctly and are detected by the command ls /dev/video*. When I start dmesg | grep imx219

[ 1.896904] imx219 9-0010: tegracam sensor driver:imx219_v2.0.6
[ 1.920403] imx219 9-0010: imx219_board_setup: error during i2c read probe (-121)
[ 1.920451] imx219 9-0010: board setup failed
[ 1.920551] imx219: probe of 9-0010 failed with error -121
[ 1.921012] imx219 10-0010: tegracam sensor driver:imx219_v2.0.6
[ 2.923073] tegra194-vi5 15c10000.vi: subdev imx219 10-0010 bound

When I run nvgstcapture-1.0 I get an error

Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:557 No cameras available

When I run

gst-launch-1.0 nvarguscamerasrc ! ‘video/x-raw(memory:NVMM), format=NV12, witdh=640, height=480, framerate=30/1’ ! nvoverlaysink

I get

Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Setting pipeline to PLAYING …
New clock: GstSystemClock
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:557 No cameras available
Got EOS from element “pipeline0”.
Execution ended after 0:00:00.051944067
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 266)
(Argus) Error EndOfFile: Receive worker failure, notifying 1 waiting threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 340)
(Argus) Error InvalidState: Argus client is exiting with 1 outstanding client threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 357)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 368)
(Argus) Error EndOfFile: Client thread received an error from socket (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 145)
(Argus) Error EndOfFile: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 87)

When I run v4l2-ctl --all

Driver Info (not using libv4l2):
Driver name : tegra-video
Card type : vi-output, imx219 10-0010
Bus info : platform:15c10000.vi:2
Driver version: 4.9.140
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera 2: ok)
Format Video Capture:
Width/Height : 3264/2464
Pixel Format : ‘RG10’
Field : None
Bytes per Line : 6528
Size Image : 16084992
Colorspace : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :

Camera Controls

                 group_hold 0x009a2003 (bool)   : default=0 value=0 flags=execute-on-write
                sensor_mode 0x009a2008 (int64)  : min=0 max=0 step=0 default=0 value=0 flags=slider
                       gain 0x009a2009 (int64)  : min=0 max=0 step=0 default=0 value=16 flags=slider
                   exposure 0x009a200a (int64)  : min=0 max=0 step=0 default=0 value=13 flags=slider
                 frame_rate 0x009a200b (int64)  : min=0 max=0 step=0 default=0 value=2000000 flags=slider
       sensor_configuration 0x009a2032 (u32)    : min=0 max=0 step=0 default=0 flags=read-only, volatile, has-payload
     sensor_mode_i2c_packet 0x009a2033 (u32)    : min=0 max=0 step=0 default=0 flags=read-only, volatile, has-payload
  sensor_control_i2c_packet 0x009a2034 (u32)    : min=0 max=0 step=0 default=0 flags=read-only, volatile, has-payload
                bypass_mode 0x009a2064 (intmenu): min=0 max=1 default=0 value=0
            override_enable 0x009a2065 (intmenu): min=0 max=1 default=0 value=0
               height_align 0x009a2066 (int)    : min=1 max=16 step=1 default=1 value=1
                 size_align 0x009a2067 (intmenu): min=0 max=2 default=0 value=0
           write_isp_format 0x009a2068 (int)    : min=1 max=1 step=1 default=1 value=1
   sensor_signal_properties 0x009a2069 (u32)    : min=0 max=0 step=0 default=0 flags=read-only, has-payload
    sensor_image_properties 0x009a206a (u32)    : min=0 max=0 step=0 default=0 flags=read-only, has-payload
  sensor_control_properties 0x009a206b (u32)    : min=0 max=0 step=0 default=0 flags=read-only, has-payload
          sensor_dv_timings 0x009a206c (u32)    : min=0 max=0 step=0 default=0 flags=read-only, has-payload
           low_latency_mode 0x009a206d (bool)   : default=0 value=0
           preferred_stride 0x009a206e (int)    : min=0 max=65535 step=1 default=0 value=0
               sensor_modes 0x009a2082 (int)    : min=0 max=30 step=1 default=30 value=5 flags=read-only

Can anyone provide a help for the problem? Thanks for your attention.

I would suggest to consult with Waveshare for customized driver and device tree configrue.

hello ShaneCCC, thanks you for your reply.
I get the same errors when using the Pi camera v2.1 . Waveshare claims that their camera does not require software changes https://www.waveshare.com/wiki/IMX219-77_Camera

Which version doesn’t work for your case.

I can’t use Pi camera 2.1 and Waveshare imx219-77.

The original system image only support Pi V2 any others may need driver customization.

For me, both of V2.0 and V2.1 work pretty well with Jetson Nano and Xavier NX as well.
No further SW or driver jobs are needed.

jetson@jetson-desktop:~$ dmesg | grep imx219
[    1.998115] imx219 9-0010: tegracam sensor driver:imx219_v2.0.6
[    2.021779] imx219 9-0010: imx219_board_setup: error during i2c read probe (-121)
[    2.022547] imx219 9-0010: board setup failed
[    2.022777] imx219: probe of 9-0010 failed with error -121
[    2.023185] imx219 10-0010: tegracam sensor driver:imx219_v2.0.6
[    3.136133] tegra194-vi5 15c10000.vi: subdev imx219 10-0010 bound
jetson@jetson-desktop:~$ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
	Index       : 0
	Type        : Video Capture
	Pixel Format: 'RG10'
	Name        : 10-bit Bayer RGRG/GBGB
		Size: Discrete 3264x2464
			Interval: Discrete 0.048s (21.000 fps)
		Size: Discrete 3264x1848
			Interval: Discrete 0.036s (28.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 1640x1232
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 1280x720
			Interval: Discrete 0.017s (60.000 fps)

jetson@jetson-desktop:~$ zcat /proc/config.gz | grep -i imx219
CONFIG_VIDEO_IMX219=y
jetson@jetson-desktop:~$ head -n 1 /etc/nv_tegra_release 
# R32 (release), REVISION: 6.1, GCID: 27863751, BOARD: t186ref, EABI: aarch64, DATE: Mon Jul 26 19:36:31 UTC 2021

You’d better test another camera module, or connect the IMX219 camera to the other hardware.

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