Jetvariety AR0234 driver install fails on Jetson Orin Nano: DTB not found error

Hi everyone. I recently switched from a Jetson Nano to a Jetson Orin Nano Developer Kit and I’m trying to get my Jetvariety AR0234 camera working. I ran:

./install_full.sh -m arducam

The kernel .deb downloaded fine, but the install fails during the post-install step. Here’s the relevant output:

./install_full.sh: line 19: warning: command substitution: ignored null byte in input
NVIDIA Orin Nano Developer Kit
Downloaded: modules.txt, arducam_links.txt, arducam-nvidia-l4t-kernel-t234-nano-5.10.104-tegra-35.3.1-20230725081415_arm64.deb (9965386 bytes)
dpkg: Selecting previously unselected package arducam-nvidia-l4t-kernel.
Unpacking arducam-nvidia-l4t-kernel (5.10.104-tegra-35.3.1-20230725081415)
Setting up arducam-nvidia-l4t-kernel (5.10.104-tegra-35.3.1-20230725081415)
Traceback (most recent call last):
  File "/opt/arducam/jetson-io/config-by-hardware.py", line 125, in <module>
    main()
  File "/opt/arducam/jetson-io/config-by-hardware.py", line 94, in main
    jetson = board.Board()
  File "/opt/arducam/jetson-io/Jetson/board.py", line 230, in __init__
    self.dtb = _board_get_dtb(self.compat, self.model, dtbdir)
  File "/opt/arducam/jetson-io/Jetson/board.py", line 114, in _board_get_dtb
    raise RuntimeError("No DTB found for %s!" % model)
RuntimeError: No DTB found for NVIDIA Orin Nano Developer Kit!
An unknown error occurred while installing dtoverlays.
dpkg: error processing package arducam-nvidia-l4t-kernel (--install):
  installed arducam-nvidia-l4t-kernel package post-installation script subprocess returned error exit status 255
Errors were encountered while processing: arducam-nvidia-l4t-kernel
Unknown error, please send the error message to [email protected]

Has anyone seen this before? Not sure if it’s a board issue or something with the driver.

Welcome to the forum. The important part is:

RuntimeError: No DTB found for NVIDIA Orin Nano Developer Kit!

That comes from /opt/arducam/jetson-io/config-by-hardware.py when it calls board.Board() and then _board_get_dtb(). Basically the driver’s device-tree matching logic can’t find a matching DTB for the detected board model.

From your log I can see the installer downloaded these fine:

  • https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/modules.txt
  • https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/arducam_links.txt
  • https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.1-orin-nano/arducam-nvidia-l4t-kernel-t234-nano-5.10.104-tegra-35.3.1-20230725081415_arm64.deb

So the package itself downloaded and started installing, but the post-install script failed while trying to configure the dtoverlays.

Can you post a couple of photos of the front and back of your Orin Nano board? The No DTB found error usually depends on which carrier board you’re using, so I need to identify that first.

Sure, here are the photos (front and back). The board is a Seeed Studio J3011 Recomputer with the Jetson Orin Nano module on it, and the carrier has 2x 15-pin MIPI CSI connectors.

Thanks, that’s very helpful. That board is the Seeed Studio J3011 Recomputer, which is a third-party carrier board for the Orin Nano module, not the NVIDIA official developer kit carrier.

That explains the error. Arducam’s camera driver package is built against the NVIDIA official carrier board DTB. During the post-install step, config-by-hardware.py tries to match the board model to a DTB inside the package, and for the J3011 it hits:

RuntimeError: No DTB found for NVIDIA Orin Nano Developer Kit!

So this is a carrier-board DTB mismatch, not a fault with the AR0234 camera module itself.

At the moment Arducam does not support the camera on the Seeed Studio J3011 Recomputer. The AR0234/Jetvariety setup is only supported on the NVIDIA official carrier board. Supporting the J3011 would require a matching DTB, which isn’t provided in the current driver package.

OK, thanks for explaining. So the camera itself is probably fine and the issue is the J3011 DTB mismatch.

I still get the same error on every install attempt:

RuntimeError: No DTB found for NVIDIA Orin Nano Developer Kit!
dpkg: error processing package arducam-nvidia-l4t-kernel (--install):
  installed arducam-nvidia-l4t-kernel package post-installation script subprocess returned error exit status 255

Is there any workaround or a DTB I can use for this carrier? I’d really like to use it on this board.

Right, the error will keep happening because the post-install script can’t match the J3011 to a supported DTB, so dpkg rolls back with status 255.

There’s no supported DTB for the J3011 Recomputer at this time, so I don’t have an official workaround to offer. I’ll pass this over to our engineering team to review whether a J3011-compatible DTB can be added. For now the conclusion is: the AR0234 with the Jetvariety driver is only supported on the NVIDIA official Orin Nano carrier board.