Modifying device tree for IMX219 behind I2C mux

Doesn’t matter with that. The error cause by the i2c communicate with sensor.

Ok, I’ve actually made progress! I can tell that the solution is within my grasp now…

I’m now getting an imx219 specific error. I’m guessing my driver is wrong, which is frustrating because I lifted it directly from the default imx219 DTSI.

Here is the error:

[    1.779157] imx219 32-0010: i2c bus regbase unavailable
[    1.784431] imx219 32-0010: Could not initialize sensor properties.
[    1.790731] imx219 32-0010: Failed to initialize imx219
[    1.795973] imx219 32-0010: tegra camera driver registration failed

Relevant nodes:

	tegra-camera-platform {
		compatible = "nvidia, tegra-camera-platform";
		num_csi_lanes = <0x04>;
		max_lane_speed = <0x16e360>;
		min_bits_per_pixel = <0x0a>;
		vi_peak_byte_per_pixel = <0x02>;
		vi_bw_margin_pct = <0x19>;
		max_pixel_rate = <0x3a980>;
		isp_peak_byte_per_pixel = <0x05>;
		isp_bw_margin_pct = <0x19>;
		linux,phandle = <0xc9>;
		phandle = <0xc9>;

		modules {

			module0 {
				badge = "porg_front_RBPCV2";
				position = "front";
				orientation = [31 00];
				status = "okay";
				linux,phandle = <0xbf>;
				phandle = <0xbf>;

				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "imx219 7-0010";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@70/i2c@2/rbpcv2_imx219_a@10";
					status = "okay";
					linux,phandle = <0xc0>;
					phandle = <0xc0>;
				};

				drivernode1 {
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
					status = "okay";
					linux,phandle = <0xc1>;
					phandle = <0xc1>;
				};
			};

			module1 {
				badge = "porg_rear_RBPCV2";
				position = "rear";
				orientation = [31 00];
				status = "disabled";
				linux,phandle = <0xca>;
				phandle = <0xca>;

				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "imx219 8-0010";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@70/i2c@2/rbpcv2_imx219_a@10";
					status = "disabled";
					linux,phandle = <0xcd>;
					phandle = <0xcd>;
				};

				drivernode1 {
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
					status = "disabled";
					linux,phandle = <0xce>;
					phandle = <0xce>;
				};
			};
		};
	};

			tca9548@70 {
				compatible = "nxp,pca9548";
				status = "okay";
				reg = <0x70>;
				#address-cells = <1>;
				#size-cells = <0>;
				vcc-supply = <0x4c>;
				force_bus_start = <0x1E>;

				i2c@2 {
					status = "okay";
					reg = <2>;
					#address-cells = <0x01>;
					#size-cells = <0x00>;
					linux,phandle = <0xd4>;
					phandle = <0xd4>;

					rbpcv2_imx219_a@10 {
						compatible = "nvidia,imx219";
						reg = <0x10>;
						devnode = "video0";
						physical_w = "3.680";
						physical_h = "2.760";
						sensor_model = "imx219";
						use_sensor_mode_id = "true";
						status = "okay";
						reset-gpios = <0x5b 0x97 0x00>;
						linux,phandle = <0xcb>;
						phandle = <0xcb>;
						ports {
							#address-cells = <0x01>;
							#size-cells = <0x00>;

							port@0 {
								reg = <0x00>;

								endpoint {
									port-index = <0x00>;
									bus-width = <0x02>;
									remote-endpoint = <0x78>;
									linux,phandle = <0x79>;
									phandle = <0x79>;
								};
							};
						};
					};
				};
			};

i2cdetect -l
i2c-35  i2c             i2c-6-mux (chan_id 5)                   I2C adapter
i2c-3   i2c             7000c700.i2c                            I2C adapter
i2c-33  i2c             i2c-6-mux (chan_id 3)                   I2C adapter
i2c-1   i2c             7000c400.i2c                            I2C adapter
i2c-31  i2c             i2c-6-mux (chan_id 1)                   I2C adapter
i2c-6   i2c             Tegra I2C adapter                       I2C adapter
i2c-36  i2c             i2c-6-mux (chan_id 6)                   I2C adapter
i2c-4   i2c             7000d000.i2c                            I2C adapter
i2c-34  i2c             i2c-6-mux (chan_id 4)                   I2C adapter
i2c-2   i2c             7000c500.i2c                            I2C adapter
i2c-32  i2c             i2c-6-mux (chan_id 2)                   I2C adapter
i2c-0   i2c             7000c000.i2c                            I2C adapter
i2c-30  i2c             i2c-6-mux (chan_id 0)                   I2C adapter
i2c-37  i2c             i2c-6-mux (chan_id 7)                   I2C adapter
i2c-5   i2c             7000d100.i2c                            I2C adapter

Do you know what could be the cause of this? Is it still something to do with the Mux or is it now my camera driver (camera is on i2c-32)?

Yes, from you dts it’s bus 32 you may check the error from source to get more information.

Also some status was disabled in the module1

Ok, I’ve figured that error out as well, but now I think the final task is correcting the nvcsi path. During boot time I’m hit with this:

[    4.901698] vi 54080000.vi: vi_probe: ++
[    4.904676] vi 54080000.vi: initialized
[    4.906658] vi 54080000.vi: subdev nvcsi--2 bound
[    4.906669] vi 54080000.vi: subdev imx219 32-0010 bound
[    4.907476] vi 54080000.vi: graph parse error: /host1x/nvcsi/channel@1.

It looks like the kernel is trying to access the imx219 on i2c bus 32, but it gets some nvcsi error. Here is my nvcsi:

		nvcsi {
			num-channels = <0x02>;
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			linux,phandle = <0xc4>;
			phandle = <0xc4>;

			channel@0 {
				reg = <0x00>;
				linux,phandle = <0xc5>;
				phandle = <0xc5>;

				ports {
					#address-cells = <0x01>;
					#size-cells = <0x00>;

					port@0 {
						reg = <0>;
						linux,phandle = <0xc6>;
						phandle = <0xc6>;

						rbpcv2_imx219_csi_in0: endpoint@0 {
							port-index = <0x00>;
							bus-width = <0x02>;
							remote-endpoint = <&rbpcv2_imx219_out0>;
						};
					};

					port@1 {
						reg = <1>;

						rbpcv2_imx219_csi_out0: endpoint@1 {
							remote-endpoint = <&rbpcv2_imx219_vi_in0>;
						};
					};
				};
			};

			channel@1 {
				reg = <0x01>;
				linux,phandle = <0xd0>;
				phandle = <0xd0>;

				ports {
					#address-cells = <0x01>;
					#size-cells = <0x00>;

					port@0 {
						reg = <0x00>;
						linux,phandle = <0xd1>;
						phandle = <0xd1>;

						endpoint@2 {
							port-index = <0x04>;
							bus-width = <0x02>;
							remote-endpoint = <0x7b>;
							linux,phandle = <0xae>;
							phandle = <0xae>;
						};
					};

					port@1 {
						reg = <0x01>;
						linux,phandle = <0xd2>;
						phandle = <0xd2>;

						endpoint@3 {
							remote-endpoint = <0x7c>;
							linux,phandle = <0x60>;
							phandle = <0x60>;
						};
					};
				};
			};
		};

Does this mean I need to rearrange my nvcsi, vi, and imx219 ports?

Did you connect another imx219 to channel@1 too? If not remove it or set the status to disable.

I only have one IMX219 connected to this board.

I’ll remove channel@1 and see what happens

Also modify the num-channels to 1

Ok cool, that got rid of the error message!

[    5.021879] tegra dvfs: vdd-core: nominal 1125mV, offset 1000000uV, step 12500uV, scaling enabled
[    5.021880] tegra dvfs: vdd-gpu: nominal 1078mV, offset 708000uV, step 10000uV, scaling enabled
[    5.078836] tegra_dvfs: vdd-gpu-vts: registered
[    5.089818] tegra_core_action core_dvfs_cdev_floor: Tegra CORE DVFS 'floor cooling device' registered
[    5.090480] tegra_core_action core_dvfs_cdev_cap: Tegra CORE DVFS 'cap cooling device' registered
[    5.091007] input: gpio-keys as /devices/gpio-keys/input/input0
[    5.141416] tegra_rtc 7000e000.rtc: setting system clock to 2021-08-03 03:45:51 UTC (1627962351)
[    5.142286] vi 54080000.vi: vi_probe: ++
[    5.261439] vi 54080000.vi: initialized
[    5.291757] vi 54080000.vi: subdev nvcsi--1 bound
[    5.291769] vi 54080000.vi: subdev imx219 32-0010 bound
[    5.294167] Disable partitions left on by BL

If I didn’t know better I’d think that the camera would be working because of this message: [ 5.291769] vi 54080000.vi: subdev imx219 32-0010 bound

But for some reason I still get

bitrate = 4000000
Encoder Profile = High
Encoder control-rate = 1
Encoder EnableTwopassCBR = 0
Opening in BLOCKING MODE
Opening in BLOCKING MODE 
** Message: 13:56:09.258: <main:4670> iterating capture loop ....
NvMMLiteOpen : Block : BlockType = 4 
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4 
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:645 No cameras available

In nvgstcapture. Any idea how to debug the issue? Is it still device tree related?

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

Camera Controls

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

  1. Verify if v4l2-ctl capture by command
v4l2-ctl --stream-mmap --stream-count=100 --set-ctrl bypass_mode=0 -d /dev/video0
  1. Check the devname and proc-device-tree in tegra-camera-platform{} for nvgstcapture-1.0 “No cameras available”
v4l2-ctl --stream-mmap --stream-count=100 --set-ctrl bypass_mode=0 -d /dev/video0
<<<<<<<<<<<<<<<<<<<<<<< 21.35 fps
<<<<<<<<<<<<<<<<<<<<< 21.18 fps
<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<

It looks like it worked! I’m unsure what to actually look for in the tegra-camera-platform:

tegra-camera-platform {
		compatible = "nvidia, tegra-camera-platform";
		num_csi_lanes = <0x04>;
		max_lane_speed = <0x16e360>;
		min_bits_per_pixel = <0x0a>;
		vi_peak_byte_per_pixel = <0x02>;
		vi_bw_margin_pct = <0x19>;
		max_pixel_rate = <0x3a980>;
		isp_peak_byte_per_pixel = <0x05>;
		isp_bw_margin_pct = <0x19>;
		linux,phandle = <0xc9>;
		phandle = <0xc9>;

		modules {

			module0 {
				badge = "porg_front_RBPCV2";
				position = "front";
				orientation = [31 00];
				status = "okay";
				linux,phandle = <0xbf>;
				phandle = <0xbf>;

				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "imx219 7-0010";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@70/i2c@2/rbpcv2_imx219_a@10";
					status = "okay";
				};

				drivernode1 {
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
					status = "okay";
				};
			};

			module1 {
				badge = "porg_rear_RBPCV2";
				position = "rear";
				orientation = [31 00];
				status = "okay";

				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "imx219 8-0010";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@70/i2c@2/rbpcv2_imx219_a@10";
					status = "okay";
				};

				drivernode1 {
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
					status = "okay";
				};
			};
		};
	};

Should be “imx219 32-0010”

omg that worked

Thanks for bearing with me Shane, you’re a genius!

Interestingly, after flashing L4T everything seems working, but then after sudo apt update && sudo apt upgrade, the i2c seems to change

Before apt upgrade:

i2cdetect -l
i2c-35	i2c       	i2c-6-mux (chan_id 5)           	I2C adapter
i2c-3	i2c       	7000c700.i2c                    	I2C adapter
i2c-33	i2c       	i2c-6-mux (chan_id 3)           	I2C adapter
i2c-1	i2c       	7000c400.i2c                    	I2C adapter
i2c-31	i2c       	i2c-6-mux (chan_id 1)           	I2C adapter
i2c-6	i2c       	Tegra I2C adapter               	I2C adapter
i2c-36	i2c       	i2c-6-mux (chan_id 6)           	I2C adapter
i2c-4	i2c       	7000d000.i2c                    	I2C adapter
i2c-34	i2c       	i2c-6-mux (chan_id 4)           	I2C adapter
i2c-2	i2c       	7000c500.i2c                    	I2C adapter
i2c-32	i2c       	i2c-6-mux (chan_id 2)           	I2C adapter
i2c-0	i2c       	7000c000.i2c                    	I2C adapter
i2c-30	i2c       	i2c-6-mux (chan_id 0)           	I2C adapter
i2c-37	i2c       	i2c-6-mux (chan_id 7)           	I2C adapter
i2c-5	i2c       	7000d100.i2c                    	I2C adapter

And nvgstcapture seems to work (although no display for some reason?). Also /dev/video0 exists.

After apt upgrade:

[    1.816863] imx219 7-0010: imx219_board_setup: error during i2c read probe (-121)
[    1.816930] imx219 7-0010: board setup failed
[    1.840750] imx219 8-0010: imx219_board_setup: error during i2c read probe (-121)
[    1.840807] imx219 8-0010: board setup failed

i2cdetect -l
i2c-3	i2c       	7000c700.i2c                    	I2C adapter
i2c-1	i2c       	7000c400.i2c                    	I2C adapter
i2c-8	i2c       	i2c-6-mux (chan_id 1)           	I2C adapter
i2c-6	i2c       	Tegra I2C adapter               	I2C adapter
i2c-4	i2c       	7000d000.i2c                    	I2C adapter
i2c-2	i2c       	7000c500.i2c                    	I2C adapter
i2c-0	i2c       	7000c000.i2c                    	I2C adapter
i2c-7	i2c       	i2c-6-mux (chan_id 0)           	I2C adapter
i2c-5	i2c       	7000d100.i2c                    	I2C adapter

Is it because apt updade changes the DTB?

Yes, apt upgrade will update the DTB and kernel Image

Do you know how I can replace just the DTB after flashing? I tried copying /boot/tegra210-p3448-0002-p3449-0000-b00.dtb from the Nano, and then doing apt upgrade and then replacing it, but that didn’t seem to do anything.

Try to modify the/boot/extlinux/extlinux.conf to add FDT like below to apply your dtb.

FDT /boot/tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb
1 Like

Thanks Shane I love you

1 Like

Ok last problem. Everything appears to be working, but nvgstcapture hangs when it is run and does not display any window.

$ nvgstcapture
Encoder null, cannot set bitrate!
Encoder Profile = High
Supported resolutions in case of ARGUS Camera
  (2) : 640x480
  (3) : 1280x720
  (4) : 1920x1080
  (5) : 2104x1560
  (6) : 2592x1944
  (7) : 2616x1472
  (8) : 3840x2160
  (9) : 3896x2192
  (10): 4208x3120
  (11): 5632x3168
  (12): 5632x4224

Runtime ARGUS Camera Commands:

  Help : 'h'
  Quit : 'q'
  Set Capture Mode:
      mo:<val>
          (1): image
          (2): video
  Get Capture Mode:
      gmo
  Set sensor orientation:
      so:<val>
          (0): none
          (1): Rotate counter-clockwise 90 degrees
          (2): Rotate 180 degrees
          (3): Rotate clockwise 90 degrees
  Get sensor orientation:
      gso
  Set sensor mode:
      smo:<val> e.g., smo:1
  Get sensor mode:
      gsmo
  Set Whitebalance Mode:
      wb:<val>
          (0): off
          (1): auto
          (2): incandescent
          (3): fluorescent
          (4): warm-fluorescent
          (5): daylight
          (6): cloudy-daylight
          (7): twilight
          (8): shade
          (9): manual
  Get Whitebalance Mode:
      gwb
  Set Saturation (0 to 2):
      st:<val> e.g., st:1.25
  Get Saturation:
      gst
  Set Exposure Compensation (-2 to 2):
      ec:<val> e.g., ec:-2
  Get Exposure Compensation:
      gec
  Set Auto Whitebalance Lock:
      awbl:<val> e.g., awbl:0
  Get Auto Whitebalance Lock:
      awbl
  Set Auto Exposure Lock:
      ael:<val> e.g., ael:0
  Get Auto Exposure Lock:
      gael
  Set TNR Mode:
      tnrm:<val> e.g., tnrm:1
          (0): OFF
          (1): FAST
          (2): HIGH QUALITY
  Get TNR Mode:
      gtnrm
  Set TNR Strength (-1 to 1):
      tnrs:<val> e.g., tnrs:0.5
  Get TNR Strength:
      gtnrs
  Set EE Mode:
      eem:<val> e.g., eem:1
          (0): OFF
          (1): FAST
          (2): HIGH QUALITY
  Get EE Mode:
      geem
  Set EE Strength (-1 to 1):
      ees:<val> e.g., ees:0.5
  Get EE Strength:
      gees
  Set Auto Exposure Anti-Banding (0 to 3):
      aeab:<val> e.g., aeab:2
          (0): OFF
          (1): MODE AUTO
          (2): MODE 50HZ
          (3): MODE 60HZ
  Get Auto Exposure Anti-Banding:
      gaeab
  Set Gain Range:
      gr:<val><space><val> e.g., gr:1 16
  Get Gain Range:
      ggr
  Set Exposure Time Range:
      etr:<val><space><val> e.g., etr:34000 35000
  Get Exposure Time Range:
      getr
  Set ISP Digital Gain Range:
      dgr:<val><space><val> e.g., dgr:2 152
  Get ISP Digital Gain Range:
      gdgr
  Capture: enter 'j' OR
           followed by a timer (e.g., jx5000, capture after 5 seconds) OR
           followed by multishot count (e.g., j:6, capture 6 images)
           timer/multihot values are optional, capture defaults to single shot with timer=0s
  Start Recording : enter '1'
  Stop Recording  : enter '0'
  Video snapshot  : enter '2' (While recording video)
  Get Preview Resolution:
      gpcr
  Get Image Capture Resolution:
      gicr
  Get Video Capture Resolution:
      gvcr


Runtime encoder configuration options:

  Set Encoding Bit-rate(in bytes):
      br:<val> e.g., br:4000000
  Get Encoding Bit-rate(in bytes):
      gbr
  Set Encoding Profile(only for H.264):
      ep:<val> e.g., ep:1
          (0): Baseline
          (1): Main
          (2): High
  Get Encoding Profile(only for H.264):
      gep
  Force IDR Frame on video Encoder(only for H.264):
      Enter 'f' 


nvbuf_utils: Could not get EGL display connection
bitrate = 4000000
Encoder Profile = High
Encoder control-rate = 1
Encoder EnableTwopassCBR = 0
Opening in BLOCKING MODE
Opening in BLOCKING MODE 
** Message: 14:44:00.659: <main:4670> iterating capture loop ....
NvMMLiteOpen : Block : BlockType = 4 
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4 
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3264 x 2464 FR = 21.000000 fps Duration = 47619048 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 3264 x 1848 FR = 28.000001 fps Duration = 35714284 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1640 x 1232 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 5 
   Output Stream W = 1280 H = 720 
   seconds to Run    = 0 
   Frame Rate = 120.000005 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.

It kinda just hangs on this for a while until I Ctrl+C out of it. Previously it would open a window and show the camera feed but it doesn’t seem to do that. Any way to debug it?

Nevermind, this one works!

gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=3280, height=2464, format=NV12, framerate=(fraction)21/1' ! nvvidconv ! xvimagesink

Did you run r32.5.1?
Looks like nvgstcapture-1.0 have problem for frame rate less than 30, Have a check below link

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