OV2311 on RPi5 and Bookworm

Hi,

As requested, here is a new thread about the compatibility and configuration of OV2311 with Raspberry Pi5 running under Bookworm.

user@pi5:~ $ libcamera-hello -t 0 --camera 1
[0:07:42.733471724] [2846]  INFO Camera camera_manager.cpp:284 libcamera v0.1.0+118-563cd78e
[0:07:42.747674097] [2849]  INFO RPI pisp.cpp:653 libpisp version v1.0.2 fa44a258644a 22-11-2023 (21:59:22)
[0:07:42.761585654] [2849]  WARN CameraSensorProperties camera_sensor_properties.cpp:261 No static properties available for 'arducam-pivariety'
[0:07:42.761602098] [2849]  WARN CameraSensorProperties camera_sensor_properties.cpp:263 Please consider updating the camera sensor properties database
[0:07:42.769951691] [2849] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'arducam-pivariety_mono.json' not found for IPA module 'rpi/pisp'
[0:07:42.774628741] [2849] ERROR IPARPI ipa_base.cpp:124 Could not create camera helper for arducam-pivariety
[0:07:42.774645482] [2849] ERROR RPI pipeline_base.cpp:802 Failed to load a suitable IPA library
[0:07:42.774654390] [2849] ERROR RPI pisp.cpp:880 Failed to register camera arducam-pivariety 4-000c: -22
libEGL warning: DRI3: failed to query the version
libEGL warning: DRI2: failed to authenticate
X Error of failed request:  BadRequest (invalid request code or no such operation)
  Major opcode of failed request:  155 ()
  Minor opcode of failed request:  1
  Serial number of failed request:  16
  Current serial number in output stream:  16
  • System related information:
user@pi5:~ $ uname -a
Linux pi5 6.1.0-rpi7-rpi-2712 #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 GNU/Linux

user@pi5:~ $ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

user@pi5:~ $ cat /proc/meminfo
MemTotal:        8247024 kB
MemFree:         7009792 kB
MemAvailable:    7599280 kB
Buffers:           29424 kB
Cached:           702128 kB
SwapCached:            0 kB
Active:           649904 kB
Inactive:         350512 kB
Active(anon):     343328 kB
Inactive(anon):     9312 kB
Active(file):     306576 kB
Inactive(file):   341200 kB
Unevictable:       58640 kB
Mlocked:               0 kB
SwapTotal:        102384 kB
SwapFree:         102384 kB
Zswap:                 0 kB
Zswapped:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        327696 kB
Mapped:           216576 kB
Shmem:             83776 kB
KReclaimable:      30592 kB
Slab:              65904 kB
SReclaimable:      30592 kB
SUnreclaim:        35312 kB
KernelStack:        4384 kB
PageTables:        10528 kB
SecPageTables:         0 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     4225888 kB
Committed_AS:    1687504 kB
VmallocTotal:   68182212608 kB
VmallocUsed:       19792 kB
VmallocChunk:          0 kB
Percpu:             1280 kB
CmaTotal:         327680 kB
CmaFree:          311200 kB

user@pi5:~ $ cat /boot/config.txt
# For more options and information see
# http://rptl.io/configtxt
# Some settings may impact device functionality. See link above for details

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Additional overlays and parameters are documented
# /boot/firmware/overlays/README

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Automatically load initramfs files, if found
auto_initramfs=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

# Run as fast as firmware / board allows
arm_boost=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]

dtoverlay=arducam-pivariety,cam1

  • Troubleshooting attempts you’ve made.
user@pi5:~ $ dmesg | grep -E "ov2311|arducam"
[    2.975639] rp1-cfe 1f00128000.csi: found subdevice /axi/pcie@120000/rp1/i2c@80000/arducam_pivariety@c
[    2.990065] arducam-pivariety 4-000c: firmware version: 0x10002
[    3.219722] rp1-cfe 1f00128000.csi: Using sensor arducam-pivariety 4-000c for capture


user@pi5:~ $ v4l2-ctl --list-devices
pispbe (platform:1000880000.pisp_be):
	/dev/video20
	/dev/video21
	/dev/video22
	/dev/video23
	/dev/video24
	/dev/video25
	/dev/video26
	/dev/video27
	/dev/video28
	/dev/video29
	/dev/video30
	/dev/video31
	/dev/video32
	/dev/video33
	/dev/video34
	/dev/video35
	/dev/video36
	/dev/video37
	/dev/media1
	/dev/media3

rp1-cfe (platform:1f00128000.csi):
	/dev/video0
	/dev/video1
	/dev/video2
	/dev/video3
	/dev/video4
	/dev/video5
	/dev/video6
	/dev/video7
	/dev/media0

rpivid (platform:rpivid):
	/dev/video19
	/dev/media2

  • What help do you need?
    Is the ov2311 camera module from Arducam (B0381, uctronics) compatible with Pi5 and Bookworm?
    Or should it work and my configuration is faulty?

Thanks

Hi,
Sorry for the late reply. Busy with something else last week.
After reviewing your system info and libcamera error log, I do not think that you have installed the libcamera from Arducam so that the libcamera software can not find the right tuning file to drive the camera. Please try the steps below to install the libcamera:

wget -O install_pivariety_pkgs.sh https://github.com/ArduCAM/Arducam-Pivariety-V4L2-Driver/releases/download/install_script/install_pivariety_pkgs.sh
chmod +x install_pivariety_pkgs.sh
./install_pivariety_pkgs.sh -p libcamera
./install_pivariety_pkgs.sh -p libcamera_apps

Then you can try the command below to preview the camera:

libcamera-hello -t 0 --camera 1

Hi Dion,

libcamera (from Arducam) can now register the camera, yet there is something else which prevents from accesing it.

user@pi5:~/Documents $ libcamera-hello -t 0 --camera 1
[0:03:24.901914640] [4157]  INFO Camera camera_manager.cpp:284 libcamera v0.1.0+146-cff216fa-dirty (2023-12-05T10:19:54+00:00)
[0:03:24.920228842] [4160]  INFO RPI pisp.cpp:653 libpisp version v1.0.2 fa44a258644a 22-11-2023 (21:59:22)
[0:03:24.935840058] [4160]  WARN CameraSensorProperties camera_sensor_properties.cpp:265 No static properties available for 'arducam-pivariety'
[0:03:24.936138948] [4160]  WARN CameraSensorProperties camera_sensor_properties.cpp:267 Please consider updating the camera sensor properties database
[0:03:24.957340063] [4160] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'arducam-pivariety_mono.json' not found for IPA module 'rpi/pisp'
[0:03:25.350156234] [4160]  INFO RPI pisp.cpp:1113 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/arducam_pivariety@c to CFE device /dev/media3 and ISP device /dev/media0 using PiSP variant BCM2712_C0
Made X/EGL preview window
ERROR: *** selected camera is not available ***

Try camera 0?

libcamera-hello -t 0 --camera 0

The camera is plugged into CAM/DISP 1 (the one next to HDMI 1). The 22 gold pins are directed towards the ethernet port.

Here is what I get with camera 0 :

user@pi5:~ $ libcamera-hello -t 0 --camera 0
[0:18:13.238459829] [3002]  INFO Camera camera_manager.cpp:284 libcamera v0.1.0+146-cff216fa-dirty (2023-12-05T10:19:54+00:00)
[0:18:13.254674797] [3005]  INFO RPI pisp.cpp:653 libpisp version v1.0.2 fa44a258644a 22-11-2023 (21:59:22)
[0:18:13.271548221] [3005]  WARN CameraSensorProperties camera_sensor_properties.cpp:265 No static properties available for 'arducam-pivariety'
[0:18:13.271809274] [3005]  WARN CameraSensorProperties camera_sensor_properties.cpp:267 Please consider updating the camera sensor properties database
[0:18:13.291096137] [3005] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'arducam-pivariety_mono.json' not found for IPA module 'rpi/pisp'
[0:18:13.683662149] [3005]  INFO RPI pisp.cpp:1113 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/arducam_pivariety@c to CFE device /dev/media0 and ISP device /dev/media1 using PiSP variant BCM2712_C0
Made X/EGL preview window
[0:18:14.086712880] [3002]  WARN Formats formats.cpp:957 Unsupported pixel format 0x00000000
[0:18:14.086735620] [3002]  WARN Formats formats.cpp:957 Unsupported pixel format 0x00000000
[0:18:14.086744565] [3002]  WARN V4L2 v4l2_pixelformat.cpp:338 Unsupported V4L2 pixel format <INVALID>
[0:18:14.086757046] [3002]  WARN Formats formats.cpp:957 Unsupported pixel format 0x00000000
[0:18:14.086755750] [3002] ERROR RPI pisp.cpp:219 Pixel format <INVALID> unsupported
[0:18:14.086770120] [3002] FATAL default pisp.cpp:220 assertion "0" failed in toPiSPImageFormat()
Backtrace:
??? [0x00007fff855ccdf4] (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff855ccdf4])
??? [0x00007fff855cce48] (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff855cce48])
libcamera::PiSPCameraData::platformValidate(libcamera::RPi::RPiCameraConfiguration*) const+0x12c (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff855cd37c])
libcamera::RPi::RPiCameraConfiguration::validate()+0x3f4 (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff855c38d8])
libcamera::RPi::PipelineHandlerBase::generateConfiguration(libcamera::Camera*, libcamera::Span<libcamera::StreamRole const, 18446744073709551615ul>)+0x4b0 (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff855c44c0])
libcamera::Camera::generateConfiguration(libcamera::Span<libcamera::StreamRole const, 18446744073709551615ul>)+0xdc (/usr/lib/aarch64-linux-gnu/libcamera.so.0.1.0 [0x00007fff85543aec])
RPiCamApp::OpenCamera()+0x270 (/usr/lib/aarch64-linux-gnu/rpicam_app.so.1.4.1 [0x00007fff856a6d10])
main+0x338 (/usr/bin/rpicam-hello [0x000055563540e528])
__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)
??? [0x000055563540edf0] (/usr/bin/rpicam-hello [0x000055563540edf0])
Aborted

Hi,
Can you show your hardware connection here?

Can I send it within a PM?

Hi,
No problem, take your time.