Arducam IMX477 camera not working after fresh install, not sure what I missed

Hi everyone, I’m stuck getting an imx477 camera (X002LTS4TD, the Jetson Nano/Xavier NX camera) working on my Jetson Xavier NX. I did a fresh install and followed all the directions but the camera just isn’t detected. Not sure what I missed!

I’ve tried reinstalling a few times and setting up the interface with the py script, but I keep seeing “No cameras available” whenever I try to capture. Hoping someone here can help me figure out what’s going on.

Before we dig further, I need some diagnostic info from your device so we can see what’s actually going on. Please reboot your device and run the following commands:

wget -O arducam-camera-bug-report-nvidia https://github.com/ketai-dhr/arducam-camera-bug-report/releases/download/tools/arducam-camera-bug-report-nvidia
chmod +x ./arducam-camera-bug-report-nvidia
./arducam-camera-bug-report-nvidia

This will produce an arducam-bug-report.txt in the current directory. Please attach that file here so I can take a look.

Thanks, here’s the bug report output you asked for.

Attached: arducam-bug-report.txt

Some more context on my setup and what I’ve tried:

Environment:

  • Platform: Jetson Xavier NX
  • Camera: imx477 - X002LTS4TD (Jetson Nano/Xavier NX Cameras)
  • Fresh install of the SD card with all updates
  • SD card created from the latest suggested image on the Nvidia website, burned to the SD card with Etcher. I’m assuming this is Jetpack 5.0.2 (I downloaded it this week)
  • Image file: JP502-xnx-sd-card-image-b231.zip
  • Did the suggested software updates
  • Configured the pins using jetson-io.py

I installed the packages as per the instructions:

sudo apt-get update
sudo apt-get install -y apt-utils
sudo apt-get install -y libgl1
sudo apt-get install -y libfltk1.3 libfltk-gl1.3 libfltk-images1.3
sudo apt-get install -y libopencv-core4.2 libopencv-imgcodecs4.2 libopencv-videoio4.2 libopencv-calib3d4.2
sudo apt autoremove

Then trying to capture, I ran:

SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports
FRAMERATE=60 # Framerate can go from 2 to 60 for 1920x1080 mode
NUMBER_OF_SNAPSHOTS=20
gst-launch-1.0 nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvvidconv ! nvdrmvideosink

And I get this:

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:751 No cameras available

What I’ve tried:

  • 3 days of reading about errors, reinstalling, running the py script to setup the interface
  • Installed 2 new cameras with the pins in the right direction
  • Ran sudo /opt/nvidia/jetson-io/jetson-io.py for dual cameras with 2 cameras connected
  • Both cameras are bound in the boot process
  • Followed the instructions for capturing the log files here: https://drive.google.com/file/d/1xwPMampzl3mbOKVL9gS-HlLxFBUop52C/view?usp=sharing

One thing worth noting: Jetpack previously worked with one camera running VPI_remap_demo, but the OS got corrupted during an Nvidia upgrade and I had to start over. The product has never really worked properly since.

Do you have any suggestions? Is there a way to remote debug, or do I need new drivers?

Thanks for the detailed report. A couple of things:

We want to know what your previous Jetpack version was. Have you flashed the imager with the SD card to update the Jetpack version (like 4.6.x up to 5.2.x)?

You can check the link below and re-burn the system using sdk-manager:
https://docs.nvidia.com/jetson/jetpack/install-jetpack/index.html#sdk-manager

After that, please try to start the camera again and let me know how it goes. Waiting for your feedback.

OK, so I did the update in section 1.3 of the documentation to get to version 5.2, but unfortunately I still get the exact same error:

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

I re-ran the debugger tool you guys recommended and uploaded the new output here: https://drive.google.com/file/d/19Lmq3GniuF89eG8TkmGv2rOLZg2Z7Ysc/view?usp=sharing

So even after moving to 5.2 the cameras still aren’t detected. Any ideas on what to try next?

Thanks for running the update and the new report. Since you’re already on Jetpack 5, the regular SD card image may not be enough here — you likely also need to flash the matching QSPI image for Jetpack 5.

I’ve sent you the QSPI image package through private message along with the flashing steps. Please check your messages, flash the QSPI image, and then try starting the camera again. Let me know what you see.

That did it — flashing the new QSPI image for Jetpack 5 fixed it! The camera is now detected and I can see images from both cameras.

One small thing I noticed: the camera sensor IDs are swapped for CAM0 and CAM1, but I can live with that. Just happy it’s finally working. Thanks for the help!