V4l2 can capture raw picture, but nvgstcapture can not display the video stream

The same sensor behaves differently on different boards, the following:
NX board: v4l2 can capture raw picture, but nvgstcapture can not display the video stream
TX2 board: v4l2 can capture raw picture, nvgstcapture can display the video stream

NX board:
$ nvgstcapture

The Mipi signal can be measured by the oscilloscope, but nvgstcapture can not display the video stream

$ dmesg > dmesg.txt

dmesg.txt and sensor dts file in the attachment, the following:
dmesg.txt (71.5 KB)
tegra194-camera-jakku-rbpcv2-imx304.dtsi.txt (1.9 KB)
tegra194-camera-rbpcv2-imx304.dtsi.txt (8.9 KB)

Could you check the trace log for the failed case.
And if you can try boost the nvcsi/vi/isp clocks to try first.

$ 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

$ nvgstcapture
$ cat /sys/kernel/debug/tracing/trace > trace.txt

trace.txt, the following:
trace.txt (28.1 KB)

How to boost the nvcsi/vi/isp clocks?

Check this for boost the clocks https://elinux.org/Jetson_TX2_Camera_BringUp

From the trace log csi/vi didn’t receive any validate package from the MIPI bus.
Could you try have daemon run as infinite timeout mode.

https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide%2Fjetson_xavier_camera_soft_archi.html%23wwpID0ESHA

1. To boost the clocks:

$ 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
$ cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate |tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
460800000
$ cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee  /sys/kernel/debug/bpmp/debug/clk/isp/rate
576000000
$ cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate
300000000

2. enabled trace:

$ 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

3. daemon run as infinite timeout mode, and then run nvgstcapture cmd

$ sudo service nvargus-daemon stop
$ sudo enableCamInfiniteTimeout=1 nvargus-daemon
   === NVIDIA Libargus Camera Service (0.97.3)=== Listening for connections...
    === nvgstcapture[7136]: Connection established (7F900971D0)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
    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 again=== nvgstcapture[7136]: CameraProvider initialized (0x7f888117f0)CAM: serial no file already exists, skips storing again
    === nvgstcapture[7136]: Connection closed (7F900971D0)=== nvgstcapture[7136]: WARNING: CameraProvider was not destroyed before client connection terminated.=== nvgstcapture[7136]:          The client may have abnormally terminated. Destroying CameraProvider...=== nvgstcapture[7136]: CameraProvider destroyed (0x7f888117f0)=== nvgstcapture[7136]: WARNING: Cleaning up 1 outstanding requests...=== nvgstcapture[7136]: WARNING: Cleaning up 1 outstanding streams...SCF: Error InvalidState: 2 buffers still pending during EGLStreamProducer destruction (propagating from src/services/gl/EGLStreamProducer.cpp, function freeBuffers(), line 306)
    SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function ~EGLStreamProducer(), line 50)
    === nvgstcapture[7136]: WARNING: Cleaning up 1 outstanding stream settings...=== nvgstcapture[7136]: WARNING: Cleaning up 1 outstanding sessions...

but nvgstcapture can not display the video stream

4. trace log

$ cat /sys/kernel/debug/tracing/trace > trace.txt

trace.txt (51.4 KB)

The trace log shows the same as before.
Could you configure the sensor as discontinuous clocks to try.

no, this sensor is not supported discontinuous clocks mode