-
Where did you get the camera module(s)?
Authorized reseller - will specify if necessary -
Model number of the product(s)?
- Multi Camera Adapter Module V2.2 (B012001)
- 3x Official Pi HQ Camera / Arducam IMX477 CS-Mount
- What hardware/platform were you working on?
- Raspberry Pi 5 (4GB)
- Raspberry Pi OS, kernel 6.12.93+rpt-rpi-2712
- libcamera v0.5.2+99-bfd68f78, libpisp v1.2.1
- Instructions you have followed. (link/manual/etc.)
- Quick Start Guide for Multi-Camera Adapter Board (Arducam Wiki)
- config.txt:
dtoverlay=camera-mux-4port,cam0-imx477,cam1-imx477,cam2-imx477
- Problems you were having?
A single IMX477 wired directly to the Pi 5’s own CSI connector (no mux, plaindtoverlay=imx477) captures correctly. The same camera, same cable type, connected through Camera Port A on the Multi Camera Adapter V2.2 hangs indefinitely on every capture attempt. This happens with only that one camera physically connected and onlycam0-imx477declared in config.txt, as well as with 3 (so this isn’t the declared-vs-connected-camera-count mismatch reported in an earlier thread on this board: Multi Camera Module V2.2 Not Working With Four IMX477 Cameras).
rpicam-still hangs after “Selected sensor format” and repeatedly reports:
WARN V4L2 v4l2_videodevice.cpp:2155 /dev/video4[50:cap]: Dequeue timer of 1000000.00us has expired!
ERROR RPI pipeline_base.cpp:1346 Camera frontend has timed out!
This happens identically:
- With each of the 3 physical cameras selected individually (
--camera 0/1/2) - At full resolution (4056x3040) and at low res (1332x990), so it doesn’t appear to be a bandwidth/signal-margin issue that scales with data rate
- The dmesg log from your hardware?
[ 1.090923] /axi/pcie@1000120000/rp1/i2c@80000/pca@70/i2c@0/imx477@1a: Fixed dependency cycle(s) with /video-mux
[ 2.960087] pca954x 11-0070: registered 4 multiplexed busses for I2C mux pca9544
[ 4.442631] gpio-mux mux-controller: 8-way mux-controller registered
[ 4.534869] rp1-cfe 1f00128000.csi: found subdevice /video-mux
[ 4.534885] rp1-cfe 1f00128000.csi: Using sensor video-mux for capture
[ 4.660946] imx477 15-001a: Device found is imx477
No EBUSY, no probe-deferral failures, no dependency-cycle errors that didn’t self-resolve — the control plane looks clean.
- Troubleshooting attempts you’ve made?
- I2C control path: confirmed working. Sensor mode negotiation succeeds every time;
pca954x 11-0070registers correctly with 4 multiplexed busses; each camera enumerates on its ownpca@70/i2c@Nsub-bus. - GPIO switching: confirmed working.
pinctrl get 4,17,18shows three distinct, reproducible drive patterns corresponding to--camera 0/1/2, matching what’s expected of this overlay’sgpio-muxcontrol. - Media graph construction: confirmed working. dmesg shows
rp1-cfe 1f00128000.csi: found subdevice /video-muxandUsing sensor video-mux for capture, so the CFE driver correctly recognizes and uses the mux. - Cable/connector: confirmed correct. Mux output is on CAM/DISP1 (this overlay’s default), and disturbing/misconnecting even one camera-to-mux cable causes total camera loss (all ports), which is not what’s happening here.
- Sensor/cable in isolation: confirmed good, per the direct-connection test above.
- Verified all 3 cameras individually enumerate and negotiate modes correctly via I2C
- Verified GPIO mux-select lines change correctly and distinctly per camera
- Tested full-res and lowest-binned-mode capture; both hang identically
- Confirmed single camera works when bypassing the mux entirely (direct to Pi 5 CSI connector)
- Confirmed cable is in the CAM/DISP1 connector (this overlay’s default)
- Ruled out an earlier Pi5 CFE driver bug (raspberrypi/linux pull 5744) as inapplicable to this kernel version
Given all of that, this looks like the analog CSI switch itself failing to pass MIPI data on the Pi 5, regardless of control-plane correctness or data rate.
- What help do you need?
Is this board (V2.2 / B012001) confirmed to work on Raspberry Pi 5 with the currentrp1-cfe/PiSP stack, given the analog switch was originally designed against the Pi 4/CM4-era Unicam receiver? If Pi 5 compatibility is established for this revision, is there a known cause for the switch passing I2C/GPIO control correctly but not CSI data at any resolution? I’m trying to establish whether this is something I’ve overlooked, a defective unit, or a platform incompatibility.