Arducam AR0234 camera not detected in DeepStream 7.0 on Jetson Orin NX

Hi everyone, I’m running an Arducam 2.3 MP AR0234 Global Shutter Camera on a Jetson Orin NX and I can’t get it working in DeepStream 7.0. The camera has been intermittent and unstable, and when I run:

deepstream-app -c source1_csi_dec_infer_resnet_int8.txt

DeepStream doesn’t recognize the camera. I get this error:

Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:792 No cameras available

The model actually loads fine (I see ‘Load new model … successfully’), then I get PERF: FPS 0, nvstreammux handles EOS for source_id=0, and the app exits. Any idea why nvarguscamerasrc reports no cameras available?

Thanks for the details. That error is coming from the nvarguscamerasrc element inside gst-nvarguscamera, so the pipeline is initializing fine (the TRT engine and model load are unrelated to the camera source), but the camera source stage can’t find the camera.

First, can you confirm whether the camera works with the arducam_displayer.py script outside of DeepStream? The quick start guide is here:
https://docs.arducam.com/Nvidia-Jetson-Camera/Jetvariety-Camera/Quick-Start-Guide/#2run-the-camera

That will help narrow down whether this is a hardware/driver issue or a DeepStream integration issue.

Yes, the camera works completely fine with arducam_displayer.py. It’s only DeepStream that can’t see it. Here’s the full log from the DeepStream run:

nvidia@tegra-ubuntu:/opt/nvidia/deepstream/deepstream-7.0/samples/configs/deepstream-app$ deepstream-app -c source1_csi_dec_infer_resnet_int8.txt
Setting min object dimensions as 16x16 instead of 1x1 to support VIC compute mode.
WARNING: [TRT]: Using an engine plan file across different models of devices is not recommended and is likely to affect performance or even cause errors.
0:00:07.185011014 4512 0xaaaaf6e2f400 INFO nvinfer gstnvinfer.cpp:682:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:2095> [UID = 1]: deserialized trt engine from :/opt/nvidia/deepstream/deepstream-7.0/samples/configs/deepstream-app/…/…/models/Primary_Detector/resnet18_trafficcamnet.etlt_b1_gpu0_int8.engine
INFO: [Implicit Engine Info]: layers num: 3 0 INPUT kFLOAT input_1 3x544x960 1 OUTPUT kFLOAT output_bbox/BiasAdd 16x34x60 2 OUTPUT kFLOAT output_cov/Sigmoid 4x34x60
0:00:07.626312655 4512 0xaaaaf6e2f400 INFO nvinfer gstnvinfer.cpp:682:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2198> [UID = 1]: Use deserialized engine model: /opt/nvidia/deepstream/deepstream-7.0/samples/configs/deepstream-app/…/…/models/Primary_Detector/resnet18_trafficcamnet.etlt_b1_gpu0_int8.engine
0:00:07.643626449 4512 0xaaaaf6e2f400 INFO nvinfer gstnvinfer_impl.cpp:343:notifyLoadModelStatus:<primary_gie> [UID 1]: Load new model:/opt/nvidia/deepstream/deepstream-7.0/samples/configs/deepstream-app/config_infer_primary.txt sucessfully
Runtime commands: h: Print this help q: Quit p: Pause r: Resume
NOTE: To expand a source in the 2D tiled display and view object details, left-click on the source. To go back to the tiled display, right-click anywhere on the window.
**PERF: FPS 0 (Avg) **PERF: 0.00 (0.00)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:792 No cameras available
** INFO: <bus_callback:291>: Pipeline ready
nvstreammux: Successfully handled EOS for source_id=0
** INFO: <bus_callback:277>: Pipeline running
** INFO: <bus_callback:314>: Received EOS. Exiting …
Quitting App run successful

I also found this NVIDIA forum thread about the same error:
https://forums.developer.nvidia.com/t/error-generated-dvs-git-dirty-git-master-linux-multimedia-nvgstreamer-gst-nvarguscamera-gstnvarguscamerasrc-cpp-execute-792-no-cameras-available/309480

I’m confused because the camera clearly works with the script.

Right, that actually points to a DeepStream integration limitation rather than a hardware fault. The AR0234 camera is tested and supported with arducam_displayer.py, but it hasn’t been specifically adapted or tested with the DeepStream framework. DeepStream’s nvarguscamerasrc (gst-nvarguscamera) element is what’s failing — it’s not finding the camera — even though the rest of the pipeline (the inference engine) loads fine.

So the recommended supported path right now is to use arducam_displayer.py. For DeepStream, we can’t guarantee compatibility at this point.

Thanks. One more thing — I’m actually using an Avermedia carrier board with the Jetson Orin NX. Avermedia says they’re ready to provide the driver source code for this Arducam AR0234 camera. If I can get that source code, would Arducam be able to provide technical support on getting the camera recognized in DeepStream?

Can you clarify whether Avermedia has already written the camera driver for the AR0234 on their carrier board? If they have an existing driver, we can definitely look into providing technical support for it. The next step would be coordinating with Avermedia to get that driver source code available, since a vendor-specific driver for their carrier board may be what’s needed to get the camera recognized in your Jetson Orin NX + DeepStream setup.

Just heard back from AVerMedia — they did not write a driver for the camera itself. They can only provide the source code of their carrier board. So my question is, can Arducam help write a driver for the AR0234 using the carrier board source code?

Understood. To summarize where we are: the camera hardware and script path are working (arducam_displayer.py), and the failure is specifically the DeepStream nvarguscamerasrc element not recognizing the camera. That means it’s a DeepStream/camera driver integration issue, not a camera hardware fault. Since the camera isn’t currently adapted or tested with DeepStream, the supported path remains arducam_displayer.py. For the driver question, we’d need to review the carrier board source code to see what’s involved in writing or porting a driver for the AR0234 — let me check with the team on whether that’s feasible and I’ll follow up. Please share what AVerMedia provides when you have it.