Having a strange issue with an Arducam IMX519 (SKU B0371) on a Raspberry Pi Zero 2 running Debian 12. The camera is detected fine, but as soon as I try to actually capture anything it times out repeatedly.
Here’s libcamera-hello --list-cameras — it sees the sensor:
Preview window unavailable
[0:22:37.757257447] [985] INFO Camera camera_manager.cpp:297 libcamera v0.0.0+4367-ad9428b4
[0:22:37.894477650] [986] INFO RPI vc4.cpp:444 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media0 and ISP device /dev/media1
[0:22:37.894640202] [986] INFO RPI pipeline_base.cpp:1101 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
[0:22:37.896955359] [985] INFO Camera camera.cpp:1033 configuring streams: (0) 2328x1748-YUV420
[0:22:37.898008745] [986] INFO RPI vc4.cpp:572 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SRGGB10_1X10 - Selected unicam format: 2328x1748-pRAA
[0:22:39.158273434] [986] WARN V4L2 v4l2_videodevice.cpp:2007 /dev/video0[13:cap]: Dequeue timer of 1000000.00us has expired!
[0:22:39.158422132] [986] ERROR RPI pipeline_base.cpp:1356 Camera frontend has timed out!
[0:22:39.158482028] [986] ERROR RPI pipeline_base.cpp:1357 Please check that your camera sensor connector is attached securely.
[0:22:39.158537861] [986] ERROR RPI pipeline_base.cpp:1358 Alternatively, try another cable and/or sensor.
ERROR: Device timeout detected, attempting a restart!!!
…and then the same timeout loop repeats over and over. The camera registers with Unicam and ISP just fine, but then no frames ever arrive. libcamera version is v0.0.0+4367-ad9428b4. Any ideas what’s going on?
The error message itself is giving you a pretty solid hint — “Dequeue timer of 1000000.00us has expired!” followed by “Camera frontend has timed out!” means the Pi’s CSI receiver is sitting there waiting for frame data that never shows up. The fact that the sensor enumerates correctly over I²C (shows up in --list-cameras and registers with Unicam/ISP) means the Pi can talk to the sensor just fine — but when it comes time for the sensor to actually push pixel data over the CSI lanes, nothing arrives.
First thing I’d try: swap the ribbon cable (the wider FFC that goes between the camera board and the Pi’s CSI connector). These cables can have intermittent breaks that don’t affect I²C but kill the high-speed CSI data lanes. Even if it looks fine, try a different one.
Good suggestion, but I’ve already been down that road. I tried three different ribbon cables (the wide one going to the Pi) and got the exact same timeout errors every time.
Here’s the kicker: I have another identical Arducam IMX519 (same SKU B0371), and that one works perfectly with the same cables and the same Pi Zero 2. So the cables, the Pi, the software — all fine.
I also tried reseating the small connector on the camera board itself — the one that links the image sensor PCB to the main camera board (not the ribbon cable to the Pi). The little black locking tab clicked audibly when I pressed it down, so it seemed like it seated properly. But no change — same timeout loop.
At this point I’m starting to think the camera module itself is just defective. Anyone seen this before with these Arducam modules?
Yeah, having a known-good identical unit that works flawlessly with the same setup narrows this down enormously. Let me walk through what the logs are actually telling us:
I²C is fine. The sensor enumerates at /base/soc/i2c0mux/i2c@1/imx519@1a, the pipeline registers it with Unicam (/dev/media0) and ISP (/dev/media1), and it even negotiates the sensor format (2328x1748-SRGGB10_1X10). All of that happens over the I²C control bus.
CSI data is dead. Every frame-capture attempt hits the 1-second dequeue timeout (1000000.00us). That means the Pi’s CSI receiver is sitting there waiting for the MIPI data lanes to go active, and they never do.
This pattern — I²C working, CSI silent — is classic for a physical connection problem on the sensor side of the module, i.e., the link between the image sensor chip and the camera board’s PCB. The small black-locking connector you mentioned is exactly the right thing to look at, but it’s really easy to think it’s seated when it isn’t. I’d give it one more shot with a bit more care:
Gently lift the small black locking tab on that sensor connector (again, the narrow one on the camera board — NOT the wide ribbon cable connector). Don’t force it; it should pivot up.
Slide the sensor’s flex PCB out just a millimeter or two, then push it back in making sure the contacts are fully and squarely inserted. Look at it from the side if you can — the flex should be perpendicular to the connector, not angled.
Press the locking tab firmly back down. You should feel it snap into place. Sometimes what feels like a click isn’t actually fully locked — give it a firm press with a fingernail across the full width of the tab.
If the problem persists after that, then based on everything we’ve seen, the fault is almost certainly a defect on that specific module — could be a bad solder joint on the sensor itself, a damaged trace on the flex, or a faulty connector. The known-good unit passing with the same Pi/cable/power supply seals that conclusion.
Alright, followed those steps carefully. Lifted the tab, pulled the flex out a bit, reinserted it dead square, pressed the tab down firmly — definitely felt it lock across the full width this time. Booted back up and… same exact timeout loop. Not even a single frame.
[0:22:39.158273434] [986] WARN V4L2 v4l2_videodevice.cpp:2007 /dev/video0[13:cap]: Dequeue timer of 1000000.00us has expired!
[0:22:39.158422132] [986] ERROR RPI pipeline_base.cpp:1356 Camera frontend has timed out!
I’m pretty convinced at this point it’s a hardware defect. The other IMX519 unit works perfectly, same Pi, same cables, same power, same SD card. This one enumerates fine but never sends a single frame over CSI.
Is there a process for getting a replacement from Arducam for something like this? The module is basically new.
Yeah, that’s as conclusive as it gets. To summarize for anyone who finds this thread later with similar symptoms:
I²C enumeration succeeds → sensor is powered and communicating at the control level
CSI data never arrives → the MIPI lanes between the sensor die and the camera board’s edge connector are broken somewhere
A known-good identical module works with the same Pi/cable/power → rules out the host side entirely
The fault is isolated to that specific B0371 hardware module, and since reseating the sensor-side connector didn’t help, it’s likely a defect on the flex PCB, the sensor BGA, or the connector itself — not something you can fix in the field.
Regarding replacement — I’ve sent you the relevant contact details and next steps via private message. Since this is a public thread I won’t post warranty/RMA info here, but check your messages and you should have what you need to get this sorted out.