ArduCAM IMX477 install script can't find deb for Jetson AGX Orin kernel 5.10.104-tegra-35.2.1

Hi everyone, I’m trying to get an Arducam IMX477 camera working on a Jetson AGX Orin. I grabbed the camera477_250_driver repo and ran the install script like this:

chmod +x install_full.sh
./install_full.sh -m imx477

The script gets to the download step and then fails with:

Cannot find the corresponding deb package, please send the following information to [email protected]

Full output from my terminal:

./install_full.sh: line 241: warning: command substitution: ignored null byte in input
Jetson AGX Orin
Cannot find the corresponding deb package, please send the following information to [email protected]
Kernel version: 5.10.104-tegra-35.2.1-20230124153320
Jetson type: Jetson AGX Orin

I ran it from ~/proj/download/camera477_250_driver, kernel is 5.10.104-tegra-35.2.1-20230124153320. Am I missing a matching package, or is something wrong with the script?

Thanks for including the full output. That error means the installer matched your Jetson type and kernel version but couldn’t find a corresponding .deb in the driver set. The root cause here is that Arducam hasn’t released the imx477 driver for the Jetson AGX Orin at all, so install_full.sh -m imx477 won’t ever find a matching package on this device.

On the AGX Orin you need to use the native NVIDIA imx477 driver instead, and load it via jetson-io. The steps are in this guide:
https://docs.arducam.com/Nvidia-Jetson-Camera/Application-note/Jetson-io/

That makes sense. A few follow-up questions:

  1. When do I load the native imx477 driver on the AGX Orin — during flashing, or after flashing?
  2. What’s the actual difference between the native imx477 driver and the non-native Arducam one, feature-wise?
  3. What’s the most current official Tegra/L4T release that the camera477_250_driver script supports?
  1. You load it after flashing, on the device, by running jetson-io and selecting the imx477 option. The same guide covers that step by step.

  2. Arducam’s custom driver adds an extra resolution config on top of the native one. But Arducam doesn’t develop the camera driver for the AGX Orin, so that extra resolution isn’t available there. On Orin the supported resolution list is whatever the native camera driver provides.

  3. Use L4T 35.2.1.

One more hardware question. For the IMX477 B0250 module ribbon — can I plug it directly into the AGX Orin camera port, or do I need an adapter board? This is just a single-camera setup, so the connection doesn’t need to be super sturdy. If I do need an adapter, what should I be looking for?

The B0250 ribbon won’t mate directly with the AGX Orin camera connector — the connector differs, so you do need an adapter board in between, even for a single-camera setup. It’s not a standard off-the-shelf part that I can point you to. Arducam has a customized adapter solution for exactly this connection; I’ve sent you a picture of it in a private message so you can see what it looks like.

Got it, thanks. I’ll go the native driver route through jetson-io and look into the adapter option.

Just to wrap up: the Arducam imx477 driver isn’t available for the AGX Orin, so install_full.sh -m imx477 won’t work on that device. Use the native NVIDIA imx477 driver loaded through jetson-io (guide linked above), and keep in mind the supported resolutions on Orin follow the native driver only — Arducam’s extra resolution config doesn’t apply there. The install script tops out at L4T 35.2.1. And you’ll need an adapter board for the B0250 ribbon on the Orin camera port.