Getting "Cannot find corresponding deb package" error installing IMX477 camera driver on Jetson Nano

Hi everyone, hoping someone can help me out here. I’m trying to get an IMX477 camera working on a Jetson Nano (NVIDIA Jetson Nano Developer Kit), but the automatic installation script keeps failing when it tries to install the driver. This is the exact error it prints:

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

So far I’ve only used the automatic installation script, no manual steps. Any idea what’s going wrong?

Thanks for posting the full log. That kernel version, 4.9.337-tegra-32.7.4-20230608212426, tells me you’re on L4T 32.7.4, and the Arducam camera driver hasn’t been released for that version. The Arducam deb packages are built per L4T/JetPack version, and 32.7.4 isn’t in the supported list, so the script literally has no matching deb to download. That’s the root cause of the failure.

You’ve got two options:

  1. Reflash the Jetson Nano to a JetPack version that is on the supported list. You can find the supported versions here:
    Introduction to Arducam Jetson Cameras - Arducam Wiki

  2. If you’d rather stay on L4T 32.7.4, enable the Jetson native IMX477 camera driver instead of the Arducam package. The steps are here:
    Jetson-io - Arducam Wiki

Either path should get you past the ‘cannot find deb package’ error.

Thanks. I tried the native driver method on 32.7.4. The camera gets detected now, but when I try to grab frames with OpenCV VideoCapture I just get a solid green screen. At this point I’m not sure if it’s OpenCV or the driver. Also, which Jetson Nano firmware is actually the best supported one for the IMX477? I’d rather be on a version that works end to end.

Before you flash anything else, let’s confirm the raw camera stream itself is clean. That’ll tell us if the green screen is an OpenCV problem or a driver/camera setup problem. Run this GStreamer pipeline, which uses nvarguscamerasrc directly and bypasses OpenCV entirely:

SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports
FRAMERATE=30 # Framerate can go from 2 to 60 for 1920x1080 mode
gst-launch-1.0 nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvvidconv ! nvoverlaysink

If this shows a proper image, the camera/driver path is fine and the problem is specifically in the OpenCV layer.

Update: I ended up downgrading to JetPack 4.6.1 and reinstalling the driver. The camera is detected at /dev/video0 now, but OpenCV still won’t cooperate. Details:

  • JetPack 4.6.1
  • OpenCV 4.9.0
  • Camera detected at /dev/video0
  • VideoCapture(0): cap.isOpened() returns true, but cap.read() just times out

I’ve seen posts online saying OpenCV VideoCapture has problems with newer versions on these boards.

uname -a output:

R32 (release), REVISION: 7.1, GCID: 29818004, BOARD: t210ref, EABI: aarch64, DATE: Sat Feb 19 17:05:08 UTC 2022

That timeout-on-read while isOpened() returns true is a known issue with plain VideoCapture on the IMX477. Instead of calling VideoCapture(0) directly, use the Arducam-provided JetsonCamera.py example. It’s written specifically for the IMX477 and handles the OpenCV capture path correctly. You can find it here:

To summarize the whole thread:

  • The original install failure was because L4T 32.7.4 has no Arducam deb driver package.
  • On 32.7.4, use the Jetson native IMX477 driver and verify the stream with the nvarguscamerasrc GStreamer pipeline.
  • On JetPack 4.6.1 with the Arducam driver, skip plain VideoCapture(0). It can return isOpened()=true but still time out on read. Use the JetsonCamera.py example for OpenCV capture instead.