Arducam 16MP IMX519 black preview via U6248 extender on Raspberry Pi

Hi everyone,

I’m stuck with a 16MP Arducam camera on a Raspberry Pi. The camera works perfectly when I connect it directly to the Pi with a short ribbon cable, but if I put either of my two U6248 extender modules (from Uctronics) in between, the preview window opens black and no image is ever captured.

Environment:

  • Raspberry Pi
  • 16MP Arducam camera (imx519)
  • 2x U6248 extender modules
  • libcamera v0.0.0+4226-8689dd6b

Command:

libcamera-vid -t 10000 -o test.h264

Direct connection (works, test.h264 is created):

Made X/EGL preview window
[0:01:12.114309574] [1327] INFO Camera camera_manager.cpp:299 libcamera v0.0.0+4226-8689dd6b
[0:01:12.212748747] [1329] INFO RPI raspberrypi.cpp:1485 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media1 and ISP device /dev/media0
[0:01:12.213700534] [1327] INFO Camera camera.cpp:1028 configuring streams: (0) 640x480-YUV420
[0:01:12.214083815] [1329] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 1280x720-SRGGB10_1X10 - Selected unicam format: 1280x720-pRAA
Halting: reached timeout of 10000 milliseconds.

Via U6248 extender (black window):

Made X/EGL preview window
[0:05:51.414760174] [1682] INFO Camera camera_manager.cpp:299 libcamera v0.0.0+4226-8689dd6b
[0:05:51.486263894] [1684] INFO RPI raspberrypi.cpp:1485 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media3 and ISP device /dev/media0
[0:05:51.487401072] [1682] INFO Camera camera.cpp:1028 configuring streams: (0) 640x480-YUV420
[0:05:51.487842854] [1684] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 1280x720-SRGGB10_1X10 - Selected unicam format: 1280x720-pRAA
[0:08:42.189247925] [1684] WARN V4L2 v4l2_videodevice.cpp:2007 /dev/video0[18:cap]: Dequeue timer of 170392000.00us has expired!
[0:08:42.189414519] [1684] ERROR RPI raspberrypi.cpp:2022 Unicam has timed out!
[0:08:42.189503076] [1684] ERROR RPI raspberrypi.cpp:2023 Please check that your camera sensor connector is attached securely.
[0:08:42.189574354] [1684] ERROR RPI raspberrypi.cpp:2024 Alternatively, try another cable and/or sensor.

With the extender the window stays open past the 10 second timeout, then around 3 minutes in it times out and retries, but it never succeeds. I’ve tested both U6248 modules, rechecked the ribbon cabling, and installed the resources support sent over privately — same result every time.

Any idea what to try next?

Thanks for the detailed logs. The direct connection looks clean. Through the U6248 the sensor is still detected and streams are configured, but Unicam eventually gives up waiting for frames (the ‘Dequeue timer’ and ‘Unicam has timed out!’ lines). That usually means the signal isn’t getting through the extended path reliably.

Before we dig into hardware, let’s capture a full bug report. Reboot the Pi, then run:

wget -O arducam-camera-bug-report https://github.com/ketai-dhr/arducam-camera-bug-report/releases/download/tools/arducam-camera-bug-report
chmod +x ./arducam-camera-bug-report
./arducam-camera-bug-report

Please send me the arducam-bug-report.txt it creates.

I rebooted and ran the tool with the U6248 in place, but the arducam-bug-report.txt file came out as 0 bytes. The download itself was fine:

--2023-06-15 19:07:32-- https://github.com/ketai-dhr/arducam-camera-bug-report/releases/download/tools/arducam-camera-bug-report
...
HTTP request sent, awaiting response... 200 OK
Length: 5327 (5.2K) [application/octet-stream]
Saving to: 'arducam-camera-bug-report'
arducam-camera-bug- 100%[===================>]   5.20K  --.-KB/s    in 0.003s
2023-06-15 19:07:34 (1.81 MB/s) - 'arducam-camera-bug-report' saved [5327/5327]

But when I run it, it prints this and the txt file stays empty:

[0:03:12.614185000] [1622] INFO Camera camera_manager.cpp:299 libcamera v0.0.0+4226-8689dd6b
[0:03:12.689253974] [1624] INFO RPI raspberrypi.cpp:1485 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media1 and ISP device /dev/media0
[0:03:12.690229284] [1622] INFO Camera camera.cpp:1028 configuring streams: (0) 2328x1308-YUV420
[0:03:12.690557894] [1624] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 3840x2160-SRGGB10_1X10 - Selected unicam format: 3840x2160-pRAA

ls shows arducam-bug-report.txt is 0 bytes. Not sure why it’s empty.

Interesting — the imx519 is being detected and streams are configured (2328x1308-YUV420, 3840x2160-SRGGB10_1X10), so the sensor is there, but the tool can’t complete its capture through the extender, which is why the report comes out 0 bytes. Same underlying symptom as your black preview.

Can you try once more cleanly: reboot, re-download the tool, chmod +x, run it, and double-check the file size. If it’s still 0 bytes, could you also run the tool with the camera connected directly to the Pi (no U6248) so we have a working report to compare against?

So I pulled the U6248 out of the path and connected the 16MP camera ribbon cable straight to the Pi board. The bug report generated fine that way — I’ve attached arducam-bug-report.txt.

So it’s consistent: the bug report tool hangs with the extender in place, just like the camera capture. Direct connection works, extended path doesn’t.

Thanks, that’s a useful confirmation that the U6248 is what’s breaking the capture path.

Since the direct connection works, let’s try the low-speed imx519 driver, which is more tolerant of longer/extended signal paths. Download the install script and make it executable:

wget -O install_pivariety_pkgs.sh https://github.com/ArduCAM/Arducam-Pivariety-V4L2-Driver/releases/download/install_script/install_pivariety_pkgs.sh
chmod +x install_pivariety_pkgs.sh

Then install the low-speed kernel driver package:

./install_pivariety_pkgs.sh -p imx519_kernel_driver_low_speed

If that doesn’t sort it, update the kernel to 6.1.21 and follow this guide to enable the camera:

https://docs.arducam.com/Raspberry-Pi-Camera/Native-camera/Quick-Start-Guide/#software-guide-for-imx519-autofocus-camera

Let me know how it behaves after that.

I installed the imx519_kernel_driver_low_speed package, then updated the kernel to 6.1.34, re-ran the imx519 software installs, and amended /boot/config.txt. Still failing through the U6248 — now I get ‘No camera available’ both when testing the camera and when running arducam-camera-bug-report:

./install_pivariety_pkgs.sh -p imx519_kernel_driver_low_speed
./arducam-camera-bug-report

Both report ‘No camera available’. Direct connection still works fine. I’ve attached the new bug report from the run.

Hmm, ‘No camera available’ after the driver/kernel change is a different failure than the original timeout, which suggests the low-speed driver isn’t matching your current setup. But let’s rule out the hardware side first, since the direct connection still works.

Can you verify the Pi’s power supply? On our side this setup works with a 5V/3A supply — a weaker supply can fail specifically on the extended path.

Also, swap in the cables that came in the U6248 package if you haven’t already. Poor or slightly loose connections along the extender path are the most common cause of exactly this pattern (works direct, fails through the extender).

To summarize where we are: the imx519 is detected and streams are configured, but capture hangs/times out through the U6248 (black preview, 0-byte bug report). Direct connection works. The low-speed driver + kernel 6.1.34 didn’t resolve it and changed the symptom to ‘No camera available’. Next step is confirming 5V/3A power and swapping the extender cables before we go further.