OV9281 B0165 with UC-788 Rev. B not working on CM3+ Buster OS

We’ve been running the OV9281 camera (SKU B0165) on a CM3+ compute module with Raspberry Pi OS Buster for a while now. The units we had shipped with the UC-599 PCB and they work great. But the vendor switched to the UC-788 Rev. B PCB about 2 years ago for camera compatibility, and the new boards just don’t work on our Buster setup. From what I understand, the UC-788 would need Bullseye or Bookworm, but our current Buster/UC-599 config took a ton of debugging and testing to get stable, and we’d really rather not throw that away. Is there a dtoverlay or some setting that would let the UC-788 work on Buster? Or is it still possible to get the old UC-599 revision of the B0165?

Welcome to the forum. The UC-599 revision is discontinued, and it’s not something we can supply in small quantities anymore, so the better path is getting your UC-788 units working. We looped in one of our engineers to see if the UC-788 can be made to run on Buster, but it’s been slow going. In the meantime, can you test one of the UC-788 units on a fresh Bookworm image and share what you see? Any error output or dmesg logs would be useful - I can pass them along to the engineer.

Before I spend time setting up Bookworm, I want to be sure of one thing: is it confirmed that the UC-788 version can’t work on Buster at all, even with workarounds? If so, we need instructions or an example for how to get the UC-788 running on Bookworm so we can test it properly.

Yes, that’s confirmed from our testing. Getting the UC-788 to run on Buster proved to be challenging, and Buster OS itself is deprecated - we no longer provide support or maintenance for it. When we switched to Bookworm, the camera operated smoothly. Here’s the example you can follow for running the UC-788 on Bookworm: 1MP OV9281 - Arducam Wiki

Okay, we started the Bookworm migration and hit a blocker. Our application talks to the camera through libarducam_mipicamera.so, and that library is not compatible with Bookworm. Do you have a substitute library that works with Bookworm? Our entire app is built around that .so, so this is a bit of a problem for us.

That’s expected - support for libarducam_mipicamera.so has been discontinued, so there isn’t a Bookworm-compatible version of it. The good news is you won’t need it on Bookworm. You can access the camera directly with the standard libcamera framework, which is already integrated into Bookworm. Use libcamera-still for stills and libcamera-vid for video. That removes the need to compile and manage the custom library yourself. The recommended path is to replace the old .so with libcamera when moving to Bookworm.