Arducam Stereo Camarray IMX477 driver missing deb package on Jetson Nano

Hi everyone, I’ve got a Stereo Camarray Kit that I’m trying to get working on an NVIDIA Jetson Nano. I followed the Multi Camera Camarray Quick Start and tried to install the IMX477 driver, but it keeps failing. The log says:

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

Kernel version: 4.9.337-tegra-32.7.4-20230608212426
Jetson type: NVIDIA Jetson Nano Developer Kit

Any idea why the installer can’t find a package? I’m not sure what I’m doing wrong here.

Thanks for including the full log — that error is usually the installer not finding a deb that matches your system. Before I point you at the fix, can you tell me exactly which HAT revision and cameras are on the kit, and what firmware the HAT is running?

Sure. It’s the HAT UC-512 Rev. C / UC-511 Rev. A with two UC-517 Rev. B IMX477 cameras, and the HAT firmware is 2020-10-15. I should mention the kit was originally bought for a Raspberry Pi, but I’m now trying to use it with the Jetson Nano.

Thanks, that hardware is fine on the Nano — the problem is the software side. The IMX477 driver deb package is version-specific, and Arducam hasn’t released a camera driver for L4T 32.7.4. That means your current JetPack/L4T version isn’t in the supported list, so there’s no matching deb package and you get that ‘Cannot find the corresponding deb package’ error. You’ll need to reflash the Jetson to a supported L4T version before installing the driver. Check the supported versions here: Introduction to Arducam Jetson Cameras - Arducam Wiki

Okay, that makes sense now. I flashed the Jetson Nano with JetPack 4.6.1 / L4T 32.7.1 and installed the IMX477 driver. It’s working — I’m actually getting images from the cameras now. Here’s the output:

image001.jpg

Great, that image output confirms the camera hardware is functioning normally. So the earlier failure was purely the unsupported L4T 32.7.4. Just to be sure I understand the successful setup — did you install the IMX477 HAT driver using the command from the Multi-Camera CamArray Quick Start IMX477 section?

Yes, exactly. After reflashing to JetPack 4.6.1 / L4T 32.7.1 I used the command from the IMX477 section and it installed without any problems.

Perfect. That confirms the root cause: the previous install failure was tied to unsupported L4T 32.7.4, and after reflashing to the supported L4T 32.7.1 the driver installed and the cameras produce images. For anyone else hitting this, the install command is documented here: Quick start - Arducam Wiki

One more issue has come up though. The example gstreamer pipes in the quick start section don’t work for me, and the same pipe doesn’t function with OpenCV either. I thought it would just work since the driver installed.

Since the camera is producing images, the hardware part is normal — this sounds like a command/example issue. Can you share exactly which pipe you’re trying and what happens? Also, do you have any gstreamer command that does work right now?

Sure. I actually reflashed JetPack again and ran ‘sudo apt update’, and after that the IMX477 driver installation finally worked cleanly. The only gstreamer pipe that works for me is this one:

gst-launch-1.0 nvarguscamerasrc sensor_id=0 ! 'video/x-raw(memory:NVMM),width=1920, height=1080, framerate=20/1, format=NV12' ! nvvidconv flip-method=0 ! 'video/x-raw,width=960, height=720' ! nvvidconv ! nvegltransform ! nveglglessink -e

The quick start example pipes still don’t work, and when I try to use that working pipe with OpenCV it doesn’t function either.

Thanks for the details. Because the camera works with that gstreamer command, the hardware is confirmed normal — the issue is that some commands in the quick start aren’t working and need to be updated. For OpenCV, don’t reuse the raw gstreamer pipe; instead follow the Arducam MIPI_Camera JetsonCamera.py example code: MIPI_Camera/Jetson/IMX477/AF_LENS/JetsonCamera.py at master · ArduCAM/MIPI_Camera · GitHub

To summarize: the working gstreamer pipe is the one you posted (nvarguscamerasrc sensor_id=0 … nveglglessink -e), and for OpenCV you should base your code on JetsonCamera.py at the link above. The quick start gstreamer examples will be corrected. Your hardware and driver install are fine at this point.