Arducam IMX519 camera not working on Jetson Xavier NX despite guide and OS version changes

Hi, I’m trying to get an Arducam IMX519 16MP autofocus camera (product id B0371, the one advertised as a replacement for the Pi Camera V2.1) working on a Jetson Xavier NX, and it just won’t work at all.

I followed the method that was suggested to me earlier but it doesn’t help. The solution provided in the file can’t even be downloaded on the NX, and following the URL in the doc also doesn’t work. I was told this camera is driver-free, so I never installed a driver.

A couple of screenshots of what I’m seeing:
image002.jpg
image003.jpg
image004.jpg
image005.jpg

Any help would be appreciated, I’m stuck.

Sorry to hear it’s not working. Let’s get some basics first so I can narrow this down.

  1. What exact Jetson / Jetpack version are you running? (cat /etc/nv_tegra_release and head -n 1 /etc/nv_boot_control.conf if you can).
  2. How did you install the system - flashed from an image file, or via SDKmanager?
  3. Which camera guide were you following? You mentioned a URL - can you paste the exact one you used?

Also, just to clear this up: on Jetson the IMX519 is not actually driver-free. Unlike on a Raspberry Pi, you do need to install the Arducam IMX519 driver for the Jetson side. So if you haven’t installed a driver at all, that alone would explain the camera not being usable.

Sure.

  1. I started on Jetpack / system version 32.7.2. I then changed the version to 4.6.1 and also tried 5.0.2 - none of them work either.
  2. We installed the system using an image file.
  3. The guide was this one: Redirecting...

But the files in that doc can’t be downloaded on the NX, so I couldn’t even get through the steps. And the camera was bought advertised as driver-free, so I didn’t install any driver separately.

Thanks, that helps a lot. A few things stand out here:

Before I walk you through the full fix, I need to confirm two things:

  1. How exactly was the 32.7.2 system installed - image file only, or did SDKmanager get used at any point?
  2. Have you used SDKmanager at all?

Also, can you run the bug report script below and send me the generated arducam-bug-report.txt? That will tell me exactly what’s going on with the driver and boot config.

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

So the whole 32.7.2 install was from the image file - we didn’t use SDKmanager at all for that. We only used the image to flash it.

I’ll run the bug report script now. Just to be sure, this is the same as before - the earlier suggested method didn’t work, changing to 4.6.1 and 5.0.2 didn’t work, and the guide’s files won’t download on the NX. Do I need to be on a specific version when I run this script?

No special version needed - just run it on the system as it currently is and grab the txt file. Actually, running it on the 32.7.2 image is more useful to me right now, since that’s the setup I can reason about for the cboot issue.

Once I have the report I’ll confirm whether the driver is even present. In the meantime, let me lay out the path, because I’m fairly confident about the root cause:

The 32.7.2 / Jetpack 4.6.2 image ships with a cboot bug that makes it fail to read extlinux.conf. Because of that, the boot config that points to the camera driver never gets applied, so the IMX519 can’t work - regardless of which guide steps you follow.

The fix has to happen at the bootloader level first:

  1. Fix the Jetpack 4.6.2 cboot bug using the NVIDIA doc: Cboot in 32.7.2 fails to read extlinux.conf - #15 by WayneWWW - Jetson AGX Xavier - NVIDIA Developer Forums
  2. Compile and replace cboot.
  3. Re-flash the system using SDKmanager (not the plain image).
  4. After the system is flashed, install the Arducam IMX519 driver following the guide: Redirecting...

Note step 4 - this is where the “driver-free” assumption bites you. On Jetson the IMX519 driver must be installed via that guide; it does not work out of the box the way it does on a Pi.

Okay that makes more sense now - I assumed driver-free meant no driver needed on the Jetson too. Let me get the bug report generated and I’ll attach it.

Just to confirm the order: fix the cboot bug, compile + replace cboot, re-flash with SDKmanager, and only then install the IMX519 driver? So there’s no point trying to install the driver on the current 32.7.2 image?

Correct - there’s no point installing the driver on the current 32.7.2 image. The cboot bug means the boot config won’t be read, so even a correctly installed driver won’t get loaded. You’ll just go in circles.

So the order is:

  1. Apply the cboot fix from the NVIDIA thread and compile the replacement cboot.
  2. Replace cboot, then re-flash the whole system with SDKmanager.
  3. Once the freshly flashed system boots normally, run the IMX519 driver install from the Arducam guide.
  4. Verify with the detection commands in the guide.

Go ahead and run the bug report script when you can and send me the arducam-bug-report.txt. The main thing it’ll confirm is whether any partial driver install is present and what your current boot config looks like. If you want, I can also send you the firmware/tool package by private message - just check your inbox if the download from the doc keeps failing on the NX.

Got it. I’ll run the script and post the report. One last thing - when you say re-flash with SDKmanager, is that required, or can I re-flash with the image file again after replacing cboot? I’d prefer to avoid reinstalling everything if I can.

For this particular bug, SDKmanager is the reliable path - the plain image file is what put you on the broken cboot in the first place, and replacing cboot on a flashed image and then re-flashing the same image tends to just re-introduce the problem. So: compile + replace cboot, then re-flash via SDKmanager, then install the IMX519 driver from the Arducam guide.

Summary of where we are:

Once you post the arducam-bug-report.txt I’ll take a look and confirm nothing else is off before you start the re-flash.