A203 Carrier with Jetson Xavier NX - CSI camera not working

I just received my Seedstudio A203 mini PC with Jetson Xavier NX 8GB.

I’ve opened it and used the carrier’s CSI-2 connector to plug this arducam module: https://www.arducam.com/product/arducam-8mp-synchronized-stereo-camera-bundle-kit-for-jetson-nano-b0298n/

I have used these instructions to connect them (except that the carrier board is the A203, not the official devkit): Quick start - Arducam Wiki

When I start the Jetson, /dev/video0 appears, but then, when I start GStreamer, this happens:

nvidia@nvidia-desktop:~$ sudo gst-launch-1.0 nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvvidconv ! nvdrmvideosink
[sudo] password for nvidia: 
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3280 x 2464 FR = 21.000000 fps Duration = 47619048 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 3280 x 1848 FR = 28.000001 fps Duration = 35714284 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1640 x 1232 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 2 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
WARNING: from element /GstPipeline:pipeline0/GstNvDrmVideoSink:nvdrmvideosink0: Pipeline construction is invalid, please add queues.
Additional debug info:
gstbasesink.c(1209): gst_base_sink_query_latency (): /GstPipeline:pipeline0/GstNvDrmVideoSink:nvdrmvideosink0:
Not enough buffering available for  the processing deadline of 0:00:00.015000000, add enough queues to buffer  0:00:00.015000000 additional data. Shortening processing latency to 0:00:00.000000000.
Got EOS from element "pipeline0".
Execution ended after 0:00:04.013428160
Setting pipeline to NULL ...
GST_ARGUS: Cleaning up
^C
nvidia@nvidia-desktop:~$ sudo dmesg | grep imx219
[   11.774878] imx219 2-0010: tegracam sensor driver:imx219_v2.0.6
[   11.792716] tegra-camrtc-capture-vi tegra-capture-vi: subdev imx219 2-0010 bound
[   98.449928] regmap_util_write_table_8:regmap_util_write_table:-11
[   98.449944] imx219 2-0010: Error writing mode
[   98.467429] regmap_util_write_table_8:regmap_util_write_table:-11
[   98.467444] imx219 2-0010: Error writing mode
[   98.556786] tegra-i2c 3180000.i2c: failed to clear bus
[   98.557048] regmap_util_write_table_8:regmap_util_write_table:-110
[   98.557057] imx219 2-0010: Error writing mode
[   98.560125] regmap_util_write_table_8:regmap_util_write_table:-11
[   98.560137] imx219 2-0010: Error writing mode

Note the driver errors on the imx219 in dmesg appearing.

The camera system from arducam is advertised as compatible with the official devkit board. Here I’m using the A203, and I’d like to know how to get it to work. Is there anything in the A203 design that would prevent the camera system to work, or can we tweak the driver/kernel to make the camera work ?
Any help to make my camera system work would be appreciated :slight_smile:

Note: The Xavier NX have reached EoL, so I can’t buy one to test the camera system on it first.

I also have a problem with arducam camera on SeeedStudio hardware. In my case it looks like arducam driver is not loaded despite it was installed without error.

I have ReComputer J2021 (Xavier NX 8GB) with Jetpack 4.6.1 (kernel 4.9.253) all in eMMC memory. Native imx219 camera works fine. When I install arducam driver ‘./install_full.sh -m arducam’ (from https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh) all files are properly copied to /boot and /boot/arducam/.
After reboot the system still probes for imx219 camera (in logs from dmesg) but not arducam.
I tried with arducam AR1335 and OV9281. Neither v4l2 (dev/video0) nor nvargus can detect camera.

On Jetson Nano Dev kit (Jetpack 4.6.1) all cameras works fine.

Is Recomputer 2021 compatible with arducam?

I checked also arducam cameras on ReComputer J2021 with Jetpack 5.0.2 (R35.1.0) and now it works fine. Currently it is the latest version that is supported by Arducam (Jetpack 5.1 is not supported).