Jetson Xavier NX problem for imx477 camera not capture

Our setup consists of a Jetson Xavier NX, a custom carrier board, and three IMX477 cameras mounted on a TCA9546
We modified the device tree based on files such as tegra194-p3668-all-p3509-0000-camera-imx477-dual.dtbo, and when running the command v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap, there is output. However, when capturing using GStreamer, issues arise.
such as:
gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! ‘video/x-raw(memory:NVMM),width=1920,height=1080,format=NV12’ ! nvjpegenc ! filesink location=capture.jpg
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
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: 3840 x 2160 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 22.250000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 22.250000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
Camera index = 1
Camera mode = 1
Output Stream W = 1920 H = 1080
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
nvbuf_utils: Can not get HW buffer from FD… Exiting…
CONSUMER: ERROR OCCURRED
ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: CANCELLED
Additional debug info:
Argus Error Status
Execution ended after 0:00:02.208732295

I still suspect that the camera initialization failure is due to the device tree modification. The condition is that the camera works normally on the official carrier board.

hello 1546896601,

did you meant you’re able to fetch camera frames via v4l IOCTL from all those three cameras?
may I know what’s the position device tree property in your three-camera system? for instance, it should be.. bottom, top, and center.

tegra-camera-platform {
compatible = “nvidia, tegra-camera-platform”;
num_csi_lanes = <0x4>;
max_lane_speed = <0x16e360>;
min_bits_per_pixel = <0xa>;
vi_peak_byte_per_pixel = <0x2>;
vi_bw_margin_pct = <0x19>;
max_pixel_rate = <0x3a980>;
isp_peak_byte_per_pixel = <0x5>;
isp_bw_margin_pct = <0x19>;
linux,phandle = <0x183>;
phandle = <0x183>;

	modules {

		module0 {
			status = "okay";
			badge = "jakku_bottom_RBPCV3";
			position = "bottom";
			orientation = [31 00];
			linux,phandle = <0x184>;
			phandle = <0x184>;

			drivernode0 {
				status = "okay";
				pcl_id = "v4l2_sensor";
				devname = "imx477 9-001a";
				proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/rbpcv3_imx477_a@1a";
				linux,phandle = <0x185>;
				phandle = <0x185>;
			};

			drivernode1 {
				pcl_id = "v4l2_lens";
				proc-device-tree = "/proc/device-tree/lens_imx477@RBPCV2/";
				linux,phandle = <0x186>;
				phandle = <0x186>;
			};
		};

		module1 {
			status = "okay";
			badge = "jakku_center_RBPCV3";
			position = "center";
			orientation = [31 00];
			linux,phandle = <0x187>;
			phandle = <0x187>;

			drivernode0 {
				status = "okay";
				pcl_id = "v4l2_sensor";
				devname = "imx477 10-001a";
				proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@1/rbpcv3_imx477_b@1a";
				linux,phandle = <0x188>;
				phandle = <0x188>;
			};

			drivernode1 {
				pcl_id = "v4l2_lens";
				proc-device-tree = "/proc/device-tree/lens_imx477@RBPCV2/";
				linux,phandle = <0x189>;
				phandle = <0x189>;
			};
		};

		module2 {
			status = "okay";
			badge = "jakku_top_RBPCV3";
			position = "top";
			orientation = [31 00];
			linux,phandle = <0x18a>;
			phandle = <0x18a>;

			drivernode0 {
				status = "okay";
				pcl_id = "v4l2_sensor";
				devname = "imx477 11-001a";
				proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@2/rbpcv3_imx477_c@1a";
				linux,phandle = <0x18b>;
				phandle = <0x18b>;
			};

			drivernode1 {
				pcl_id = "v4l2_lens";
				proc-device-tree = "/proc/device-tree/lens_imx477@RBPCV2/";
				linux,phandle = <0x18c>;
				phandle = <0x18c>;
			};
		};
	};
};

It can be captured using v4l2, but the decoded output is a green screen.

This is my dts
test418.zip (36.3 KB)

jetson@ubuntu:~/zyt/imx477$ v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --stream-mmap --stream-count=1 -d /dev/video0 --stream-to=ov5693.raw
<
jetson@ubuntu:~/zyt/imx477$ v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --stream-mmap --stream-count=1 -d /dev/video1 --stream-to=ov5694.raw
This is the image frame I successfully captured using v4l2

hello Baobaobaoziai,

could you please also check with 3rdparty tool, such as 7yuv to check the raw dump contents.

BTW
here’s incorrect port bindings,
for instance,
did you have 2nd camera node for using CSI-B, if yes, you’ll need to revise the port-index accordingly.

			i2c@1 {
				rbpcv3_imx477_b@1a {
					mode0 {
						mclk_khz = "24000";
						num_lanes = [32 00];
						tegra_sinterface = "serial_b";
					...
					ports {
							endpoint {
								status = "okay";
								port-index = <0x2>;  <== it should be 1.
								bus-width = <0x2>;
		nvcsi@15a00000 {
			channel@1 {
				ports {
					port@0 {
						endpoint@2 {
							status = "okay";
							port-index = <0x2>; <== revise it to 1 for using CSI-B
							bus-width = <0x2>;
		vi@15c10000 {
			ports {
				port@1 {
					endpoint {
						status = "okay";
						port-index = <0x2>; <== revise it to 1 for using CSI-B
						bus-width = <0x2>;

besides, please also update your 3rd camera node if that’s used CSI-C. it should be.. port-index=<2>;
you may refer to Jetson Xavier NX Product Design Guide, please see-also [Figure 9-2. CSI Connection Options].

Hello, according to the port binding error you mentioned, I re-modified the device tree, but it doesn’t seem to help the problem.

0:00:05.530487707 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2134:gst_pad_unlink: unlinking videoconvert1:src(0x55800c2750) and capsfilter5:sink(0x55800c3530)
0:00:05.530586203 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2188:gst_pad_unlink: unlinked videoconvert1:src and capsfilter5:sink
0:00:05.530698684 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2134:gst_pad_unlink: unlinking capsfilter5:src(0x55800c3780) and appsink1:sink(0x55800c29a0)
0:00:05.530787388 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2188:gst_pad_unlink: unlinked capsfilter5:src and appsink1:sink
0:00:05.530854524 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “capsfilter5”
0:00:05.530944892 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800ab200 dispose
0:00:05.531005692 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘sink’
0:00:05.531095581 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘src’
0:00:05.531164797 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800ab200 parent class dispose
0:00:05.531222813 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x55800ab200 finalize
0:00:05.531277757 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x55800ab200 finalize parent
0:00:05.531389629 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2134:gst_pad_unlink: unlinking nvvconv1:src(0x55800c22b0) and capsfilter4:sink(0x55800c3090)
0:00:05.531466238 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2188:gst_pad_unlink: unlinked nvvconv1:src and capsfilter4:sink
0:00:05.531575006 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2134:gst_pad_unlink: unlinking capsfilter4:src(0x55800c32e0) and videoconvert1:sink(0x55800c2500)
0:00:05.531665438 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2188:gst_pad_unlink: unlinked capsfilter4:src and videoconvert1:sink
0:00:05.531734366 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “capsfilter4”
0:00:05.531836414 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800aaec0 dispose
0:00:05.531892959 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘sink’
0:00:05.531967135 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘src’
0:00:05.532035647 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800aaec0 parent class dispose
0:00:05.532094975 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x55800aaec0 finalize
0:00:05.532148959 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x55800aaec0 finalize parent
0:00:05.532225983 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2134:gst_pad_unlink: unlinking nvarguscamerasrc1:src(0x558008fc90) and capsfilter3:sink(0x55800c2bf0)
0:00:05.532305920 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2188:gst_pad_unlink: unlinked nvarguscamerasrc1:src and capsfilter3:sink
0:00:05.532379264 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2134:gst_pad_unlink: unlinking capsfilter3:src(0x55800c2e40) and nvvconv1:sink(0x55800c2060)
0:00:05.532460288 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2188:gst_pad_unlink: unlinked capsfilter3:src and nvvconv1:sink
0:00:05.532513728 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “capsfilter3”
0:00:05.532603232 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800aab80 dispose
0:00:05.532644320 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘sink’
0:00:05.532697632 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘src’
0:00:05.532772865 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800aab80 parent class dispose
0:00:05.532947841 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x55800aab80 finalize
0:00:05.532990753 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x55800aab80 finalize parent
0:00:05.533047009 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “appsink1”
0:00:05.533114177 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “videoconvert1”
0:00:05.533178818 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “nvvconv1”
0:00:05.533235106 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800ad400 dispose
0:00:05.533275746 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘sink’
0:00:05.533328770 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘src’
0:00:05.533382242 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800ad400 parent class dispose
0:00:05.533430018 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x55800ad400 finalize
0:00:05.533471522 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x55800ad400 finalize parent
0:00:05.533532099 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “nvarguscamerasrc1”
0:00:05.533607587 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800a93d0 dispose
0:00:05.533648771 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘src’
0:00:05.533793955 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800a93d0 parent class dispose
0:00:05.533843363 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800a2380 dispose
0:00:05.533979748 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800a2380 parent class dispose
0:00:05.534023140 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x55800a2380 finalize
0:00:05.534064196 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x55800a2380 finalize parent
[ WARN:0] global /home/jetson/opencv/build_opencv/opencv/modules/videoio/src/cap_gstreamer.cpp (888) open OpenCV | GStreamer warning: unable to start pipeline
0:00:05.534185124 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800ac280 dispose
0:00:05.534226116 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘sink’
0:00:05.534279780 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘src’
0:00:05.534333092 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800ac280 parent class dispose
0:00:05.534446149 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x55800ac280 finalize
0:00:05.534490277 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x55800ac280 finalize parent
[ WARN:0] global /home/jetson/opencv/build_opencv/opencv/modules/videoio/src/cap_gstreamer.cpp (480) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
0:00:05.534640805 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800c1390 dispose
0:00:05.534688741 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘sink’
0:00:05.534746021 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800c1390 parent class dispose
0:00:05.534839046 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x55800c1390 finalize
0:00:05.534879750 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x55800c1390 finalize parent
打开摄像头失败
0:00:05.708752168 8394 0x7f68004320 ERROR nvarguscamerasrc gstnvarguscamerasrc.cpp:1702:consumer_thread: Error in pool acquire buffer
0:00:05.717472669 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2134:gst_pad_unlink: unlinking videoconvert0:src(0x558008ea10) and capsfilter2:sink(0x558008f7f0)
0:00:05.717538973 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2188:gst_pad_unlink: unlinked videoconvert0:src and capsfilter2:sink
0:00:05.717607869 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2134:gst_pad_unlink: unlinking capsfilter2:src(0x558008fa40) and appsink0:sink(0x558008ec60)
0:00:05.717665630 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2188:gst_pad_unlink: unlinked capsfilter2:src and appsink0:sink
0:00:05.717719550 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “capsfilter2”
0:00:05.717808478 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800aa840 dispose
0:00:05.717851998 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘sink’
0:00:05.717917246 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘src’
0:00:05.717969950 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800aa840 parent class dispose
0:00:05.718013982 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x55800aa840 finalize
0:00:05.718055007 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x55800aa840 finalize parent
0:00:05.718120511 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2134:gst_pad_unlink: unlinking nvvconv0:src(0x558008e570) and capsfilter1:sink(0x558008f350)
0:00:05.718204639 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2188:gst_pad_unlink: unlinked nvvconv0:src and capsfilter1:sink
0:00:05.718289983 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2134:gst_pad_unlink: unlinking capsfilter1:src(0x558008f5a0) and videoconvert0:sink(0x558008e7c0)
0:00:05.718347935 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2188:gst_pad_unlink: unlinked capsfilter1:src and videoconvert0:sink
0:00:05.718422751 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “capsfilter1”
0:00:05.718494528 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800aa500 dispose
0:00:05.718533440 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘sink’
0:00:05.718589824 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘src’
0:00:05.718642816 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800aa500 parent class dispose
0:00:05.718688000 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x55800aa500 finalize
0:00:05.718731040 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x55800aa500 finalize parent
0:00:05.719636290 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2134:gst_pad_unlink: unlinking nvarguscamerasrc0:src(0x558008e0d0) and capsfilter0:sink(0x558008eeb0)
0:00:05.719719043 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2188:gst_pad_unlink: unlinked nvarguscamerasrc0:src and capsfilter0:sink
0:00:05.719797987 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2134:gst_pad_unlink: unlinking capsfilter0:src(0x558008f100) and nvvconv0:sink(0x558008e320)
0:00:05.719868323 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstpad.c:2188:gst_pad_unlink: unlinked capsfilter0:src and nvvconv0:sink
0:00:05.719946819 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “capsfilter0”
0:00:05.720020707 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800aa1c0 dispose
0:00:05.720063651 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘sink’
0:00:05.720143140 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘src’
0:00:05.720200900 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800aa1c0 parent class dispose
0:00:05.720265252 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x55800aa1c0 finalize
0:00:05.720321860 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x55800aa1c0 finalize parent
0:00:05.720381284 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “appsink0”
0:00:05.720447876 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “videoconvert0”
0:00:05.720506468 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x558009d310 dispose
0:00:05.720555557 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘sink’
0:00:05.720610629 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘src’
0:00:05.720673189 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x558009d310 parent class dispose
0:00:05.720762949 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x558009d310 finalize
0:00:05.720866757 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x558009d310 finalize parent
0:00:05.720924517 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “nvvconv0”
0:00:05.720982950 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x558004bcd0 dispose
0:00:05.721027366 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘sink’
0:00:05.721083238 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘src’
0:00:05.721159814 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x558004bcd0 parent class dispose
0:00:05.721208166 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x558004bcd0 finalize
0:00:05.721268166 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x558004bcd0 finalize parent
0:00:05.721332678 8394 0x557fe44000 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “nvarguscamerasrc0”
0:00:05.721392039 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x558008d550 dispose
0:00:05.721449959 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘src’
0:00:05.721506183 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x558008d550 parent class dispose
0:00:05.721557543 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800a2180 dispose
0:00:05.721675143 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800a2180 parent class dispose
0:00:05.721733927 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x55800a2180 finalize
0:00:05.721776872 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x55800a2180 finalize parent
0:00:05.721834760 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3251:gst_element_dispose: 0x55800a0b50 dispose
0:00:05.721876264 8394 0x557fe44000 INFO GST_ELEMENT_PADS gstelement.c:789:gst_element_remove_pad: removing pad ‘sink’
0:00:05.721935240 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3297:gst_element_dispose: 0x55800a0b50 parent class dispose
0:00:05.721984008 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3328:gst_element_finalize: 0x55800a0b50 finalize
0:00:05.722025992 8394 0x557fe44000 INFO GST_REFCOUNTING gstelement.c:3334:gst_element_finalize: 0x55800a0b50 finalize parent

This is the debug when I run gestremer

string gstreamer_pipeline(
int camera_id,
int capture_width = 1280,
int capture_height = 720,
int display_width = 1280,
int display_height = 720,
int framerate = 30,
int flip_method = 0) {

return "nvarguscamerasrc sensor-id=" + to_string(camera_id) + " ! "
       "video/x-raw(memory:NVMM), "
       "width=(int)" + to_string(capture_width) + ", height=(int)" + to_string(capture_height) + ", "
       "format=(string)NV12, framerate=(fraction)" + to_string(framerate) + "/1 ! "
       "nvvidconv flip-method=" + to_string(flip_method) + " ! "
       "video/x-raw, width=(int)" + to_string(display_width) + ", height=(int)" + to_string(display_height) + ", format=(string)BGRx ! "
       "videoconvert ! video/x-raw, format=(string)BGR ! appsink";

}

hello Baobaobaoziai,

may I know how you update device tree blob?
please double check sysnode to ensure you’ve update the device tree settings correctly.
for instance,
# cat /sys/firmware/devicetree/base/bus@0/host1x@13e00000/nvcsi@15a00000/channel@X/ports/port@X/endpoint@X/port-index

besides, please try below gst pipeline which has disable preview and shows frame-rate only.
$ gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=0 ! 'video/x-raw(memory:NVMM),width=1920, height=1080, framerate=30/1, format=NV12' ! nvvidconv ! fpsdisplaysink text-overlay=0 name=sink_0 video-sink=fakesink sync=0 -v

$ gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=0 ! ‘video/x-raw(memory:NVMM),width=1920, height=1080, framerate=30/1, format=NV12’ ! nvvidconv ! fpsdisplaysink text-overlay=0 name=sink_0 video-sink=fakesink sync=0 -v
this is my debug

gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=0 ! 'video/x-raw(memory:NVMM),width=1920, height=1080, framerate=30/1, format=NV12' ! nvvidconv ! fpsdisplaysink text-overlay=0 name=sink_0 video-sink=fakesink sync=0 -v
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
/GstPipeline:pipeline0/GstFPSDisplaySink:sink_0/GstFakeSink:fakesink0: sync = false
Setting pipeline to PLAYING ...
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:751 Failed to create CaptureSession
/GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
New clock: GstSystemClock
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:sink_0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:sink_0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:sink_0.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:sink_0/GstFakeSink:fakesink0: sync = false
Got EOS from element "pipeline0".
Execution ended after 0:00:00.003947287
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

I modified the device tree by decompiling the dtb file, modifying the dts, and then recompiling it

cat /sys/firmware/devicetree/base/host1x/nvcsi@15a00000/channel@0/ports/port@0/endpoint@0/port-index
check sysnode but not output

hello Baobaobaoziai,

may I also know which Jetpack public release version you’re now working?
please cehck release tag, $ cat /etc/nv_tegra_release

R32 (release), REVISION: 7.6, GCID: 38171779, BOARD: t186ref, EABI: aarch64 jetpack 4.6.6

hello Baobaobaoziai,

all right, let’s narrow down the issue.
for instance,
did you have all three camera connected physically?
are you able to run v4l2-ctl to fetch all those three cameras, and confirm the raw dump contents.

For some reason, only two cameras are connected now. I have tried to capture raw with v4l2 before, and I can get

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.92 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.94 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.95 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.95 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.92 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.93 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.94 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.91 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.92 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.92 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.92 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.93 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.91 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.92 fps

hello Baobaobaoziai,

you have to setup device tree to match your physical camera connections.
please review your schematic, disabled those unused CSI/VI nodes, and keep only 2 camera node definition within tegra-camera-platform{}.

fine I just connected a third camera and still have the same problem