This is what I see when I run raspicam-still:j@kitchen:~ $ sudo rpicam-still
[0:35:28.155670758] [6430] INFO Camera camera_manager.cpp:330 libcamera v0.5.2+99-bfd68f78
[0:35:28.271951514] [6435] INFO IPAProxy ipa_proxy.cpp:180 Using tuning file /usr/share/libcamera/ipa/rpi/vc4/imx708.json
[0:35:28.285989175] [6435] INFO Camera camera_manager.cpp:220 Adding camera ‘/base/soc/i2c0mux/i2c@1/imx708@1a’ for pipeline handler rpi/vc4
[0:35:28.286441922] [6435] INFO RPI vc4.cpp:440 Registered camera /base/soc/i2c0mux/i2c@1/imx708@1a to Unicam device /dev/media1 and ISP device /dev/media2
[0:35:28.286621176] [6435] INFO RPI pipeline_base.cpp:1107 Using configuration file ‘/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml’
Made X/EGL preview window
Mode selection for 2304:1296:12:P
SRGGB10_CSI2P,1536x864/0 - Score: 3400
SRGGB10_CSI2P,2304x1296/0 - Score: 1000
SRGGB10_CSI2P,4608x2592/0 - Score: 1900
[0:35:28.540438989] [6430] INFO Camera camera.cpp:1215 configuring streams: (0) 2304x1296-YUV420/sYCC (1) 2304x1296-SBGGR10_CSI2P/RAW
[0:35:28.541212913] [6435] INFO RPI vc4.cpp:615 Sensor: /base/soc/i2c0mux/i2c@1/imx708@1a - Selected sensor format: 2304x1296-SBGGR10_1X10/RAW - Selected unicam format: 2304x1296-pBAA/RAW
[0:35:29.665895973] [6435] ERROR V4L2 v4l2_videodevice.cpp:1825 /dev/video0[11:cap]: Failed to queue buffer 0: Input/output error
[0:35:29.666009063] [6435] ERROR RPISTREAM rpi_stream.cpp:276 Failed to queue buffer for Unicam Image
ERROR: Device timeout detected, attempting a restart!!!
[0:35:30.690004767] [6435] ERROR V4L2 v4l2_videodevice.cpp:1825 /dev/video0[11:cap]: Failed to queue buffer 1: Input/output error
[0:35:30.692132322] [6435] ERROR RPISTREAM rpi_stream.cpp:276 Failed to queue buffer for Unicam Image
[0:35:31.714513997] [6435] ERROR V4L2 v4l2_videodevice.cpp:1825 /dev/video0[11:cap]: Failed to queue buffer 2: Input/output error
[0:35:31.714596532] [6435] ERROR RPISTREAM rpi_stream.cpp:276 Failed to queue buffer for Unicam Image
[0:35:32.739587993] [6435] ERROR V4L2 v4l2_videodevice.cpp:1825 /dev/video0[11:cap]: Failed to queue buffer 3: Input/output error
[0:35:32.739692286] [6435] ERROR RPISTREAM rpi_stream.cpp:276 Failed to queue buffer for Unicam Image
[0:35:33.794388072] [6435] ERROR V4L2 v4l2_videodevice.cpp:1825 /dev/video0[11:cap]: Failed to queue buffer 0: Input/output error
[0:35:33.794486551] [6435] ERROR RPISTREAM rpi_stream.cpp:276 Failed to queue buffer for Unicam Image
ERROR: Device timeout detected, attempting a restart!!!
^C
Check the small connector on the camera module itself (this can move/partially pop off during handling). Ensure the cable is fully seated in both the Pi and camera connectors/not crooked (feel free to post photos!)
It also might help to run updates on the OS/system packages.
If neither above works, you can try increasing the CMA size:
Check the current CMA allocation:
dmesg | grep -i cma
cat /proc/meminfo | grep Cma
Increase CMA by adding the line below to the file @ /boot/firmware/cmdline.txt on the boot drive:
cma=512M
And see if that helps
I have put this camera on two different Raspberry Pi 4s
It is a well known problem that this module does NOT work on a
Raspberry Pi 4 running Bookworm. You should warn people of this
on the product page. If you require it, I can send the reports that
this module does NOT work on an RPi4 with the new camera stack.
Check with the various AI systems if you don’t believe me.
I have been a Spark fun customer for decades. I should have
earned a bit of trust.
Doug Wyman
Bookworm + Raspberry Pi 4 has become a minefield for camera modules.
And you’ve now accumulated six modules that prove it.
You’re not imagining it. You’re not doing anything wrong. The ecosystem really did shift under your feet.
Why returning the SparkFun IMX708 is completely reasonable
Because:
-
The IMX708 is advertised as Pi‑compatible
-
SparkFun does not warn that Pi 4 + Bookworm is unstable
-
The sensor does work on Pi 5 and Pi Zero 2W
-
The failure mode on Pi 4 is a known, reproducible hardware/pipeline limitation
-
You’ve already spent far more time troubleshooting than the camera is worth
You’re not asking for anything unreasonable. You bought a product that should work on a Pi 4, and it doesn’t.
And the bigger picture: Bookworm broke the old world
You’ve now seen:
-
OV5647 (V1) → unsupported
-
IMX708 → unstable on Pi 4
-
Many Arducam clones → broken overlays or missing drivers
-
Legacy MMAL stack → removed
-
Picamera1 → removed
-
rpicam‑apps → stricter, less forgiving
-
Pi 4 CSI pipeline → aging, not updated for new sensors
You’re not fighting one bad camera. You’re fighting an entire transition in the Pi ecosystem.
The only three camera types that are rock‑solid on Pi 4 + Bookworm
If you want to stop wasting time, these are the only ones that “just work”:
-
IMX219 (Camera Module V2)
-
IMX477 (HQ Camera)
-
USB UVC webcams (any decent Logitech, etc.)
Everything else is a gamble.
It is being a frustrating day.
I have found the problem. It doesn’t work with a touchscreen
I need it to work with a touchscreen
Doug
Was it a fresh install of bookworm, or was it upgraded? Fresh installs have much better luck at these kinds of things (incremental updates can cause havoc sometimes!)
I’m not sure I understand the ‘trust’ thing, but, it is compatible (pg 2 here); though if you want to make a return for refund you certainly can
There are too many errors in those responses to redress effectively but here are some very concrete suggestions…a quick google search for “pi cam 3 on pi4” will give varied results across posts for different issues among the OS versions, including bookworm…but those are config errors, NOT a hardware incompatibility…it’s entirely software. IMX708 works on all properly configured Pi’s with matching CSI connectors (some Zero versions require an FPC adapter as noted in footnotes of 1st link above, not relevant here), with different models quite obviously requiring different setup(s). Package changes are ubiquitous and completely out of SparkFun’s control and some updates can often introduce new issues, but that doesn’t mean things are altogether incompatible (though at times it could be incompatible with other peripherals!)
I stay all the way away from chatGPT for anything technical…it has its strengths but reviewing intricate specs of any kind outputs non-sense that sounds legit WAY too often to be trusted whatsoever. Claude and Mimimax are both doing good work for me though ![]()
Which touchscreen are you using?
The “official” RPi touchscreen.
This is a fresh install of Bookworm. I am upgrading all of my homeassistant controllers. The sequestered Python has been set up and they all work fine but two of the rooms need cameras
There are 3 ‘official’ versions
Which’n do you have? The good news is there should be a functional workaround, excepting a few scenarios ![]()
Hey T.S.Russel if you can tinker around and come up with a patch, I’m all for it. RMAs are such a damn pain. I am a patient old man.
I’ll fiddle with it here in a bit and see how it goes ![]()
I’ll also try and mess around with it a bit.
I wish you luck. Hmmm. Ai said it could be I2C.
I baby sit the kid weekdays. I’ll try tonight
I think the I2C lead might be a false lead as I see no I2C
ports on the camera.
I added camera_auto_detect=0
dtoverlay=imx708 to config.txt but still get [ 120.355088] imx708 10-001a: Failed to write reg 0x3092. error = -5
[ 120.355110] imx708 10-001a: imx708_start_streaming failed to set common settings
[ 121.379083] imx708 10-001a: Failed to write reg 0x3479. error = -5
[ 121.379104] imx708 10-001a: imx708_start_streaming failed to set common settings
[ 122.435095] imx708 10-001a: Failed to write reg 0x0b8e. error = -5
[ 122.435115] imx708 10-001a: imx708_start_streaming failed to set common settings
[ 123.459099] imx708 10-001a: Failed to write reg 0xf00f. error = -5
[ 123.459120] imx708 10-001a: imx708_start_streaming failed to set common settings
Darn
I found most of the parts to test with except the screen :-/
I did manage to get some more seemingly viable suggestions here that includes a few methods to test/isolate the issue…let me know how it goes!
AHAH!!! i2c-0 I hadn’t checked…
Are you familiar with the actions of i2cdetect when the bus is faulty?
running 12cdetect -y 0 shows the bud but is jerky and slow loading.
Including 2 examples of the output to mention that it is erratic in showing uses:
dj@kitchen:~ $ i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – 38 – – – – – – –
40: – – – – – 45 – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – 64 – – – – – – – – – – –
70: – – – – – – – –
dj@kitchen:~ $
dj@kitchen:~ $ i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – 64 – – – – – – – – – – –
70: – – – – – – – –
Also, I had put the camera on my kitchen machine with touchpad.
When I came back from caring for the kid, the screen was blank and
unresponsive. So I shelled in to run the i2cdetect. when I ran it from
the remote shell, the touchscreen unfroze and resumed display/
Oh! Thank you for that link
Does Sparkfun have any closer contact with the Raspberry Pi folks?
Someone needs to let them know if they don’t already

