I’m having trouble with my Arducam 64MP USB UVC Camera (B0475) on Ubuntu 20.04 running in VirtualBox. When I try to capture 64MP still images, it only works intermittently. Here’s the command I’m using:
fswebcam -r 9152x6944 a.png
Sometimes it saves the image fine, but other times it just fails with:
timed out waiting for frame
It’s really unstable. Has anyone else run into this? Could this be a camera defect or am I doing something wrong?
First thing I noticed — the resolution you’re using isn’t quite right for that camera. The B0475’s 64MP resolution is 9248x6944, not 9152x6944. That mismatch alone could cause issues with the sensor not delivering frames as expected.
Give the correct resolution a try:
fswebcam -r 9248x6944 a.png
Also, I’d recommend testing with the Python OpenCV demo from our docs — it’s a more reliable way to verify whether the camera is streaming properly at full resolution:
Okay, I tried 9248x6944 but it’s still failing with the same timeout error — red text, “timed out waiting for frame.” Lower resolutions work without any problems though. I can capture at 1080p, 4K, etc. just fine.
I also tried guvcview at 9248x6944 and it won’t display any image at that resolution either — just a black/empty window.
Is there something wrong with the camera itself? Starting to wonder if I got a defective unit.
The fact that only the maximum 64MP resolution (9248x6944) is failing while everything else works narrows things down quite a bit. This usually points to one of a few things:
A firmware issue on the camera that only manifests at the highest bandwidth mode
A USB bandwidth limitation (especially relevant since you’re in VirtualBox — USB passthrough can be flaky at high data rates)
A hardware defect that only affects the 64MP streaming path
Before we go further down any rabbit holes, let’s check what firmware version your camera is currently running. I’ve got a firmware version check tool I can send your way.
I’ve sent you the firmware version check tool via private message. It’s a small utility that’ll query the camera and report back the current firmware version.
Once you’ve got it, run it and let me know what version it reports. That’ll tell us whether a firmware update is needed.
Thanks for that — based on the firmware version you’re running, there is an update available that addresses some known issues with 64MP still capture stability. I’ve sent you the firmware update package and a guide video via private message.
Here’s what you need to do:
Step 1: Use the same firmware version check tool (from the earlier PM) to confirm your current version before updating — which you’ve already done.
Step 2: Follow the steps in the guide video I sent to update the firmware on your B0475 64MP UVC camera module. The package includes everything you’ll need.
Step 3: After the update completes, test again with:
fswebcam -r 9248x6944 a.png
Let me know if the timeout issue is resolved after the update.
Thanks, I’ll work through the firmware update for the B0475 and report back.
In the meantime though, I’m dealing with a separate issue on another Arducam product — a B0399 (64MP MIPI camera) connected to a Raspberry Pi CM5 board. I’ve got this in /boot/firmware/config.txt:
[all]
dtoverlay=arducam-64mp,cam0
Running:
rpicam-still -t 0 -camera 0
And it immediately throws a Camera Frontend timeout. Here’s the relevant part of the log:
libcamera v0.5.2+125-69c6546d-dirty (2025-09-12T07:42:08BST)
libpisp version v1.2.1 981977ff21f3 29-04-2025 (14:17:26)
Tuning file: /usr/share/libcamera/ipa/rpi/pisp/arducam_64mp.json
Camera: /base/axi/pcie@1000120000/rp1/i2c@88000/arducam_64mp@1a
Pipeline: rpi/pisp, PiSP variant BCM2712_D0
Sensor format selected: 4624x3472-SRGGB10_1X10/RAW
CFE format: 4624x3472-PC1R/RAW
Stream configuration: (0) 4096x3074-YUV420/sYCC (1) 4624x3472-RGGB_PISP_COMP1/RAW
WARNING: Capture will not make use of temporal denoise. Consider using --zsl option.
ERROR: /dev/video4[14:cap]: Dequeue timer of 1000000.00us has expired!
ERROR RPI pipeline_base.cpp:1408 Camera frontend has timed out!
ERROR RPI pipeline_base.cpp:1409 Please check that your camera sensor connector is attached securely.
ERROR RPI pipeline_base.cpp:1410 Alternatively, try another cable and/or sensor.
ERROR: Device timeout detected, attempting a restart!!!
And then it just loops the same errors after the restart attempt. The dtoverlay seems correct and the camera is detected, but it can’t actually stream any frames. Any ideas on this one?
That CFE timeout on the B0399 MIPI camera is a known symptom, and in almost every case I’ve seen, it comes down to the CSI flex cable connection. The 64MP sensor pushes a lot of high-speed data over that ribbon, and even a tiny imperfection — a slightly loose connector, a barely visible crease in the cable, marginal contact on a single pin — can cause exactly this.
The error messages themselves are pointing you right at it (pipeline_base.cpp lines 1408-1410 literally say check the connector and try another cable).
Here’s what I’d do:
Step 1: Get a different, known-good CSI flex cable.
Step 2: Swap out the existing cable connecting the B0399 to your CM5 board. Make sure both ends are seated firmly — give them a gentle but firm press.
Step 3: Re-run:
rpicam-still -t 0 -camera 0
Step 4: If the timeout still happens with a different cable, then we may be looking at a hardware issue on the camera module itself, and we can go from there.
B0475 (USB UVC 64MP): The firmware update is your next step there. Once you’ve flashed the new firmware I sent over, test the 9248x6944 capture again and let me know if the timeout is gone.
B0399 (MIPI 64MP on CM5): The CFE timeout is almost certainly a CSI cable issue — try an alternate ribbon cable first. If a different cable doesn’t fix it, we’ll dig deeper.