Can not stream more than one virtual channel simultaneously

Hello together.,
I am currently trying to implement 8 IMX662 cameras over FPD-Link III. I am able to stream 8 streams simultaneously on mode0. Sadly this is not possible with mode1. One camera running mode1 on each CSI interface works fine, if i start a second camera on the same CSI interface an error gets printed to the nvargus-deamon log. The error I am getting from nvargus is very unclear and I am not sure how I should debug this any further.

pixel clk

Correct me if I am wrong, as far as I can tell the pixel clock values seems to be right (Nvidia docs):

L4T Version: L4T 35.5.0
SoM: Orin NX
Sensor output: 0,594 Gbps
SerDes output: 1,6 Gbps
Lanes: 4

Mode0

BPP: 10

pix_clk_hz = 0,594 * 10⁹ / 10 * 4 = 237600000
serdes_pix_clk_hz = 1,6 * 10⁹ / 10 * 4 = 640000000

Mode1

BPP: 12

pix_clk_hz = 0,594 * 10⁹ / 12 * 4 = 198000000
serdes_pix_clk_hz = 1,6 * 10⁹ / 12 * 4 = 533333333 (Rounded to 530000000)

nvargus-deamon log

root@test-desktop:/home/test# /usr/sbin/nvargus-daemon
=== NVIDIA Libargus Camera Service (0.99.33)=== Listening for connections...=== gst-launch-1.0[4953]: Connection established (FFFF91A62900)=== gst-launch-1.0[4949]: Connection established (FFFF90A60900)=== gst-launch-1.0[4951]: Connection established (FFFF81FF7900)=== gst-launch-1.0[4947]: Connection established (FFFF80FF5900)=== gst-launch-1.0[4948]: Connection established (FFFF7BFFB900)=== gst-launch-1.0[4954]: Connection established (FFFF7B7FA900)=== gst-launch-1.0[4952]: Connection established (FFFF7AFF9900)=== gst-launch-1.0[4950]: Connection established (FFFF7A7F8900)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module4
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module5
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module6
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module7
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
=== gst-launch-1.0[4953]: CameraProvider initialized (0xffff8c6d7340)=== gst-launch-1.0[4949]: CameraProvider initialized (0xffff84000c20)=== gst-launch-1.0[4951]: CameraProvider initialized (0xffff7c000c20)=== gst-launch-1.0[4948]: CameraProvider initialized (0xffff70000c20)=== gst-launch-1.0[4954]: CameraProvider initialized (0xffff68000c20)=== gst-launch-1.0[4947]: CameraProvider initialized (0xffff74000c20)=== gst-launch-1.0[4950]: CameraProvider initialized (0xffff60000c20)=== gst-launch-1.0[4952]: CameraProvider initialized (0xffff6c000c20)SCF: Error BadValue: NvPHSSendThroughputHints (in src/common/CameraPowerHint.cpp, function sendCameraPowerHint(), line 56)
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
SCF: Error InvalidState:  (propagating from src/services/capture/FusaCaptureViCsiHw.cpp, function openViCsi(), line 391)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureServiceDeviceViCsi.cpp, function setMode(), line 470)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureRecord.cpp, function updateMode(), line 467)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureServiceDevice.cpp, function issueCaptures(), line 1355)
SCF: Error InvalidState:  (propagating from src/common/Utils.cpp, function workerThread(), line 114)
SCF: Error InvalidState: Worker thread CaptureScheduler frameStart failed (in src/common/Utils.cpp, function workerThread(), line 133)
SCF: Error Timeout:  (propagating from src/api/Buffer.cpp, function waitForUnlock(), line 644)
SCF: Error Timeout:  (propagating from src/components/CaptureContainerImpl.cpp, function returnBuffer(), line 426)
SCF: Error InvalidState: Capture Scheduler not running (in src/services/capture/CaptureServiceDevice.cpp, function addNewItemToSchedule(), line 1004)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureService.cpp, function addRequest(), line 411)
SCF: Error InvalidState:  (propagating from src/components/stages/SensorCaptureStage.cpp, function doHandleRequest(), line 87)
SCF: Error InvalidState:  (propagating from src/components/stages/OrderedStage.cpp, function doExecute(), line 158)
SCF: Error InvalidState: Sending critical error event for Session 5 
 (in src/api/Session.cpp, function sendErrorEvent(), line 1039)
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
SCF: Error InvalidState: Capture Scheduler not running (in src/services/capture/CaptureServiceDevice.cpp, function addNewItemToSchedule(), line 1004)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureService.cpp, function addRequest(), line 411)
SCF: Error InvalidState:  (propagating from src/components/stages/SensorCaptureStage.cpp, function doHandleRequest(), line 87)
SCF: Error InvalidState:  (propagating from src/components/stages/OrderedStage.cpp, function doExecute(), line 158)
SCF: Error InvalidState: Sending critical error event for Session 6 
 (in src/api/Session.cpp, function sendErrorEvent(), line 1039)
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
SCF: Error InvalidState: Capture Scheduler not running (in src/services/capture/CaptureServiceDevice.cpp, function addNewItemToSchedule(), line 1004)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureService.cpp, function addRequest(), line 411)
SCF: Error InvalidState:  (propagating from src/components/stages/SensorCaptureStage.cpp, function doHandleRequest(), line 87)
SCF: Error InvalidState:  (propagating from src/components/stages/OrderedStage.cpp, function doExecute(), line 158)
SCF: Error InvalidState: Sending critical error event for Session 2 
 (in src/api/Session.cpp, function sendErrorEvent(), line 1039)
SCF: Error InvalidState: Capture Scheduler not running (in src/services/capture/CaptureServiceDevice.cpp, function addNewItemToSchedule(), line 1004)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureService.cpp, function addRequest(), line 411)
SCF: Error InvalidState:  (propagating from src/components/stages/SensorCaptureStage.cpp, function doHandleRequest(), line 87)
SCF: Error InvalidState:  (propagating from src/components/stages/OrderedStage.cpp, function doExecute(), line 158)
SCF: Error InvalidState: Sending critical error event for Session 7 
 (in src/api/Session.cpp, function sendErrorEvent(), line 1039)
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
SCF: Error InvalidState: Capture Scheduler not running (in src/services/capture/CaptureServiceDevice.cpp, function addNewItemToSchedule(), line 1004)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureService.cpp, function addRequest(), line 411)
SCF: Error InvalidState:  (propagating from src/components/stages/SensorCaptureStage.cpp, function doHandleRequest(), line 87)
SCF: Error InvalidState:  (propagating from src/components/stages/OrderedStage.cpp, function doExecute(), line 158)
SCF: Error InvalidState: Sending critical error event for Session 0 
 (in src/api/Session.cpp, function sendErrorEvent(), line 1039)
SCF: Error InvalidState: 1 buffers still pending during EGLStreamProducer destruction (in src/services/gl/EGLStreamProducer.cpp, function freeBuffers(), line 300)
SCF: Error InvalidState: 1 buffers still pending during EGLStreamProducer destruction (in src/services/gl/EGLStreamProducer.cpp, function freeBuffers(), line 300)
SCF: Error InvalidState: 1 buffers still pending during EGLStreamProducer destruction (in src/services/gl/EGLStreamProducer.cpp, function freeBuffers(), line 300)
SCF: Error InvalidState: 1 buffers still pending during EGLStreamProducer destruction (in src/services/gl/EGLStreamProducer.cpp, function freeBuffers(), line 300)
SCF: Error InvalidState: 1 buffers still pending during EGLStreamProducer destruction (in src/services/gl/EGLStreamProducer.cpp, function freeBuffers(), line 300)
SCF: Error InvalidState: 2 buffers still pending during EGLStreamProducer destruction (in src/services/gl/EGLStreamProducer.cpp, function freeBuffers(), line 300)

gst script

#!/bin/bash

gst-launch-1.0 nvarguscamerasrc sensor-id=$1 sensor-mode=$2 ! 'video/x-raw(memory:NVMM), width=(int)1936, height=(int)1096, format=(string)NV12, framerate=(fraction)25/1' ! nvvidconv ! queue ! fpsdisplaysink video-sink=xvimagesink

nvargus_nvraw --lps

nvargus_nvraw version 1.14.0
Number of supported sensor entries 16
Entry  Source Mode      Uniquename             Resolution   FR  BitDepth  Mode
Index  Index  Index                                             CSI Dyn   Type
  0      0      0              jakku_0_imx662   1936x1096   90  10  10    Bayer       
  1      0      1              jakku_0_imx662    968x 548   90  12  12    Bayer       
  2      1      0              jakku_0_imx662   1936x1096   90  10  10    Bayer       
  3      1      1              jakku_0_imx662    968x 548   90  12  12    Bayer       
  4      2      0              jakku_0_imx662   1936x1096   90  10  10    Bayer       
  5      2      1              jakku_0_imx662    968x 548   90  12  12    Bayer       
  6      3      0              jakku_0_imx662   1936x1096   90  10  10    Bayer       
  7      3      1              jakku_0_imx662    968x 548   90  12  12    Bayer       
  8      4      0              jakku_0_imx662   1936x1096   90  10  10    Bayer       
  9      4      1              jakku_0_imx662    968x 548   90  12  12    Bayer       
 10      5      0              jakku_0_imx662   1936x1096   90  10  10    Bayer       
 11      5      1              jakku_0_imx662    968x 548   90  12  12    Bayer       
 12      6      0              jakku_0_imx662   1936x1096   90  10  10    Bayer       
 13      6      1              jakku_0_imx662    968x 548   90  12  12    Bayer       
 14      7      0              jakku_0_imx662   1936x1096   90  10  10    Bayer       
 15      7      1              jakku_0_imx662    968x 548   90  12  12    Bayer  

Devicetree

/ {
	cam_i2cmux {
		i2c@0 { // AB
    		sony_imx662_ab_p0: sony_imx662_p0@10 {
				status = "disabled";
				compatible = "sony,imx662";
				/* I2C device address */
				reg = <0x10>;

				/* V4L2 device node location */
				devnode = "video0";

				/* Physical dimensions of sensor */
				physical_w = "5.841";
				physical_h = "7.714";

				sensor_model = "imx662";

				/* Other Settings */
				use_decibel_gain = "false";
				use_sensor_mode_id = "true";
				delayed_gain = "true";

				mode0 { /* IMX586_MODE_1920x1080_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "0";
					phy_mode = "DPHY";
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false";
					cil_settletime = "0";
					lane_polarity = "6";
 
					/* Data readout */
					active_w = "1936";
					active_h = "1096";
					mode_type = "bayer";
					pixel_phase = "rggb";
					csi_pixel_bit_depth = "10";
					readout_orientation = "0";
					line_length = "2376"; // "2376"; 

					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "237600000";
					serdes_pix_clk_hz = "640000000";

					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */

					/* EBD */
					embedded_metadata_height = "1";
				};

				mode1 { /* IMX662_MODE_960x540_2x2_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "0";
					phy_mode = "DPHY";
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false";
					cil_settletime = "0";
					lane_polarity = "6";

					/* Data readout */
					active_w = "968"; 
					active_h = "548"; 
					mode_type = "bayer"; 
					pixel_phase = "rggb"; 
					csi_pixel_bit_depth = "12"; 
					readout_orientation = "0"; 
					line_length = "2376"; // "2376"; 
					
					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "198000000";
					serdes_pix_clk_hz = "530000000";
			
					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */

					/* EBD */
					embedded_metadata_height = "1";
				};

				ports {
					status="okay";
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						status="okay";
						reg = <0>;
						imx662_vc_out0: endpoint {
							status="okay";
							vc-id = <0>;
							port-index = <0>;
							bus-width = <4>;
							remote-endpoint = <&cam_csi_in0>;
						};
					};
				};
			};

    		sony_imx662_ab_p1: sony_imx662_p1@11 {
				status = "disabled";
				compatible = "sony,imx662";
				/* I2C device address */
				reg = <0x11>;

				/* V4L2 device node location */
				devnode = "video1";

				/* Physical dimensions of sensor */
				physical_w = "5.841";
				physical_h = "7.714";

				sensor_model = "imx662";

				/* Other Settings */
				use_decibel_gain = "false";
				use_sensor_mode_id = "true";
				delayed_gain = "true";

				mode0 { /* IMX586_MODE_1920x1080_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "1";
					phy_mode = "DPHY";
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false";
					cil_settletime = "0";
					lane_polarity = "6";
 
					/* Data readout */
					active_w = "1936";
					active_h = "1096";
					mode_type = "bayer";
					pixel_phase = "rggb";
					csi_pixel_bit_depth = "10";
					readout_orientation = "0";
					line_length = "2376"; // "2376"; 

					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "237600000";
					serdes_pix_clk_hz = "640000000";

					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */

					/* EBD */
					embedded_metadata_height = "1";
				};

				mode1 { /* IMX662_MODE_960x540_2x2_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "1";
					phy_mode = "DPHY";
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false";
					cil_settletime = "0";
					lane_polarity = "6";

					/* Data readout */
					active_w = "968"; 
					active_h = "548"; 
					mode_type = "bayer"; 
					pixel_phase = "rggb"; 
					csi_pixel_bit_depth = "12"; 
					readout_orientation = "0"; 
					line_length = "2376"; // "2376"; 
					
					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "198000000";
					serdes_pix_clk_hz = "530000000";

					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */

					/* EBD */
					embedded_metadata_height = "1";
				};

				ports {
					status="okay";
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						status="okay";
						reg = <0>;
						imx662_vc_out1: endpoint {
							status="okay";
							vc-id = <1>;
							port-index = <0>;
							bus-width = <4>;
							remote-endpoint = <&cam_csi_in1>;
						};
					};
				};
			};

    		sony_imx662_ab_p2: sony_imx662_p2@12 {
				status = "disabled";
				compatible = "sony,imx662";
				/* I2C device address */
				reg = <0x12>;

				/* V4L2 device node location */
				devnode = "video2";

				/* Physical dimensions of sensor */
				physical_w = "5.841";
				physical_h = "7.714";

				sensor_model = "imx662";

				/* Other Settings */
				use_decibel_gain = "false";
				use_sensor_mode_id = "true";
				delayed_gain = "true";

				mode0 { /* IMX586_MODE_1920x1080_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "2";
					phy_mode = "DPHY";
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false";
					cil_settletime = "0";
					lane_polarity = "6";
 
					/* Data readout */
					active_w = "1936";
					active_h = "1096";
					mode_type = "bayer";
					pixel_phase = "rggb";
					csi_pixel_bit_depth = "10";
					readout_orientation = "0";
					line_length = "2376"; // "2376"; 

					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "237600000";
					serdes_pix_clk_hz = "640000000";

					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */

					/* EBD */
					embedded_metadata_height = "1";
				};

				mode1 { /* IMX662_MODE_960x540_2x2_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "2";
					phy_mode = "DPHY";
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false";
					cil_settletime = "0";
					lane_polarity = "6";

					/* Data readout */
					active_w = "968"; 
					active_h = "548"; 
					mode_type = "bayer"; 
					pixel_phase = "rggb"; 
					csi_pixel_bit_depth = "12"; 
					readout_orientation = "0"; 
					line_length = "2376"; // "2376"; 
					
					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "198000000";
					serdes_pix_clk_hz = "530000000";

					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */
					
					/* EBD */
					embedded_metadata_height = "1";
				};

				ports {
					status="okay";
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						status="okay";
						reg = <0>;
						imx662_vc_out2: endpoint {
							status="okay";
							vc-id = <2>;
							port-index = <0>;
							bus-width = <4>;
							remote-endpoint = <&cam_csi_in2>;
						};
					};
				};
			};

    		sony_imx662_ab_p3: sony_imx662_p3@13 {
				status = "disabled";
				compatible = "sony,imx662";
				/* I2C device address */
				reg = <0x13>;

				/* V4L2 device node location */
				devnode = "video3";

				/* Physical dimensions of sensor */
				physical_w = "5.841";
				physical_h = "7.714";

				sensor_model = "imx662";

				/* Other Settings */
				use_decibel_gain = "false";
				use_sensor_mode_id = "true";
				delayed_gain = "true";

				mode0 { /* IMX586_MODE_1920x1080_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "3";
					phy_mode = "DPHY";
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false";
					cil_settletime = "0";
					lane_polarity = "6";
 
					/* Data readout */
					active_w = "1936";
					active_h = "1096";
					mode_type = "bayer";
					pixel_phase = "rggb";
					csi_pixel_bit_depth = "10";
					readout_orientation = "0";
					line_length = "2376"; // "2376"; 

					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "237600000";
					serdes_pix_clk_hz = "640000000";

					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */

					/* EBD */
					embedded_metadata_height = "1";
				};

				mode1 { /* IMX662_MODE_960x540_2x2_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "3";
					phy_mode = "DPHY";
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false";
					cil_settletime = "0";
					lane_polarity = "6";

					/* Data readout */
					active_w = "968"; 
					active_h = "548"; 
					mode_type = "bayer"; 
					pixel_phase = "rggb"; 
					csi_pixel_bit_depth = "12"; 
					readout_orientation = "0"; 
					line_length = "2376"; // "2376"; 
					
					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "198000000";
					serdes_pix_clk_hz = "530000000";

					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */
					
					/* EBD */
					embedded_metadata_height = "1";
				};

				ports {
					status="okay";
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						status="okay";
						reg = <0>;
						imx662_vc_out3: endpoint {
							status="okay";
							vc-id = <3>;
							port-index = <0>;
							bus-width = <4>;
							remote-endpoint = <&cam_csi_in3>;
						};
					};
				};
			};
		};

		i2c@1 { // CD
			sony_imx662_cd_p0: sony_imx662_p0@10 {
				status = "disabled";
				compatible = "sony,imx662";
				/* I2C device address */
				reg = <0x10>;

				/* V4L2 device node location */
				devnode = "video4";

				/* Physical dimensions of sensor */
				physical_w = "5.841";
				physical_h = "7.714";

				sensor_model = "imx662";

				/* Other Settings */
				use_decibel_gain = "false";
				use_sensor_mode_id = "true";
				delayed_gain = "true";

				mode0 { /* IMX586_MODE_1920x1080_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_c";
					vc_id = "0";
					phy_mode = "DPHY";
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false";
					cil_settletime = "0";
					lane_polarity = "0";
 
					/* Data readout */
					active_w = "1936";
					active_h = "1096";
					mode_type = "bayer";
					pixel_phase = "rggb";
					csi_pixel_bit_depth = "10";
					readout_orientation = "0";
					line_length = "2376"; // "2376"; 

					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "237600000";
					serdes_pix_clk_hz = "640000000";
			
					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */

					/* EBD */
					embedded_metadata_height = "1";
				};

				mode1 { /* IMX662_MODE_960x540_2x2_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000"; 
					num_lanes = "4"; 
					tegra_sinterface = "serial_c"; 
					vc_id = "0";
					phy_mode = "DPHY"; 
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false"; 
					cil_settletime = "0"; 
					lane_polarity = "0"; 

					/* Data readout */
					active_w = "968"; 
					active_h = "548"; 
					mode_type = "bayer"; 
					pixel_phase = "rggb"; 
					csi_pixel_bit_depth = "12"; 
					readout_orientation = "0"; 
					line_length = "2376"; // "2500"; 
					
					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "198000000";
					serdes_pix_clk_hz = "530000000";

					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */
					
					/* EBD */
					embedded_metadata_height = "1";
				};

				ports {
					status="okay";
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						status="okay";
						reg = <0>;
						imx662_vc_out4: endpoint {
							status="okay";
							vc-id = <0>;
							port-index = <2>;
							bus-width = <4>;
							remote-endpoint = <&cam_csi_in4>;
						};
					};
				};
			};

			sony_imx662_cd_p1: sony_imx662_p1@11 {
				status = "disabled";
				compatible = "sony,imx662";
				/* I2C device address */
				reg = <0x11>;

				/* V4L2 device node location */
				devnode = "video5";

				/* Physical dimensions of sensor */
				physical_w = "5.841";
				physical_h = "7.714";

				sensor_model = "imx662";

				/* Other Settings */
				use_decibel_gain = "false";
				use_sensor_mode_id = "true";
				delayed_gain = "true";

				mode0 { /* IMX586_MODE_1920x1080_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_c";
					vc_id = "1";
					phy_mode = "DPHY";
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false";
					cil_settletime = "0";
					lane_polarity = "0";
 
					/* Data readout */
					active_w = "1936";
					active_h = "1096";
					mode_type = "bayer";
					pixel_phase = "rggb";
					csi_pixel_bit_depth = "10";
					readout_orientation = "0";
					line_length = "2376"; // "2376"; 

					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "237600000";
					serdes_pix_clk_hz = "640000000";
			
					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */

					/* EBD */
					embedded_metadata_height = "1";
				};

				mode1 { /* IMX662_MODE_960x540_2x2_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000"; 
					num_lanes = "4"; 
					tegra_sinterface = "serial_c"; 
					vc_id = "1";
					phy_mode = "DPHY"; 
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false"; 
					cil_settletime = "0"; 
					lane_polarity = "0"; 

					/* Data readout */
					active_w = "968"; 
					active_h = "548"; 
					mode_type = "bayer"; 
					pixel_phase = "rggb"; 
					csi_pixel_bit_depth = "12"; 
					readout_orientation = "0"; 
					line_length = "2376"; // "2500"; 
					
					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "198000000";
					serdes_pix_clk_hz = "530000000";
			
					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */
					
					/* EBD */
					embedded_metadata_height = "1";
				};

				ports {
					status="okay";
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						status="okay";
						reg = <0>;
						imx662_vc_out5: endpoint {
							status="okay";
							vc-id = <1>;
							port-index = <2>;
							bus-width = <4>;
							remote-endpoint = <&cam_csi_in5>;
						};
					};
				};
			};

			sony_imx662_cd_p2: sony_imx662_p2@12 {
				status = "disabled";
				compatible = "sony,imx662";
				/* I2C device address */
				reg = <0x12>;

				/* V4L2 device node location */
				devnode = "video6";

				/* Physical dimensions of sensor */
				physical_w = "5.841";
				physical_h = "7.714";

				sensor_model = "imx662";

				/* Other Settings */
				use_decibel_gain = "false";
				use_sensor_mode_id = "true";
				delayed_gain = "true";

				mode0 { /* IMX586_MODE_1920x1080_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_c";
					vc_id = "2";
					phy_mode = "DPHY";
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false";
					cil_settletime = "0";
					lane_polarity = "0";
 
					/* Data readout */
					active_w = "1936";
					active_h = "1096";
					mode_type = "bayer";
					pixel_phase = "rggb";
					csi_pixel_bit_depth = "10";
					readout_orientation = "0";
					line_length = "2376"; // "2376"; 

					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "237600000";
					serdes_pix_clk_hz = "640000000";
			
					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */

					/* EBD */
					embedded_metadata_height = "1";
				};

				mode1 { /* IMX662_MODE_960x540_2x2_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000"; 
					num_lanes = "4"; 
					tegra_sinterface = "serial_c"; 
					vc_id = "2";
					phy_mode = "DPHY"; 
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false"; 
					cil_settletime = "0"; 
					lane_polarity = "0"; 

					/* Data readout */
					active_w = "968"; 
					active_h = "548"; 
					mode_type = "bayer"; 
					pixel_phase = "rggb"; 
					csi_pixel_bit_depth = "12"; 
					readout_orientation = "0"; 
					line_length = "2376"; // "2500"; 
					
					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "198000000";
					serdes_pix_clk_hz = "530000000";

					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */
					
					/* EBD */
					embedded_metadata_height = "1";
				};

				ports {
					status="okay";
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						status="okay";
						reg = <0>;
						imx662_vc_out6: endpoint {
							status="okay";
							vc-id = <2>;
							port-index = <2>;
							bus-width = <4>;
							remote-endpoint = <&cam_csi_in6>;
						};
					};
				};
			};
			
			sony_imx662_cd_p3: sony_imx662_p3@13 {
				status = "disabled";
				compatible = "sony,imx662";
				/* I2C device address */
				reg = <0x13>;

				/* V4L2 device node location */
				devnode = "video7";

				/* Physical dimensions of sensor */
				physical_w = "5.841";
				physical_h = "7.714";

				sensor_model = "imx662";

				/* Other Settings */
				use_decibel_gain = "false";
				use_sensor_mode_id = "true";
				delayed_gain = "true";

				mode0 { /* IMX586_MODE_1920x1080_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_c";
					vc_id = "3";
					phy_mode = "DPHY";
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false";
					cil_settletime = "0";
					lane_polarity = "0";
 
					/* Data readout */
					active_w = "1936";
					active_h = "1096";
					mode_type = "bayer";
					pixel_phase = "rggb";
					csi_pixel_bit_depth = "10";
					readout_orientation = "0";
					line_length = "2376"; // "2376"; 

					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "237600000";
					serdes_pix_clk_hz = "640000000";
			
					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */

					/* EBD */
					embedded_metadata_height = "1";
				};

				mode1 { /* IMX662_MODE_960x540_2x2_25FPS */
					/* Nvidia CSI */
					mclk_khz = "24000"; 
					num_lanes = "4"; 
					tegra_sinterface = "serial_c"; 
					vc_id = "3";
					phy_mode = "DPHY"; 
					discontinuous_clk = "no"; /* yes? */
					dpcm_enable = "false"; 
					cil_settletime = "0"; 
					lane_polarity = "0"; 

					/* Data readout */
					active_w = "968"; 
					active_h = "548"; 
					mode_type = "bayer"; 
					pixel_phase = "rggb"; 
					csi_pixel_bit_depth = "12"; 
					readout_orientation = "0"; 
					line_length = "2376"; // "2500"; 
					
					/* Datarate & clock */
					mclk_multiplier = "80"; /* depricated */
					pix_clk_hz = "198000000";
					serdes_pix_clk_hz = "530000000";
			
					/* Gain in dB */
					inherent_gain = "1"; 
					gain_factor = "1"; 
					min_gain_val = "1"; /* 1.00 dB */ 
					max_gain_val = "72"; /* 72 dB */
					default_gain = "1";
					step_gain_val = "3"; /* 0.3 */
				
					/* HDR */
					min_hdr_ratio = "1"; /* Default, if no HDR */
					max_hdr_ratio = "1"; /* Default, if no HDR */
					
					/* Framerate */
					framerate_factor = "1"; 
					min_framerate = "1"; /* 1.00 fps */
					max_framerate = "90"; /* 90 fps */
					step_framerate = "1"; 
					default_framerate = "25"; /* 25 fps */

					/* Exposure */
					exposure_factor = "1000000"; 
					min_exp_time = "32"; /* us */
					max_exp_time = "39840"; /* us */
					step_exp_time = "32";
					default_exp_time = "32"; /* us */
					
					/* EBD */
					embedded_metadata_height = "1";
				};

				ports {
					status="okay";
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						status="okay";
						reg = <0>;
						imx662_vc_out7: endpoint {
							status="okay";
							vc-id = <3>;
							port-index = <2>;
							bus-width = <4>;
							remote-endpoint = <&cam_csi_in7>;
						};
					};
				};
			};
		};
	};
};

Do you review the port-index/bus-width in tegra-capture-vi{} and nvcsi@15a00000 {} scope?

I am very confident that the VI/CSI part is correct, because mode0 works as expected. This issue only occurs using mode1

media-ctl --print-dot -d /dev/media0 > media.dot
dot -Tpng -o ./media.png ./media.dot

Suppose it could be the vc-id incorrect cause the problem.
Get the trace log to check.

Here is the trace log. I have started /dev/video1 and it shows a working stream. /dev/video2 returns the error mentioned in the initial message. Here is the log for that case:

echo 1 > /sys/kernel/debug/tracing/tracing_on
echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb
echo 1 > /sys/kernel/debug/tracing/events/tegra_rtcpu/enable
echo 1 > /sys/kernel/debug/tracing/events/freertos/enable
echo 2 > /sys/kernel/debug/camrtc/log-level
echo 1 > /sys/kernel/debug/tracing/events/camera_common/enable
echo > /sys/kernel/debug/tracing/trace
cat /sys/kernel/debug/tracing/trace

trace.log (866.9 KB)

One important node: If I start /dev/video2 first and /dev/video1 as seccond device, /dev/video1 returns the error in the initial message instead.

The first camera I start streaming works fine, any camera I start simultaneously on the same CSI interface results in the error.

Here is a screen recording of the behavior I am facing:

Mode0 works as expected with 4 streams simultaneously on one CSI interface.

  1. PIXEL_RUNAWAY of CHANSEL_FAULT tell the output size more than expected.
  2. CHANSEL_NOMATCH, could be incorrect virtual id

if you are referring to those 2 lines in the logs:

nvcapture-status-decoder      kworker/3:0-3309    [003] ....  4126.729198: rtcpu_vinotify_error: tstamp:129504736800 cch:-1 vi:0 tag:CSIMUX_STREAM channel:0x00 frame:1 vi_tstamp:4144151442368 data:0x0000000000000001
NVIDIA camera capture status decoder utility (Version 2.00)
Copyright (C) 2019-2020, NVIDIA Corporation. All rights reserved.

Stream: 0
Frame: 1
Status: 3 (CsimuxStreamError)
Data 0x0000000000000001
Timestamp: 129504736800

CsimuxStreamError : 0x0000000000000001
    -Spurious data stream 0      [ 0]: 1
        See ID field to know which VC

test@test-desktop:~$ 
test@test-desktop:~$ nvcapture-status-decoder      kworker/3:0-3309    [003] ....  4126.789194: rtcpu_vinotify_error: tstamp:129505658070 cch:1 vi:0 tag:CHANSEL_NOMATCH channel:0x41 frame:3 vi_tstamp:4144180921856 data:0x0000000000000249
NVIDIA camera capture status decoder utility (Version 2.00)
Copyright (C) 2019-2020, NVIDIA Corporation. All rights reserved.

Stream: 65
Frame: 3
Status: 6 (ChanselNoMatch)
Data 0x0000000000000249
Timestamp: 129505658070

ChanselNoMatch : 0x0000000000000249
    -NO_MATCH                    [ 0]: 1
        The non-embedded data packet does not match any configured channels at all

    -CTYPE                    [ 4: 1]: 0x4
        4-bit bitfield for packet types: 1: FE, 2: LE, 4: LS, 6: LS_LE, 8: FS, 9: DATA

    -DTYPE                    [10: 5]: 0x12
        6-bit bitfield for CSI data types 

I don’t think that this is the cause of this issue, because:

  • The second camera stream is not yet active at this time. The stream command is issued at a later time.
  • This is much more likely a broken frame from the camera, as mentioned in the datasheet: Mode Transitions → One invalid frame is generated.

I would rather suggest to take a closer look at this line form the nvargus-deamon logs:

This post mentions something about camera initialization. I sadly cannot follow this hint any further, because I don’t know exactly what goes wrong during the call of that function.

Please check by v4l2-ctl if have the same problem to clarify the SCF error.

Thanks

VI Stride issue

I actually found something. I wasn’t able to get frames using the v4l2 commands bellow and noticed some strange errors in the dmesg logs.

V4l2-ctl

test@test-desktop:~$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl sensor_mode=0 --set-ctrl bypass_mode=0 --stream-mmap
^C

dmesg

[  +0,040004] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 64
... # and so on

A quick google search took me to the following forum post about the Stride Alignment.

Following the example from RidgeRun shows that the current resolutions are not compatible with the packet length of 64 bytes

VI Stride Calculations

Mode0

# Not Divisible by 64
bytes: 2
bytes per line: 1936 * 2 / 64 = 60,5

Mode1

# Not Divisible by 64
bytes: 2
bytes per line: 968 * 2 / 64 = 30,25

Solution

I have fixed the VI Stride problem by copping the sensor output to 1920x1080 for mode0 and 960x540 for mode1

I am now able to receive frame over v4l2 as well as nvargus again.

test@test-desktop:~$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=960,height=540,pixelformat=RG12 --set-ctrl sensor_mode=1 --set-ctrl bypass_mode=0 --stream-mmap
<<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
<<<<<<<<<<<^C
test@test-desktop:~$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl sensor_mode=0 --set-ctrl bypass_mode=0 --stream-mmap
<<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
<<<<<^C
test@test-desktop:~$ 

The errors on the first frame in the vi trace are also gone now

root@test-desktop:/home/test# cat /sys/kernel/debug/tracing/trace | grep err
root@test-desktop:/home/test# 

Back to the origin of this post

It seems, that I am able to receive 4 streams simultaneously over v4l2-cli using mode0 or mode1

Switching now back to nvargus crashes now again when more than one stream is running simultaneously on the same CSI interface on mode0 and mode1…

Script

test@test-desktop:~$ cat ./v4l2_mode0.sh 
#!/bin/bash

v4l2-ctl -d /dev/video$1 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl sensor_mode=0 --set-ctrl bypass_mode=0 --stream-mmap  --stream-count=100
test@test-desktop:~$ cat ./v4l2_mode1.sh 
#!/bin/bash

 v4l2-ctl -d /dev/video$1 --set-fmt-video=width=960,height=540,pixelformat=RG12 --set-ctrl sensor_mode=1 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100

V4l2 scripts and logs

V4l2 Logs

mode0

test@test-desktop:~$ ./v4l2_mode0.sh 0 & ./v4l2_mode0.sh 1 & ./v4l2_mode0.sh 2 & ./v4l2_mode0.sh 3
[1] 3557
[2] 3558
[3] 3559
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
< 25.00 fps
< 25.00 fps
< 25.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
< 25.00 fps
< 25.00 fps
< 25.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
< 25.00 fps
< 25.00 fps
< 25.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<



[1]   Done                    ./v4l2_mode0.sh 0
[2]-  Done                    ./v4l2_mode0.sh 1
test@test-desktop:~$ 

mode1

test@test-desktop:~$ ./v4l2_mode1.sh 0 & ./v4l2_mode1.sh 1 & ./v4l2_mode1.sh 2 & ./v4l2_mode1.sh 3
[1] 3384
[2] 3385
[3] 3386
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
< 25.00 fps
< 25.00 fps
< 25.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
< 25.00 fps
< 25.00 fps
< 25.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
< 25.00 fps
< 25.00 fps
< 25.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

nvargus scripts and logs for mode0

stream script

Terminal 1: $ ./stream.sh 0 0
Terminal 2: $ ./stream.sh 1 0

test@test-desktop:~$ cat ./stream.sh
#!/bin/bash

gst-launch-1.0 nvarguscamerasrc sensor-id=$1 sensor-mode=$2 ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)25/1' ! nvvidconv ! queue ! fpsdisplaysink video-sink=xvimagesink
test@test-desktop:~$ 

nvargus-deamon logs

root@test-desktop:/home/test# service nvargus-daemon stop

root@test-desktop:/home/test# export enableCamInfiniteTimeout=1
root@test-desktop:/home/test# export enableCamCoreLogs=0
root@test-desktop:/home/test# export enableCamPclLogs=1
root@test-desktop:/home/test# export enableCamScfLogs=1
root@test-desktop:/home/test# /usr/sbin/nvargus-daemon
=== NVIDIA Libargus Camera Service (0.99.33)=== Listening for connections...=== gst-launch-1.0[3582]: Connection established (FFFF86053900)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module4
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module5
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module6
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module7
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
=== gst-launch-1.0[3582]: CameraProvider initialized (0xffff80c59040)SCF: Error BadValue: NvPHSSendThroughputHints (in src/common/CameraPowerHint.cpp, function sendCameraPowerHint(), line 56)
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
=== gst-launch-1.0[3653]: Connection established (FFFF557F6900)=== gst-launch-1.0[3653]: CameraProvider initialized (0xffff00000c20)CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
SCF: Error InvalidState: Timeout!! Skipping requests on sensor GUID 1, capture sequence ID = 2 draining session frameStart events 2
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameStart(), line 529)
SCF: Error Timeout: Sending critical error event for Session 1 
 (in src/api/Session.cpp, function sendErrorEvent(), line 1039)
SCF: Error InvalidState: Sensor 1 already in same state 
 (in src/services/capture/CaptureServiceDeviceSensor.cpp, function setErrorState(), line 100)
SCF: Error InvalidState: Sensor GUID 1 is in error state. Skipping requests, capture sequence ID = 3 continue draining session frameStart events 1
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameStart(), line 543)
SCF: Error InvalidState: Sensor GUID 1 is in error state. Skipping requests, capture sequence ID = 4 continue draining session frameStart events 1
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameStart(), line 543)
SCF: Error BadParameter: CC has already been disposed (in src/components/CaptureContainerManager.cpp, function dispose(), line 161)
SCF: Error BadParameter: CC has already been disposed (in src/components/CaptureContainerManager.cpp, function dispose(), line 161)
SCF: Error InvalidState: Timeout!! Skipping requests on sensor GUID 1, capture sequence ID = 2 draining session frameEnd events 2
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 646)
SCF: Error BadParameter: CC has already been disposed (in src/components/CaptureContainerManager.cpp, function dispose(), line 161)
SCF: Error InvalidState: Sensor 1 already in same state 
 (in src/services/capture/CaptureServiceDeviceSensor.cpp, function setErrorState(), line 100)
SCF: Error InvalidState: Timeout!! Skipping requests on sensor GUID 1, capture sequence ID = 3 draining session frameEnd events 2
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 646)
SCF: Error BadParameter: CC has already been disposed (in src/components/CaptureContainerManager.cpp, function dispose(), line 161)
SCF: Error InvalidState: Sensor 1 already in same state 
 (in src/services/capture/CaptureServiceDeviceSensor.cpp, function setErrorState(), line 100)
SCF: Error InvalidState: Timeout!! Skipping requests on sensor GUID 1, capture sequence ID = 4 draining session frameEnd events 1
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 646)
SCF: Error BadParameter: CC has already been disposed (in src/components/CaptureContainerManager.cpp, function dispose(), line 161)

CSI/VI tracelog

trace_gst.log (2.9 MB)

Dmesg error log

[  +0,048913] [RCE] ERROR: camera-ip/vi5/vi5.c:745 [vi5_handle_eof] "General error queue is out of sync with frame queue. ts=690692781120 sof_ts=690693495136 gerror_code=2 gerror_data=a0 notify_bits=0"

nvargus scripts and logs for mode1

stream script

Terminal 1: $ ./stream.sh 0 1
Terminal 2: $ ./stream.sh 1 1

test@test-desktop:~$ cat ./stream.sh
#!/bin/bash

gst-launch-1.0 nvarguscamerasrc sensor-id=$1 sensor-mode=$2 ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)25/1' ! nvvidconv ! queue ! fpsdisplaysink video-sink=xvimagesink
test@test-desktop:~$ 

nvargus-deamon logs

root@test-desktop:/home/test# /usr/sbin/nvargus-daemon
=== NVIDIA Libargus Camera Service (0.99.33)=== Listening for connections...t=== gst-launch-1.0[3954]: Connection established (FFFFB2AA2900)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module4
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module5
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module6
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module7
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
=== gst-launch-1.0[3954]: CameraProvider initialized (0xffffacd065b0)SCF: Error BadValue: NvPHSSendThroughputHints (in src/common/CameraPowerHint.cpp, function sendCameraPowerHint(), line 56)
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
=== gst-launch-1.0[4010]: Connection established (FFFF92681900)=== gst-launch-1.0[4010]: CameraProvider initialized (0xffff2c000c20)SCF: Error InvalidState:  (propagating from src/services/capture/FusaCaptureViCsiHw.cpp, function openViCsi(), line 391)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureServiceDeviceViCsi.cpp, function open(), line 336)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureServiceDevice.cpp, function openSource(), line 398)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureService.cpp, function openSource(), line 501)
SCF: Error InvalidState:  (propagating from src/api/Session.cpp, function initialize(), line 294)
SCF: Error InvalidState:  (propagating from src/api/CameraDriver.cpp, function createSession(), line 645)
(Argus) Error InvalidState:  (propagating from src/api/CaptureSessionImpl.cpp, function initialize(), line 177)
(Argus) Error InvalidState:  (propagating from src/api/CameraProviderImpl.cpp, function createCaptureSessionInternal(), line 305)
(Argus) Error InvalidState: Element not found (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamerautils/inc/Vector.h, function remove(), line 172)
=== gst-launch-1.0[4010]: CameraProvider destroyed (0xffff2c000c20)=== gst-launch-1.0[4010]: Connection closed (FFFF92681900)=== gst-launch-1.0[4010]: Connection cleaned up (FFFF92681900)=== gst-launch-1.0[3954]: CameraProvider destroyed (0xffffacd065b0)=== gst-launch-1.0[3954]: Connection closed (FFFFB2AA2900)=== gst-launch-1.0[3954]: Connection cleaned up (FFFFB2AA2900)

CSI/VI tracelog

trace-mode1-gst.log (887.9 KB)

Dmesg error log

No error reported here :c

I unfortunately don’t know how to proceed any further with this issue here.
I have also tried to apply some bug fixes for L4T 35.5.0 that were posted in a similar thread to this one. This unfortunately didn’t change the outcome.

hello TobidieTopfpflanze,

we’ve seen some VI driver bugs on r35.5.0 recently, there’ll be kernel panic when VI trying to recover the stream.
please apply two kernel patches from Topic 305007 to resolve that.

Please update the RCE firmware for the “General error queue is out of sync with frame queue.”

camera-rtcpu-t234-rce.img.r35.5.asynchronous (519.3 KB)

Thanks for the quick reply ;D

The VI patch sadly did not improve the result of my issues

However the RCE firmware update has resolved one of my issues. Mode0 is now able stream properly using one camera.
Now, the only remaining problem is streaming multiple cameras on a single CSI port at the same time (It’s currently the same result on Mode0 and Mode1). V4l2 works, the gst pipeline using nvarguscamerasrc not. One Camera works without any problems, the issue appears as soon as I start the 2nd camera stream on the same CSI interface.

gst

nvargus-deamon

root@test-desktop:/home/test# service nvargus-daemon stop
iteTimeout=1
export enableCamCoreLogs=0
export enableCamPclLogs=1
export enableCamScfLogs=1
/usr/sbin/nvargus-daemon
root@test-desktop:/home/test# export enableCamInfiniteTimeout=1
root@test-desktop:/home/test# export enableCamCoreLogs=0
root@test-desktop:/home/test# export enableCamPclLogs=1
root@test-desktop:/home/test# export enableCamScfLogs=1
root@test-desktop:/home/test# /usr/sbin/nvargus-daemon
=== NVIDIA Libargus Camera Service (0.99.33)=== Listening for connections...=== gst-launch-1.0[5225]: Connection established (FFFF961EB900)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module4
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module5
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module6
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module7
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
=== gst-launch-1.0[5225]: CameraProvider initialized (0xffff90c58f50)SCF: Error BadValue: NvPHSSendThroughputHints (in src/common/CameraPowerHint.cpp, function sendCameraPowerHint(), line 56)
CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
=== gst-launch-1.0[5282]: Connection established (FFFF61DCA900)=== gst-launch-1.0[5282]: CameraProvider initialized (0xffff10000c20)CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!
SCF: Error InvalidState:  (propagating from src/services/capture/FusaCaptureViCsiHw.cpp, function openViCsi(), line 393)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureServiceDeviceViCsi.cpp, function setMode(), line 470)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureRecord.cpp, function updateMode(), line 467)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureServiceDevice.cpp, function issueCaptures(), line 1355)
SCF: Error InvalidState:  (propagating from src/common/Utils.cpp, function workerThread(), line 114)
SCF: Error InvalidState: Worker thread CaptureScheduler frameStart failed (in src/common/Utils.cpp, function workerThread(), line 133)
SCF: Error Timeout:  (propagating from src/api/Buffer.cpp, function waitForUnlock(), line 644)
SCF: Error Timeout:  (propagating from src/components/CaptureContainerImpl.cpp, function returnBuffer(), line 426)
SCF: Error InvalidState: Capture Scheduler not running (in src/services/capture/CaptureServiceDevice.cpp, function addNewItemToSchedule(), line 1004)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureService.cpp, function addRequest(), line 411)
SCF: Error InvalidState:  (propagating from src/components/stages/MemoryToISPCaptureStage.cpp, function doHandleRequest(), line 144)
SCF: Error InvalidState:  (propagating from src/components/stages/OrderedStage.cpp, function doExecute(), line 158)
SCF: Error InvalidState: Sending critical error event for Session 1 
 (in src/api/Session.cpp, function sendErrorEvent(), line 1039)
SCF: Error InvalidState: Capture Scheduler not running (in src/services/capture/CaptureServiceDevice.cpp, function addNewItemToSchedule(), line 1004)
SCF: Error InvalidState:  (propagating from src/services/capture/CaptureService.cpp, function addRequest(), line 411)
SCF: Error InvalidState:  (propagating from src/components/stages/SensorCaptureStage.cpp, function doHandleRequest(), line 87)
SCF: Error InvalidState:  (propagating from src/components/stages/OrderedStage.cpp, function doExecute(), line 158)
=== gst-launch-1.0[5282]: Connection closed (FFFF61DCA900)SCF: Error InvalidState: 2 buffers still pending during EGLStreamProducer destruction (in src/services/gl/EGLStreamProducer.cpp, function freeBuffers(), line 300)

trace log

trace-gst.log (1.9 MB)

v4l2

[1] 5546
[2] 5547
[3] 5548
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
< 25.00 fps
< 25.00 fps
<<<<<<<<<<<<< 25.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
< 25.00 fps
< 25.00 fps
<<<<<<<<<<<<< 25.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 25.00 fps
< 25.00 fps
< 25.00 fps
<<<<<<<<<<<<< 25.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


<[3]+  Done                    ./v4l2_mode1.sh 2

trace log

trace-v4l2.log (1.3 MB)

Just to prevent confusion, I am @TobidieTopfpflanze.

From the trace-gst.log looks like only open one camera.
Could you launch one camera and wait few time to open second one to check.

tegra_channel_set_power: imx662 9-0011 : 0x1

I have been waiting for around 6 minutes until I have started the 2nd stream. The trace-log still shows CHANSEL_NOMATCH.

trace-gst-wait.log (3.4 MB)

Please boost the clocks to try.

sudo su
echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate |tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee  /sys/kernel/debug/bpmp/debug/clk/isp/rate
cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate
cat /sys/kernel/debug/bpmp/debug/clk/emc/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/emc/rate