L4T35.5.0 OrinNX
SDI camera: 1080P50fps
- When the camera outputs normally, the image is captured normally;
- When the camera stops output, Jetson continues to capture, causing the Jetson system to crash
L4T35.5.0 OrinNX
SDI camera: 1080P50fps
hello JiaZW,
let me have double confirmation.
there’re intermittently MIPI signaling, system crash if you trying to enable app to capture frames (when it’s in known bad stage)?
here’re several questions.
(1) may I also know under what circumstances you’ll have camera outputs normally/stops output
(2) what’s the application you used for testing sensor stream.
(3) please also share the failure logs lead Jetson system to crash.
The Capture command is as follows
gst-launch-1.0 -v v4l2src device="/dev/video0" ! video/x-raw,
framerate=30/1,width=1920,height=1080,format=UYVY ! xvimagesink &
For example, when the camera output is stopped here, the gst command is still used for collection, which will cause the system to crash
Camera side output we can control stop and start stream
When the system crashes, the kernel logs are as follows
71558] zram: Added device: zram2
[ 15.972123] zram: Added device: zram3
[ 16.005777] zram0: detected capacity change from 0 to 976662528
[ 16.046121] Adding 953768k swap on /dev/zram0. Priority:5 extents:1 across:953768k SS
[ 16.047850] zram1: detected capacity change from 0 to 976662528
[ 16.069943] Adding 953768k swap on /dev/zram1. Priority:5 extents:1 across:953768k SS
[ 16.071330] zram2: detected capacity change from 0 to 976662528
[ 16.089260] Adding 953768k swap on /dev/zram2. Priority:5 extents:1 across:953768k SS
[ 16.090735] zram3: detected capacity change from 0 to 976662528
[ 16.125305] Adding 953768k swap on /dev/zram3. Priority:5 extents:1 across:953768k SS
[ 16.525885] Bridge firewalling registered
[ 16.909324] fuse: init (API version 7.32)
[ 16.961807] nvidia-modeset: Loading NVIDIA UNIX Open Kernel Mode Setting Driver for aarch64 35.5.0 Release Build (buildbrain@mobile-u64-6519-d7000) Mon Feb 19 20:34:14 PST 2024
[ 17.268732] NVRM rpcRmApiControl_dce: NVRM_RPC_DCE: Failed RM ctrl call cmd:0x731341 result 0xffff:
[ 19.303894] r8168: eth0: link up
[ 19.304009] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 1372.305513] bwmgr API not supported
[ 1374.824082] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 1374.836882] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 1374.846525] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 1374.854276] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=1, csi_port=1
[ 1374.865054] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 1374.873545] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 1375.108331] bwmgr API not supported
[ 2065.687146] bwmgr API not supported
[ 2068.411037] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 2068.423782] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
hello JiaZW,
as you can see, it’s VI driver side trying to recover the stream. this part of logs should be expected.
may I understand the logs lead Jetson system to crash.
I remember the previous version of the system, even if there is a “reset the capture channel”, it will not cause the system to crash
we may dig into the error to crash system, please setup a terminal for running $ demsg --follow
to keep gathering the logs.
Is there any way I can turn off the “reset the capture channel” feature
hello JiaZW,
it’s error recover mechanism as you can see…
$public_sources/kernel_src/kernel/nvidia/drivers/media/platform/tegra/camera/vi/channel.c
int tegra_channel_error_recover(struct tegra_channel *chan, bool queue_error)
{
struct tegra_mc_vi *vi = chan->vi;
int err = 0;
if (!(vi->fops && vi->fops->vi_error_recover)) {
err = -EIO;
goto done;
}
dev_warn(vi->dev, "err_rec: attempting to reset the capture channel\n");
err = vi->fops->vi_error_recover(chan, queue_error);
if you would like to disable it.
please give it a try to remove this operation in the VI-5 driver.
$public_sources/kernel_src/kernel/nvidia/drivers/media/platform/tegra/camera/vi/vi5_fops.c
struct tegra_vi_fops vi5_fops = {
.vi_error_recover = vi5_channel_error_recover,
thanks,
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.