Arducam IMX219 multi-camera driver installation fails with "No DTB found" on Jetson AGX Orin

I’m trying to get the Arducam IMX219 6-camera kit working on my Jetson AGX Orin Dev Kit. I’m on JetPack 5.1.2 (L4T R35.4.1). Running the install script:

./install_full.sh -m imx219

It fails with:

RuntimeError: No DTB found for Jetson AGX Orin Developer Kit!

And then a dpkg error saying the post-installation script returned exit status 255. Has anyone gotten this working on this setup? I’ve already tried rebooting, same result.

That error suggests the installer can’t match your device tree. Let’s gather more info so we can see what’s going on. Can you run the diagnostic tool? I’ve sent you the download link via PM — grab the bug report script, make it executable, and run it:

chmod +x ./arducam-camera-bug-report-nvidia
sudo ./arducam-camera-bug-report-nvidia

It’ll generate arducam-bug-report.txt in the current directory. Attach that here and I’ll take a look.

Alright, ran the tool. Here’s the bug report attached. Let me know what you find.

Thanks for the report. I can see the issue now — JetPack 5.1.2 / L4T R35.4.1 has a known incompatibility with the Arducam camera driver on the Jetson AGX Orin Dev Kit. The driver package doesn’t have a matching device tree blob for that L4T release.

The fix is to upgrade to JetPack 6.1 (L4T 36.4.0). You’ll need to reflash your AGX Orin to that version, then run the install script again.

Okay, I flashed to JetPack 6.1, but now I’m getting a different error:

Cannot find the corresponding deb package

It mentions kernel version 5.15.148-tegra-36.4.3-20250107174145. Looks like the default flash gave me L4T 36.4.3, not 36.4.0. Is that the problem?

Yeah, that’s exactly it. The Arducam driver packages are built against L4T 36.4.0 specifically. JetPack 6.1 defaults to pulling the latest L4T which is 36.4.3 right now, and the driver doesn’t have a matching deb for that kernel version. You’ll need to explicitly flash L4T 36.4.0 — not the latest — and then the install script should find the right package.

Quick update — I’ve actually switched to a different setup now. I’m using a Jetson Orin NX (not the AGX Orin) with JetPack 5.1.2 (L4T 35.4.1). I want to use both IMX219 and IMX477 cameras on this board. Do I still need the Arducam driver for these, or is there another way? I’d rather not go through another JetPack upgrade if I can avoid it.

For the Orin NX on JetPack 5.1.2, you don’t need the Arducam drivers at all — both the IMX219 and IMX477 are supported natively through the NVIDIA BSP. You just use the Jetson-IO tool to enable them:

sudo /opt/nvidia/jetson-io/jetson-io.py

In the interface, select “Configure Jetson for compatible hardware”, then pick your camera model (IMX219 or IMX477) from the list, save, and reboot. No Arducam scripts needed. There’s a guide here: Jetson-io - Arducam Wiki

That worked — thanks. Follow-up question: I’m also looking at the IMX477 PTZ camera (model B016712MP). I’d be running it on an Orin NX with JetPack 5.1.5 (L4T 35.6.2). Same deal — just jetson-io?

Yes, the IMX477 PTZ camera uses the same native IMX477 driver, so jetson-io handles it on JetPack 5.1.5 / L4T 35.6.2 just fine. Once you’ve configured it through jetson-io and rebooted, you can skip steps 1 and 2 of the quick start guide and jump straight to the demo section:

https://docs.arducam.com/Nvidia-Jetson-Camera/Pan-Tilt-Zoom-Camera/quick-start/#demo

Alright, another hardware change. Now I’m on a Seeed Studio A603 carrier board with a Jetson Orin NX 16GB module, JetPack 6.0 (L4T 36.3.0). Seeed provides their own IMX477 driver. Streaming works, but I’m missing the 4032x3040@20fps mode — it just doesn’t show up as an option.

I tried two things:

  1. Running jetson-io to enable IMX477 — this actually makes /dev/video0 disappear entirely after reboot.
  2. Running Arducam’s install_full.sh — this brought the cameras back but killed Ethernet and USB. Keyboard, network, everything gone.

I’m stuck. I need that full resolution mode but I also need the carrier board to actually function.

This makes sense once you understand what’s happening under the hood. Two separate problems here:

Why install_full.sh breaks Ethernet/USB: The Arducam install script overwrites the device tree with one built for the Official NVIDIA Developer Kit. The Seeed A603 carrier board uses its own custom device tree layout — the pin mappings for Ethernet and USB are different from the dev kit. When the Arducam DTB gets applied, those peripherals stop working because the hardware routing no longer matches.

Why 4032x3040@20fps is missing: That resolution mode is specific to the Arducam driver stack. It’s not included in the generic IMX477 driver that Seeed ships (or the standard NVIDIA BSP). Since you have to stick with the Seeed-compatible driver to keep the carrier board functional, you’re limited to whatever resolutions Seeed’s BSP exposes.

So you’ve got two paths forward:

Option 1 — The Stable Path: Switch to an Official NVIDIA Jetson Orin NX Developer Kit. That platform is fully compatible with the Arducam drivers, so you’d get 4032x3040 mode right away without any device tree conflicts.

Option 2 — The Custom Path: If you need to stay on the Seeed A603, enabling 4032x3040 would require a paid driver customization — essentially porting the Arducam resolution logic into the Seeed-specific BSP so it works without breaking the carrier board peripherals.

What direction are you leaning?