Pi 5(Bookworm OS) compatibility with B0405 camera

  1. Where did you get the camera module(s)?
    Arducam OV9281 Monochrome Global Shutter Camera Module with wide angle for Raspberry Pi

  2. Model number of the product(s)?
    B0405

  3. What hardware/platform were you working on?
    Raspberry Pi 5

  4. Instructions you have followed. (link/manual/etc.)
    None

  5. Problems you were having?
    The OS doesn’t see the camera

  6. The dmesg log from your hardware?
    Nothing related to the camera appears on the log

  7. Troubleshooting attempts you’ve made?

  8. What help do you need?
    Is B0405 supported on RPi5? If it is or will be, is it possible to synchronize two B0405 connected to RPi5 either via hardware trigger or some software solution, so they can be used as stereo camera pair?

Hi,

B0405 is compatible with RPI5, but you need to enable the camera driver in the config file with “dtoverlay=ov9281” Kindly note that you should connect the camera module to the CSI 1 port on the RPI 5 so that your Pi 5 will detect it.
As regard to the trigger mode, this camera module does not support the external trigger function.

With that I got the camera working on RPi4. However, on RPi5 I get following errors, tested with and without install_pivariety_pkgs.sh stuff installed (Quick Start - Arducam Wiki):

$ sudo dmesg | grep ov9
[    2.592536] ov9281 4-0060: Detected OV009281 sensor
[    2.594492] rp1-cfe 1f00128000.csi: found subdevice /axi/pcie@120000/rp1/i2c@80000/ov9281@60
[    2.594545] rp1-cfe 1f00128000.csi: Using sensor ov9281 4-0060 for capture
$ rpicam-jpeg -o test.jpg
[0:01:03.035774445] [2492]  INFO Camera camera_manager.cpp:284 libcamera v0.1.0+147-057299d0-dirty (2024-01-24T08:51:15+00:00)
[0:01:03.046380831] [2495]  INFO RPI pisp.cpp:653 libpisp version v1.0.2 fa44a258644a 22-11-2023 (21:59:22)
[0:01:03.047499120] [2495]  WARN CameraSensorProperties camera_sensor_properties.cpp:265 No static properties available for 'ov9281'
[0:01:03.047524149] [2495]  WARN CameraSensorProperties camera_sensor_properties.cpp:267 Please consider updating the camera sensor properties database
[0:01:03.057997201] [2495]  WARN V4L2 v4l2_subdevice.cpp:505 'ov9281 4-0060': Unknown subdev format 0x0000, defaulting to RGB encoding
[0:01:03.058034476] [2495] ERROR V4L2 v4l2_subdevice.cpp:244 No information available for format '1280x800-0x0000'
[0:01:03.063052159] [2495]  INFO RPI pisp.cpp:1113 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/ov9281@60 to CFE device /dev/media0 and ISP device /dev/media1 using PiSP variant BCM2712_C0
Preview window unavailable
[0:01:03.122114904] [2492]  WARN Formats formats.cpp:957 Unsupported pixel format 0x00000000
[0:01:03.122125779] [2492]  WARN Formats formats.cpp:957 Unsupported pixel format 0x00000000
[0:01:03.122132041] [2492]  WARN V4L2 v4l2_pixelformat.cpp:338 Unsupported V4L2 pixel format <INVALID>
[0:01:03.122142749] [2492]  WARN Formats formats.cpp:957 Unsupported pixel format 0x00000000
[0:01:03.122141526] [2492] ERROR RPI pisp.cpp:219 Pixel format <INVALID> unsupported
[0:01:03.122151660] [2492] FATAL default pisp.cpp:220 assertion "0" failed in toPiSPImageFormat()
Backtrace:
??? [0x00007fff681ecdf4] (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff681ecdf4])
??? [0x00007fff681ece48] (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff681ece48])
libcamera::PiSPCameraData::platformValidate(libcamera::RPi::RPiCameraConfiguration*) const+0x12c (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff681ed37c])
libcamera::RPi::RPiCameraConfiguration::validate()+0x3f4 (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff681e38d8])
libcamera::RPi::PipelineHandlerBase::generateConfiguration(libcamera::Camera*, libcamera::Span<libcamera::StreamRole const, 18446744073709551615ul>)+0x4b0 (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff681e44c0])
libcamera::Camera::generateConfiguration(libcamera::Span<libcamera::StreamRole const, 18446744073709551615ul>)+0xdc (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff68163aec])
RPiCamApp::OpenCamera()+0x270 (/usr/lib/aarch64-linux-gnu/rpicam_app.so.1.4.2 [0x00007fff68766800])
main+0xd8 (/usr/bin/rpicam-jpeg [0x00005555b2f7ef38])
__libc_start_call_main+0x70 (../sysdeps/nptl/libc_start_call_main.h:74)
__libc_start_main@@GLIBC_2.34+0x98 (../csu/libc-start.c:128)
??? [0x00005555b2f7f670] (/usr/bin/rpicam-jpeg [0x00005555b2f7f670])
Aborted
$ libcamera-still -t 5000 -n -o test.jpg
[0:00:30.935001888] [1677]  INFO Camera camera_manager.cpp:284 libcamera v0.1.0+147-057299d0-dirty (2024-01-24T08:51:15+00:00)
[0:00:30.947638758] [1680]  INFO RPI pisp.cpp:653 libpisp version v1.0.2 fa44a258644a 22-11-2023 (21:59:22)
[0:00:30.948917407] [1680]  WARN CameraSensorProperties camera_sensor_properties.cpp:265 No static properties available for 'ov9281'
[0:00:30.948932962] [1680]  WARN CameraSensorProperties camera_sensor_properties.cpp:267 Please consider updating the camera sensor properties database
[0:00:30.960564777] [1680]  WARN V4L2 v4l2_subdevice.cpp:505 'ov9281 4-0060': Unknown subdev format 0x0000, defaulting to RGB encoding
[0:00:30.960591684] [1680] ERROR V4L2 v4l2_subdevice.cpp:244 No information available for format '1280x800-0x0000'
[0:00:30.966653888] [1680]  INFO RPI pisp.cpp:1113 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/ov9281@60 to CFE device /dev/media0 and ISP device /dev/media2 using PiSP variant BCM2712_C0
[0:00:30.966939203] [1677]  WARN Formats formats.cpp:957 Unsupported pixel format 0x00000000
[0:00:30.966963684] [1677]  WARN Formats formats.cpp:957 Unsupported pixel format 0x00000000
[0:00:30.966980369] [1677]  WARN V4L2 v4l2_pixelformat.cpp:338 Unsupported V4L2 pixel format <INVALID>
[0:00:30.966994073] [1677]  WARN Formats formats.cpp:957 Unsupported pixel format 0x00000000
[0:00:30.966992240] [1677] ERROR RPI pisp.cpp:219 Pixel format <INVALID> unsupported
[0:00:30.967007314] [1677] FATAL default pisp.cpp:220 assertion "0" failed in toPiSPImageFormat()
Backtrace:
??? [0x00007fff4d38cdf4] (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff4d38cdf4])
??? [0x00007fff4d38ce48] (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff4d38ce48])
libcamera::PiSPCameraData::platformValidate(libcamera::RPi::RPiCameraConfiguration*) const+0x12c (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff4d38d37c])
libcamera::RPi::RPiCameraConfiguration::validate()+0x3f4 (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff4d3838d8])
libcamera::RPi::PipelineHandlerBase::generateConfiguration(libcamera::Camera*, libcamera::Span<libcamera::StreamRole const, 18446744073709551615ul>)+0x4b0 (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff4d3844c0])
libcamera::Camera::generateConfiguration(libcamera::Span<libcamera::StreamRole const, 18446744073709551615ul>)+0xdc (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff4d303aec])
RPiCamApp::OpenCamera()+0x270 (/usr/lib/aarch64-linux-gnu/rpicam_app.so.1.4.2 [0x00007fff4d466800])
main+0x128 (/usr/bin/rpicam-still [0x00005555c78006d8])
__libc_start_call_main+0x70 (../sysdeps/nptl/libc_start_call_main.h:74)
__libc_start_main@@GLIBC_2.34+0x98 (../csu/libc-start.c:128)
??? [0x00005555c78018b0] (/usr/bin/rpicam-still [0x00005555c78018b0])
Aborted

This is without running install_pivariety_pkgs.sh:

$ rpicam-jpeg -o test.jpg
[0:01:19.569135393] [2599]  INFO Camera camera_manager.cpp:284 libcamera v0.1.0+118-563cd78e
[0:01:19.581807186] [2604]  INFO RPI pisp.cpp:653 libpisp version v1.0.2 fa44a258644a 22-11-2023 (21:59:22)
[0:01:19.587310451] [2604]  WARN CameraSensorProperties camera_sensor_properties.cpp:261 No static properties available for 'ov9281'
[0:01:19.587329456] [2604]  WARN CameraSensorProperties camera_sensor_properties.cpp:263 Please consider updating the camera sensor properties database
[0:01:19.601071079] [2604] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'ov9281_mono.json' not found for IPA module 'rpi/pisp'
[0:01:19.601108014] [2604]  WARN V4L2 v4l2_subdevice.cpp:505 'ov9281 4-0060': Unknown subdev format 0x0000, defaulting to RGB encoding
[0:01:19.601119925] [2604] ERROR V4L2 v4l2_subdevice.cpp:244 No information available for format '1280x800-0x0000'
[0:01:19.601159546] [2604]  WARN RPiController controller.cpp:69 Failed to open tuning file ''
[0:01:19.601169789] [2604] ERROR IPARPI ipa_base.cpp:146 Failed to load tuning data file 
[0:01:19.601180329] [2604] ERROR RPI pipeline_base.cpp:802 Failed to load a suitable IPA library
[0:01:19.601188683] [2604] ERROR RPI pisp.cpp:880 Failed to register camera ov9281 4-0060: -22
Preview window unavailable
ERROR: *** no cameras available ***

Hi,
Marked.
The problem will be solved in the next version of libcamera. I will update the news here.