The IMX219 camera could no longer be connected to the GST network after multiple attempts

After repeatedly launching the command gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! "video/x-raw(memory:NVMM), width=3280, height=2464, format=NV12,framerate=21/1" ! nvegltransform ! nveglglessink -e, it fails to launch again. Below is the log output of nvargus-daemon.

 sudo nvargus-daemon 
=== NVIDIA Libargus Camera Service (0.99.33)
=== Listening for connections...
=== gst-launch-1.0[3209]: Connection established (FFFFB500B840)
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
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
LSC: LSC surface is not based on full res!
[NvCameraIspDriver::initialize] NOT Using CamPG
[NvCameraIspDriver::initialize] NOT Using CamPG
=== gst-launch-1.0[3209]: CameraProvider initialized (0xffffb0ad1b80)
[NvCameraIspDriver::initialize] NOT Using CamPG
PowerServiceCore:handleRequests: timePassed = 5098
=== gst-launch-1.0[3209]: CameraProvider destroyed (0xffffb0ad1b80)
CaptureService:stop: is requested --------------------------
=== gst-launch-1.0[3209]: Connection closed (FFFFB500B840)
=== gst-launch-1.0[3209]: Connection cleaned up (FFFFB500B840)
=== gst-launch-1.0[3288]: Connection established (FFFFB500B840)
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
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
LSC: LSC surface is not based on full res!
[NvCameraIspDriver::initialize] NOT Using CamPG
[NvCameraIspDriver::initialize] NOT Using CamPG
=== gst-launch-1.0[3288]: CameraProvider initialized (0xffffb14b8e30)
[NvCameraIspDriver::initialize] NOT Using CamPG
PowerServiceCore:handleRequests: timePassed = 5099
=== gst-launch-1.0[3288]: CameraProvider destroyed (0xffffb14b8e30)
CaptureService:stop: is requested --------------------------
=== gst-launch-1.0[3288]: Connection closed (FFFFB500B840)
=== gst-launch-1.0[3288]: Connection cleaned up (FFFFB500B840)
=== gst-launch-1.0[3346]: Connection established (FFFFB500B840)
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
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
LSC: LSC surface is not based on full res!
[NvCameraIspDriver::initialize] NOT Using CamPG
[NvCameraIspDriver::initialize] NOT Using CamPG
=== gst-launch-1.0[3346]: CameraProvider initialized (0xffffb12e80c0)
[NvCameraIspDriver::initialize] NOT Using CamPG
PowerServiceCore:handleRequests: timePassed = 5099
=== gst-launch-1.0[3346]: CameraProvider destroyed (0xffffb12e80c0)
CaptureService:stop: is requested --------------------------
=== gst-launch-1.0[3346]: Connection closed (FFFFB500B840)
=== gst-launch-1.0[3346]: Connection cleaned up (FFFFB500B840)
=== gst-launch-1.0[3393]: Connection established (FFFFB500B840)
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
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
LSC: LSC surface is not based on full res!
[NvCameraIspDriver::initialize] NOT Using CamPG
[NvCameraIspDriver::initialize] NOT Using CamPG
=== gst-launch-1.0[3393]: CameraProvider initialized (0xffffb0de2560)
[NvCameraIspDriver::initialize] NOT Using CamPG
PowerServiceCore:handleRequests: timePassed = 5099
=== gst-launch-1.0[3393]: CameraProvider destroyed (0xffffb0de2560)
CaptureService:stop: is requested --------------------------
=== gst-launch-1.0[3393]: Connection closed (FFFFB500B840)
=== gst-launch-1.0[3393]: Connection cleaned up (FFFFB500B840)
=== gst-launch-1.0[3439]: Connection established (FFFFB500B840)
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
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
LSC: LSC surface is not based on full res!
[NvCameraIspDriver::initialize] NOT Using CamPG
[NvCameraIspDriver::initialize] NOT Using CamPG
=== gst-launch-1.0[3439]: CameraProvider initialized (0xffffb14b9180)
[NvCameraIspDriver::initialize] NOT Using CamPG
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
PowerServiceCore:handleRequests: timePassed = 5057
=== gst-launch-1.0[3439]: CameraProvider destroyed (0xffffb14b9180)
CaptureService:stop: is requested --------------------------
=== gst-launch-1.0[3439]: Connection closed (FFFFB500B840)
=== gst-launch-1.0[3439]: Connection cleaned up (FFFFB500B840)

After rebooting with sudo reboot, I was able to get a stable stream for the first time. Is there any way to restore this after restarting the operating system? Or is there a specific part of the IMX219 driver that needs adjustment? My CS132 camera has never had this problem.

What’s the BSP version?

cat /etc/nv_tegra_release

cat /etc/nv_tegra_release

R36 (release), REVISION: 5.0, GCID: 43688277, BOARD: generic, EABI: aarch64, DATE: Fri Jan 16 03:50:45 UTC 2026

KERNEL_VARIANT: oot

TARGET_USERSPACE_LIB_DIR=nvidia
TARGET_USERSPACE_LIB_DIR_PATH=usr/lib/aarch64-linux-gnu/nvidia

Restart the nvargus-daemon instead of restart the system.

sudo service nvargus-daemon restart

I’ve tried it, it doesn’t work.

Besides running sudo service nvargus-daemon restart, I’ve also tried controlling the power supply of the imx219 and reloading nv_imx219, but nothing has worked.

Do you launch two cameras?

Any script for testing?

The board has two CSI cameras, but this test only used the IMX219. argus_oneshot was able to capture images, but I noticed the following error: "(Argus) Error InvalidState: Unknown stream deleted. (in src/api/CaptureSessionImpl.cpp, function outputStreamDeleted(), line 1120)

=== argus_oneshot[4845]: NOTE: Destroy all libargus objects before destroying the CameraProvider to avoid these warnings." How can I release the CameraProvider?

=== argus_oneshot[4845]: Connection established (FFFFB500B840)
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
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
LSC: LSC surface is not based on full res!
[NvCameraIspDriver::initialize] NOT Using CamPG
[NvCameraIspDriver::initialize] NOT Using CamPG
=== argus_oneshot[4845]: CameraProvider initialized (0xffffb12fccd0)
[NvCameraIspDriver::initialize] NOT Using CamPG
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
=== argus_oneshot[4845]: CameraProvider destroyed (0xffffb12fccd0)
=== argus_oneshot[4845]: WARNING: Cleaning up 1 outstanding requests...
=== argus_oneshot[4845]: WARNING: Cleaning up 1 outstanding stream settings...
=== argus_oneshot[4845]: WARNING: Cleaning up 1 outstanding sessions...
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
SCF: Error ResourceError: Error 15 Received for sensor 1 ..!
 (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 664)
=== argus_oneshot[4845]: WARNING: Cleaning up 1 outstanding streams...
(Argus) Error InvalidState: Unknown stream deleted. (in src/api/CaptureSessionImpl.cpp, function outputStreamDeleted(), line 1120)
=== argus_oneshot[4845]: NOTE: Destroy all libargus objects before destroying the CameraProvider to avoid these warnings.
CaptureService:stop: is requested --------------------------
=== argus_oneshot[4845]: Connection closed (FFFFB500B840)
=== argus_oneshot[4845]: Connection cleaned up (FFFFB500B840)

Should be released while stop or restart the daemon.

You can confirm another camera after daemon restart.

This is the log of the daemon process for another camera, and it’s normal.

=== gst-launch-1.0[5287]: Connection established (FFFFB500B840)
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
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
LSC: LSC surface is not based on full res!
[NvCameraIspDriver::initialize] NOT Using CamPG
[NvCameraIspDriver::initialize] NOT Using CamPG
=== gst-launch-1.0[5287]: CameraProvider initialized (0xffffb141c130)
LSC: LSC surface is not based on full res!
[NvCameraIspDriver::initialize] NOT Using CamPG
PowerServiceCore:handleRequests: timePassed = 1214
PowerServiceCore:handleRequests: timePassed = 1000
PowerServiceCore:handleRequests: timePassed = 991
PowerServiceCore:handleRequests: timePassed = 991
PowerServiceCore:handleRequests: timePassed = 991
PowerServiceCore:handleRequests: timePassed = 992
PowerServiceCore:handleRequests: timePassed = 992
PowerServiceCore:handleRequests: timePassed = 991
PowerServiceCore:handleRequests: timePassed = 991
PowerServiceCore:handleRequests: timePassed = 991
PowerServiceCore:handleRequests: timePassed = 991
PowerServiceCore:handleRequests: timePassed = 992
SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceDeviceViCsi.cpp, function waitCompletion(), line 372)
SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceDevice.cpp, function pause(), line 1072)
SCF: Error Timeout: During capture abort, syncpoint wait timeout waiting for current frame to finish (in src/services/capture/CaptureServiceDevice.cpp, function handleCancelSourceRequests(), line 1167)
PowerServiceCore:handleRequests: timePassed = 6074
=== gst-launch-1.0[5287]: CameraProvider destroyed (0xffffb141c130)
CaptureService:stop: is requested --------------------------
=== gst-launch-1.0[5287]: Connection closed (FFFFB500B840)
=== gst-launch-1.0[5287]: Connection cleaned up (FFFFB500B840)

The issue with the IMX219 is likely due to a hardware problem. Since it can retrieve images using argus_oneshot, it shouldn’t be a hardware issue. It’s probably something that’s not being released. Do you have a way to fix this without restarting the operating system?

After the argus failed kill the daemon then confirm the sensor output by below command.

v4l2-ctl --stream-mmap -c bypass_mode

Why does the value retrieved during an exception become 1?

v4l2-ctl -d /dev/video1 --stream-mmap --get-ctrl bypass_mode
bypass_mode: 1 (1 0x1)

Its’ set by argus APP.

Is there a way to prevent Argus from reverting to its original settings?

Also, it’s normal that sc132 is 1.

4l2-ctl -d /dev/video0 --stream-mmap --get-ctrl bypass_mode
bypass_mode: 1 (1 0x1)

Why?

This mode use to seperate support argus and v4l2-ctl to run the VI driver in different driver.

Set to 1 for all argus APP.

Set to 0 for v4l capture.

I think your are confuse by it.

It doesn’t matter with the problem.

Could you please explain why running v4l2-ctl --stream-mmap -c bypass_mode=0 allows me to retrieve data correctly?

The different bypass mode run different NVCSI/VI driver.