Arducam driver install error and /dev/video0 missing on Jetson Ubuntu 18.04

Hi, I’m trying to get my Arducam camera running on a Jetson but the install keeps blowing up. During the dtoverlays step I get ‘An unknown error occurred while installing dtoverlays.’ and afterwards the camera is just gone:

ls: cannot access ‘/dev/video0’: No such file or directory

Anyone seen this before? Full output below, any help appreciated.

Hey, thanks for posting the log. That ‘unknown error’ line is usually just the top layer - the real failure is happening inside the package’s post-install script. Can you paste the complete install output, including every dpkg line, plus the Arducam version you’re on and your OS/Python setup? That’ll tell us which step is actually dying.

Sure thing. Version is 4.6-b199, and I also tried 4.6-b197 with the same result. Environment:

OS: Ubuntu 18.04.6 LTS (Bionic Beaver)
Python: 3.6.9
opencv: 3.2.0

Here’s the install output:

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]
user@jetson:~$ ls /dev/video0
ls: cannot access '/dev/video0': No such file or directory

So it clearly fails at the kernel package, then there’s no video node at all.

That’s useful. The key line is:

installed arducam-nvidia-l4t-kernel package post-installation script subprocess returned error exit status 255

So the package installs its files fine, but the post-install script exits with 255. That script is what applies the device tree overlay for your specific camera module, so if it can’t match the hardware it aborts - and that’s why /dev/video0 never appears. Before we go further: which camera did you actually get? The SKU or the product link is the quickest way to identify it, since the overlay name depends on the exact module.

I don’t have the model in hand right now, honestly. I tried reinstalling the package and rebooting the Jetson, but it’s the same every time - post-install fails with 255 and still no /dev/video0. Is there any way to tell which camera it is from the software side?

Not really from the logs alone - the failing script keys off the camera model, so we need to know the exact module before we can pick the right overlay path. A few things that’d help:

  1. The SKU printed on the camera board or the ribbon, or the product page you got it from.
  2. A couple of photos of the physical connection - the CSI ribbon and how it’s seated on the Jetson’s camera connector. A ribbon that’s loose or flipped looks exactly like this kind of failure.

With the model + a look at the wiring we can narrow down whether it’s the overlay selection or the connection itself.

Alright, that makes sense. I’ll pull the camera off the board and grab some shots of the CSI connector and the ribbon, and try to find the SKU on it. Should I post them here or send them somewhere?

Either works - if you’d rather not post them publicly, send the SKU and photos to me via private message and I’ll take a look. Just make sure the photos clearly show both ends of the ribbon and which CSI port it’s plugged into.

Got it, I’ll get the model and the pictures together and follow up. Thanks for the help so far.

No problem. Quick recap of where we stand: the install fails inside the arducam-nvidia-l4t-kernel post-install script (exit status 255), which is why no /dev/video0 shows up afterwards. We haven’t pinned the root cause yet - it comes down to which camera model the overlay should target and whether the CSI connection is correct. Once we have the camera type/SKU and clear photos of the hardware connection, we can sort out the right fix. Post them here or send them privately, whichever you prefer.