Raspberry Pi 5 V3Link IMX219 not working: no camera or boot failure with dtoverlay

Hi everyone, I’m having a really frustrating issue getting V3Link working with two IMX219 cameras on a Raspberry Pi 5. I’ve got one camera from ArduCam and another from AliExpress, but neither works. I’ve been following the Quick Start Guide on the ArduCam docs site, but depending on what I put in config.txt, I get totally different failures:

  • If I use dtoverlay=imx219,cam0, the Pi boots fine but no camera is detected at all. libcamera-hello --list-cameras shows nothing.
  • If I use dtoverlay=imx219 (without specifying cam0), the Raspberry Pi 5 just hangs during boot and never finishes.

I’ve double-checked all the physical connections, ribbon cables are seated properly, and I’ve tried both cameras independently. Same result either way. Has anyone else run into this on a Pi 5? Is the V3Link even compatible with the Pi 5’s newer kernel?

Thanks for the detailed report. That’s an unusual symptom pattern — the fact that dtoverlay=imx219 alone causes a boot hang while dtoverlay=imx219,cam0 boots but detects nothing is worth digging into. The V3Link should be compatible with the Pi 5, but there may be something going on with the device tree overlay interaction on the newer kernel.

A couple of quick things to check while we investigate:

  1. Can you share the output of sudo vclog -m after a successful boot with the cam0 overlay? This might give us some clues from the firmware.
  2. Also, what does dmesg | grep -i imx219 show when you boot with dtoverlay=imx219,cam0?

In the meantime, let me look into whether there are known overlay quirks on the Pi 5 specifically.

Thanks for the quick reply. I’ll grab those logs in a bit. But before I dive deeper — is there actually another setting that needs to be defined or configured beyond just the dtoverlay line when using V3Link on a Raspberry Pi 5? The Quick Start Guide only really talks about the overlay setting, but it’s not super clear whether there’s something else I’m missing. Like, do I need to enable anything in the EEPROM config, or is there a separate V3Link-specific overlay I should be using instead of the plain imx219 one?

That’s a fair question. The V3Link solution should only require the standard imx219 overlay since the serializer/deserializer pair is transparent to the Pi — it should look like a directly connected IMX219 as far as the kernel is concerned. So in theory, no additional overlay or config should be needed beyond dtoverlay=imx219.

But clearly something isn’t right here, and we haven’t pinned down the root cause yet. The dual-symptom behavior you’re seeing (boot hang with one overlay variant vs. silent failure with the other) suggests the device tree is getting into a bad state.

I’ve sent you details via private message about setting up a remote diagnostic session so we can look at this live on your system. In the meantime, if you can grab those vclog and dmesg outputs I mentioned earlier, that would give us a head start. Also, if you’re able to capture a crash dump or serial console output from the boot hang scenario, that would be extremely helpful — it might reveal exactly where the kernel is getting stuck.

Got it — that makes sense about the overlay being transparent. I was worried I was missing some V3Link-specific config step.

I’m working on getting a crash dump now. The boot hang is tricky because the Pi just locks up before I can get anything useful from it. I’ve ordered a USB-to-TTL serial adapter so I can hopefully capture the console output during the failed boot. That should arrive tomorrow and I’ll post whatever I find.

I’ll also get those dmesg and vclog outputs from the cam0 boot case and post them here shortly. Appreciate the help on this — been banging my head against the wall for a few days now.

Sounds like a plan. A serial console capture from the hanging boot will be really valuable — that should show us exactly what the kernel is doing when it locks up, particularly around the I2C probe and the imx219 driver initialization.

To summarize where we are right now: the issue appears to be a device tree / kernel interaction problem on the Pi 5 with the V3Link-connected IMX219 cameras. We’re waiting on:

  • dmesg | grep -i imx219 output from a boot with dtoverlay=imx219,cam0
  • sudo vclog -m output from the same boot
  • A serial console crash dump from the dtoverlay=imx219 boot hang scenario

I’ve also sent you the remote session details through private message so we can coordinate a time once you have the serial adapter set up. Let me know once you’ve got those logs and we’ll dig in.