Yes, looks like the sensor didn’t send the FE.
Suppose the cch = -1 doesn’t matter with it.
I started streaming with the command gst, as follows:
gst-launch-1.0 -v -e nvcompositor name=m start-time-selection=1 sink_0::xpos=0 sink_0::ypos=0 sink_0::width=960 sink_0::height=540 sink_1::xpos=960 sink_1::ypos=0 sink_1::width=960 sink_1::height=540 sink_2::xpos=0 sink_2::ypos=540 sink_2::width=960 sink_2::height=540 sink_3::xpos=960 sink_3::ypos=540 sink_3::width=960 sink_3::height=540 ! “video/x-raw(memory:NVMM),width=1920,height=1080” ! nv3dsink v4l2src device=“/dev/video0” ! “video/x-raw” ! nvvidconv ! “video/x-raw(memory:NVMM)” ! m.sink_0
Could it have anything to do with this command I’m using?
I’m not sure why I lost FE, do you have any advice on this?
If I specify the number of frames to send, will FE frames be sent at the end?
Using v4l2-ctl would be easy for sensor brings up.
Suppose it could be sensor’s REG configuration problem. I would suggest consult with sensor vendor.
Thanks
please see-also Topic 237651 to check registers to obtain more CSI details.
you’ll also need to revise firewall config since you’re working with Orin series,
Like the following configuration:
reg@4673 { /* CBB_CENTRAL_CBB_FIREWALL_NVCSI_ENGINE_BLF, READ_CTL */
exclusion-info = <0>;
reg@4674 { /* CBB_CENTRAL_CBB_FIREWALL_NVCSI_ENGINE_BLF, WRITE_CTL */
exclusion-info = <0>;
reg@4675 { /* CBB_CENTRAL_CBB_FIREWALL_NVCSI_ENGINE_BLF, CTL_SETTING */
exclusion-info = <0>;
My current configuration is:
reg@5069{ /* CBB_CENTRAL_CBB_FIREWALL_NVCSI_ENGINE_BLF, READ_CTL */
exclusion-info = <2>;
value=<0x0>
}
reg@5070{ /* CBB_CENTRAL_CBB_FIREWALL_NVCSI_ENGINE_BLF, WRITE_CTL /
exclusion-info = <2>;
value=<0x8>
}
reg@5071{ / CBB_CENTRAL_CBB_FIREWALL_NVCSI_ENGINE_BLF, CTL_SETTING */
exclusion-info = <2>;
value=<0x80020000>
}
Only the exclusion-info has changed, how should the value be modified?
Modify to 0 and reflash the system to disable the firewall for accessing REG.
okay, I will try.
but now I found another phenomenon. there are eight camera gmsl port in agx orin, and I move camera gmsl port to another port(serial port is not same).
I run command :
sudo v4l2-ctl --set-fmt-video=width=2592,height=1944,pixelformat=UYVY --stream-mmap --set-ctrl bypass_mode=0 --stream-count=100 -d /dev/video0 --stream-to=/dev/null --verbose
I get a new trace:
tracer: nop
entries-in-buffer/entries-written: 8/8 #P:8
_-----=> irqs-off
/ _----=> need-resched
| / _—=> hardirq/softirq
|| / _–=> preempt-depth
||| / delay
TASK-PID CPU# |||| TIMESTAMP FUNCTION
| | | |||| | |
vi-output, imx3-3097 [005] … 267.864129: tegra_channel_capture_setup: vnc_id 0 W 2592 H 1944 fmt 13
kworker/4:2-148 [004] … 267.882474: rtcpu_vinotify_event: tstamp:9536466188 cch:-1 vi:0 tag:FE channel:0x00 frame:0 vi_tstamp:305165565088 data:0x0000000000000020
kworker/4:2-148 [004] … 267.882475: rtcpu_vinotify_event: tstamp:9536466347 cch:-1 vi:0 tag:CHANSEL_SHORT_FRAME channel:0x01 frame:0 vi_tstamp:305165565120 data:0x0000200001000000
kworker/4:2-148 [004] … 267.882475: rtcpu_vinotify_event: tstamp:9536466502 cch:-1 vi:0 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:305165565184 data:0x0000000800000000
kworker/4:2-148 [004] … 267.882475: rtcpu_vinotify_event: tstamp:9538094106 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:305203710336 data:0x399d580010000000
kworker/4:2-148 [004] … 267.882476: rtcpu_vinotify_event: tstamp:9538094260 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:305203753024 data:0x0000000031000001
kworker/4:2-148 [004] … 267.882476: rtcpu_vinotify_event: tstamp:9538094395 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:305203770592 data:0x399d550010000000
kworker/4:2-148 [004] … 267.882477: rtcpu_vinotify_event: tstamp:9538094546 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:305203831008 data:0x0000000031000002
there have a FE package. but I feel the log is not complete, right?
how to get a completely trace for me?
Check below to enable the trace log. NOTE JP6 need “sudo modprobe rtcpu_debug” first.
Comparing the two traces, it shows that the imager sensor has an FE package output. Strangely, I wonder why one gmsl port can see FE package while the other gmsl port only has FS package. Do you have any suggestions?
hi I see the FE/FS package in this trace,but there have still some errors. Can you have some suggestions to me?
v4l2-ctl-5568 [004] .... 124.581628: tegra_channel_open: vi-output, ox05bir 30-0030
v4l2-ctl-5568 [004] .... 124.598005: tegra_channel_set_power: ox05bir 30-0030 : 0x1
v4l2-ctl-5568 [004] .... 124.598030: camera_common_s_power: status : 0x1
v4l2-ctl-5568 [004] .... 124.599556: tegra_channel_set_power: 13e40000.host1x:nvcsi@15a00000- : 0x1
v4l2-ctl-5568 [004] .... 124.599559: csi_s_power: enable : 0x1
v4l2-ctl-5568 [004] .... 124.600241: tegra_channel_capture_setup: vnc_id 0 W 2592 H 1944 fmt 13
v4l2-ctl-5568 [003] .... 124.601077: tegra_channel_set_stream: enable : 0x1
v4l2-ctl-5568 [007] .... 124.623295: tegra_channel_set_stream: 13e40000.host1x:nvcsi@15a00000- : 0x1
v4l2-ctl-5568 [007] .... 124.626924: csi_s_stream: enable : 0x1
v4l2-ctl-5568 [007] .... 124.627267: tegra_channel_set_stream: ox05bir 30-0030 : 0x1
kworker/7:2-164 [007] .... 124.653591: rtcpu_vinotify_event: tstamp:5061635438 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:161958052288 data:0x399d580010000000
kworker/7:2-164 [007] .... 124.653592: rtcpu_vinotify_event: tstamp:5061635692 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:161958058752 data:0x0000000031000001
kworker/7:2-164 [007] .... 124.653593: rtcpu_vinotify_event: tstamp:5061635962 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:161958094144 data:0x399d550010000000
kworker/7:2-164 [007] .... 124.653593: rtcpu_vinotify_event: tstamp:5061636173 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:161958100672 data:0x0000000031000002
kworker/7:2-164 [007] .... 125.101595: **rtcpu_nvcsi_intr: tstamp:5076385088 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x01c00000**
kworker/7:2-164 [007] .... 125.101598: **rtcpu_nvcsi_intr: tstamp:5076385088 class:GLOBAL type:PHY_INTR0 phy:0 cil:1 st:0 vc:0 status:0x00c00000**
kworker/7:2-164 [007] .... 125.157597: rtcpu_vinotify_event: tstamp:5077369272 cch:0 vi:0 tag:FS channel:0x00 frame:0 vi_tstamp:162463514272 data:0x0000000000000010
kworker/7:2-164 [007] .... 125.157598: rtcpu_vinotify_event: tstamp:5077369412 cch:0 vi:0 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:162463514368 data:0x0000000800000000
vi-output, ox05-5572 [000] … 151.126053: tegra_channel_capture_setup: vnc_id 0 W 2592 H 1944 fmt 13
kworker/7:2-164 [007] … 151.129594: rtcpu_vinotify_event: tstamp:5889008738 cch:-1 vi:0 tag:FE channel:0x00 frame:0 vi_tstamp:188445379328 data:0x0000000000000020
kworker/7:2-164 [007] … 151.129596: rtcpu_vinotify_event: tstamp:5889008873 cch:-1 vi:0 tag:CHANSEL_SHORT_FRAME channel:0x01 frame:0 vi_tstamp:188445379328 data:0x0000200001000000
kworker/7:2-164 [007] … 151.129596: rtcpu_vinotify_event: tstamp:5889009027 cch:-1 vi:0 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:188445379424 data:0x0000000800000000
kworker/7:2-164 [007] … 151.181583: rtcpu_vinotify_event: tstamp:5890636451 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:188483279136 data:0x399d580010000000
kworker/7:2-164 [007] … 151.181584: rtcpu_vinotify_event: tstamp:5890636609 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:188483321824 data:0x0000000031000001
kworker/7:2-164 [007] … 151.181584: rtcpu_vinotify_event: tstamp:5890636744 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:188483339488 data:0x399d550010000000
kworker/7:2-164 [007] … 151.181585: rtcpu_vinotify_event: tstamp:5890636897 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:188483399840 data:0x0000000031000002
vi-output, ox05-5572 [000] … 177.750013: tegra_channel_capture_setup: vnc_id 0 W 2592 H 1944 fmt 13
kworker/7:2-164 [007] … 177.765588: rtcpu_vinotify_event: tstamp:6722105708 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:215107232928 data:0x399d580010000000
kworker/7:2-164 [007] … 177.765590: rtcpu_vinotify_event: tstamp:6722105866 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:215107278496 data:0x0000000031000001
kworker/7:2-164 [007] … 177.765590: rtcpu_vinotify_event: tstamp:6722106000 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:215107296064 data:0x399d550010000000
kworker/7:2-164 [007] … 177.821585: rtcpu_vinotify_event: tstamp:6722621757 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:215107466496 data:0x0000000031000002
CHANSEL_SHORT_FRAME tell the sensor output size less than driver reported.
hi ShaneCCC:
I modify my code, then now the FE CSI Fault and Chansel_NOMATCH are found. what do i need to do to solve them.
Some trace is as follows:
kworker/3:12-223 [003] … 2164.380890: rtcpu_vinotify_event: tstamp:68795934042 cch:0 vi:0 tag:FS channel:0x00 frame:0 vi_tstamp:2201455577088 data:0x0000000000000010
kworker/3:12-223 [003] … 2164.380891: rtcpu_vinotify_event: tstamp:68795934191 cch:0 vi:0 tag:FE channel:0x00 frame:0 vi_tstamp:2201455577728 data:0x0000000000000020
kworker/3:12-223 [003] … 2164.380891: rtcpu_vinotify_event: tstamp:68795934320 cch:0 vi:0 tag:FS channel:0x00 frame:0 vi_tstamp:2201460630176 data:0x0000000000000010
kworker/3:12-223 [003] … 2164.380892: rtcpu_vinotify_event: tstamp:68795934473 cch:0 vi:0 tag:CHANSEL_NOMATCH channel:0x01 frame:0 vi_tstamp:2201461117216 data:0x000000000000056d
kworker/3:12-223 [003] … 2164.380893: rtcpu_vinotify_error: tstamp:68796139956 cch:0 vi:0 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:2201476348928 data:0x0000000000400060
kworker/3:12-223 [003] … 2164.380893: rtcpu_vinotify_event: tstamp:68796140514 cch:0 vi:0 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:2201476348928 data:0x0000000000400060
kworker/3:12-223 [003] … 2164.380894: rtcpu_vinotify_error: tstamp:68796313166 cch:0 vi:0 tag:CHANSEL_NOMATCH channel:0x01 frame:0 vi_tstamp:2201481890976 data:0x0000000000000569
kworker/3:12-223 [003] … 2164.380894: rtcpu_vinotify_event: tstamp:68796639814 cch:0 vi:0 tag:FS channel:0x00 frame:0 vi_tstamp:2201476349536 data:0x0000000000000010
kworker/3:12-223 [003] … 2164.380895: rtcpu_vinotify_event: tstamp:68796639946 cch:0 vi:0 tag:FE channel:0x00 frame:0 vi_tstamp:2201476350208 data:0x0000000000000020
kworker/3:12-223 [003] … 2164.380895: rtcpu_vinotify_event: tstamp:68796640096 cch:0 vi:0 tag:FS channel:0x00 frame:0 vi_tstamp:2201481403840 data:0x0000000000000010
kworker/3:12-223 [003] … 2164.380896: rtcpu_vinotify_event: tstamp:68796640227 cch:0 vi:0 tag:CHANSEL_NOMATCH channel:0x01 frame:0 vi_tstamp:2201481890976 data:0x0000000000000569
kworker/3:12-223 [003] … 2164.436874: rtcpu_vinotify_error: tstamp:68796788544 cch:0 vi:0 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:2201497123200 data:0x0000000000400060
kworker/3:12-223 [003] … 2164.436877: rtcpu_vinotify_error: tstamp:68796962557 cch:0 vi:0 tag:CHANSEL_NOMATCH channel:0x01 frame:0 vi_tstamp:2201502671488 data:0x0000000000000569
kworker/3:12-223 [003] … 2164.436879: rtcpu_vinotify_event: tstamp:68797181824 cch:0 vi:0 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:2201497123200 data:0x0000000000400060
orker/3:12-223 [003] … 2164.436879: rtcpu_vinotify_event: tstamp:68797181961 cch:0 vi:0 tag:FS channel:0x00 frame:0 vi_tstamp:2201502177536 data:0x0000000000000010
** kworker/3:12-223 [003] … 2164.436880: rtcpu_vinotify_event: tstamp:68797182115 cch:0 vi:0 tag:FE channel:0x00 frame:0 vi_tstamp:2201502178176 data:0x0000000000000020
** kworker/3:12-223 [003] … 2164.436880: rtcpu_vinotify_event: tstamp:68797182245 cch:0 vi:0 tag:FS channel:0x00 frame:0 vi_tstamp:2201502178848 data:0x0000000000000010**
** kworker/3:12-223 [003] … 2164.436881: rtcpu_vinotify_event: tstamp:68797182395 cch:0 vi:0 tag:FE channel:0x00 frame:0 vi_tstamp:2201502179488 data:0x0000000000000020**
** kworker/3:12-223 [003] … 2164.436882: rtcpu_vinotify_event: tstamp:68797182526 cch:0 vi:0 tag:FS channel:0x00 frame:0 vi_tstamp:2201502180128 data:0x0000000000000010**
Because I only have CMOS image sensor, no isp. So I modified the data format from yuv to Raw10, the top trace is the modified format, but it reported a nomatch error, and the lost FE still exists
Make sure the output format and size to correct the device tree first.
Thanks
My current format and size are correct。 The format is raw10 and the size is 2592*1944 .
I still have a question why nomatch happened again channel1. Isn’t the data channel0?
The channel nomatch could be caused by incorrect vc-id.
Thanks
hi ShaneCCC,
What I want to know is why is it in channel1 instead of channel0, why are there two channels in use? Because I only have one camera in the device tree. port_index is 0 and vc-id is also 0. I don’t understand why vc-id is incorrect.
That tell the sensor send vc-id = 1 data to channel 0.
Is the vc-id you’re talking about in the device tree fragment above? I now leave only port0, channel0 and mode0 in the device tree for ease of resolution. I removed the others. The force_bus_start line will report an error when the device tree parsing failed at compile time?
Suppose the serdes or gmsl chip send vc-id=0 and vc-id=1 data to NVCSI/VI