Hi, I’ve got an Arducam camera (SKU B0183) on a Jetson Nano and I can’t get it to work at all. I tested a different camera on the same Nano and it works fine, so the board itself seems okay. Host is jetbot@nano-4gb-jp45.
When I run gst-launch-1.0 nvarguscamerasrc ! fakesink I get:
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:645 No cameras available
(gst-launch-1.0:7512): GStreamer-CRITICAL **: 16:34:31.179: gst_mini_object_set_qdata: assertion 'object != NULL' failed
Got EOS from element "pipeline0".
Execution ended after 0:00:00.207888177
I also tried DISPLAY=:0.0 gst-launch-1.0 nvarguscamerasrc! and got nvbuf_utils: Could not get EGL display connection then ERROR: pipeline could not be constructed: syntax error.
And a v4l2src pipeline with device=/dev/video0 fails with:
WARNING: erroneous pipeline: could not link v4l2src0 to videoconvert0, neither element can handle caps video/x-raw, format=(string)GAY8, width=(int)2560, height=(int)800
I cloned the Nvidia_Jetson repo from the ArduCAM GitHub too. Any idea what’s going on?
That produces an arducam-bug-report.txt file in the current directory. Since it includes system details, send it to me via private message and we’ll go from there.
Done. I rebooted, ran the tool, and sent you the arducam-bug-report.txt in a private message. The errors I keep seeing are the No cameras available from nvarguscamerasrc and the v4l2src pipeline failing to link with the GAY8 2560x800 caps.
Got it. Can you also take some photos of the physical connection? I’d like to see both ends - the Jetson CSI connector and the camera end of the ribbon cable.
Thanks, from the photos the cable on the Jetson side looks like it’s inserted the wrong way. The flex cable needs to be flipped - the end with the copper pins should face back toward the retainer clip. I’ve sent you a reference image privately showing the correct orientation. Flip it and re-run the bug report tool so we can check whether it’s detected now.
I flipped the Jetson-side connector so the copper pins face back toward the retainer and re-ran the bug report, but still nothing. Sent you the updated report and a photo of the new connection.
The new bug report shows the camera is actually detected by the Nano now, so the orientation fix helped. But gstreamer still isn’t streaming. Let’s try streaming directly with v4l2:
If that doesn’t work, open a second terminal and run sudo dmesg -w, then run the v4l2-ctl command again. If dmesg prints an error while streaming, paste it here. If you happen to have a Raspberry Pi, you could also test the module on it following the Raspberry Pi camera docs.
Honestly I haven’t seen that error 4000 before. Your JetPack version looks quite old, which may be a factor here. If you can, test the camera on a Raspberry Pi to rule out the module. Otherwise I’d suggest flashing a newer JetPack, like 32.7.3.
I flashed JetPack 32.7.3 and the same tegra_channel_error_status:error 4000 keeps happening during streaming. I don’t have a Pi to test with. Is it possible the camera module itself is just defective?
At this point the module is detected and the cable orientation is fixed, but streaming still fails with the same tegra_channel_error_status:error 4000 even on JetPack 32.7.3. That points more toward a hardware problem with the module, but without a Raspberry Pi (or a second Jetson) to test on, we can’t fully confirm it. If you can get access to a Pi, run the camera through the standard Raspberry Pi camera setup - if it fails there too, that would strongly suggest the module itself is faulty.