3

I have a Raspberry PI 4 B 8Gb. I have this kit (2 ov9281 cameras with camarray hat): https://www.uctronics.com/arducam-1mp-2-stereoscopic-camera-bundle-kit-for-raspberry-pi-nvidia-jetson-nano-xavier-nx-two-ov9281-global-shutter-monochrome-camera-modules-and-camarray-stereo-camera-hat.html.

Trying to get images from ov9281 cameras with RPI4 doesn't work: I get ERROR: *** no cameras available ***

All steps I did try are listed below:

  • Fresh rapsbian install

  • apt-get update && apt-get upgrade && apt-get full-upgrade && apt-get dist-upgrade

  • rpi-update

  • I2C enables in raspi-config

  • The camarray hat is plugged like explained here (red light turned on, alimentation OK): https://www.youtube.com/watch?v=UN4ZBttQwdI. The camarray is plugged on pins 1-2+3-4+5-6 described here https://pinout.xyz/

  • boot parameters

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

uncomment if you get no picture on HDMI for a default "safe" mode

#hdmi_safe=1

uncomment the following to adjust overscan. Use positive numbers if console

goes off screen, and negative if there is too much border

#overscan_left=16 #overscan_right=16 #overscan_top=16 #overscan_bottom=16

uncomment to force a console size. By default it will be display's size minus

overscan.

#framebuffer_width=1280 #framebuffer_height=720

uncomment if hdmi display is not detected and composite is being output

#hdmi_force_hotplug=1

uncomment to force a specific HDMI mode (this will force VGA)

#hdmi_group=1 #hdmi_mode=1

uncomment to force a HDMI mode rather than DVI. This can make audio work in

DMT (computer monitor) modes

#hdmi_drive=2

uncomment to increase signal to HDMI, if you have interference, blanking, or

no display

#config_hdmi_boost=4

uncomment for composite PAL

#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default. #arm_freq=800

Uncomment some or all of these to enable the optional hardware interfaces

dtparam=i2c_arm=on #dtparam=i2s=on dtparam=spi=off

Uncomment this to enable infrared communication.

#dtoverlay=gpio-ir,gpio_pin=17 #dtoverlay=gpio-ir-tx,gpio_pin=18

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

Enable audio (loads snd_bcm2835)

dtparam=audio=on

Automatically load overlays for detected cameras

camera_auto_detect=1

Automatically load overlays for detected DSI displays

display_auto_detect=1

Enable DRM VC4 V3D driver

#dtoverlay=vc4-kms-v3d #dtoverlay=arducam-pivariety #dtoverlay=ov9281 dtoverlay=camera-mux-2port,cam0-ov9281,cam1-ov9281 force_turbo=1 max_framebuffers=2

Run in 64-bit mode

arm_64bit=1

Disable compensation for displays with overscan

disable_overscan=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]

[pi4]

Run as fast as firmware / board allows

arm_boost=1

[all] enable_uart=0

Any of the different tested overlay doesn't work (arducam-pivariety, ov9281) after reboot. In particular this camera-mux-2port (https://forums.raspberrypi.com/viewtopic.php?t=339339) doesn't work neither.

  • I2C
pi@raspberrypi:~ $ i2cdetect -l
i2c-10  i2c         i2c-22-mux (chan_id 1)              I2C adapter
i2c-1   i2c         bcm2835 (i2c@7e804000)              I2C adapter
i2c-0   i2c         i2c-22-mux (chan_id 0)              I2C adapter
i2c-22  i2c         bcm2835 (i2c@7e205000)              I2C adapter

pi@raspberrypi:~ $ 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: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --

pi@raspberrypi:~ $ i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --

pi@raspberrypi:~ $ i2cdetect -y 10 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- 0c -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --

pi@raspberrypi:~ $ i2cdetect -y 22 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- 0c -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --

pi@raspberrypi:~ $ i2cset -y 10 0x0c 0x0c 0x01 pi@raspberrypi:~ $ i2cset -y 22 0x0c 0x0c 0x01

  • vcgencmd
pi@raspberrypi:~ $ vcgencmd get_camera
supported=0 detected=0, libcamera interfaces=0

pi@raspberrypi:~ $ vcgencmd version Dec 12 2022 11:56:56 Copyright (c) 2012 Broadcom version ed6f6b8fcdc6476410b9cf75d141633461d34bdd (clean) (release) (start)

  • Others
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.15.84-v8+ #1610 SMP PREEMPT Mon Dec 19 18:54:50 GMT 2022 aarch64 GNU/Linux

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

pi@raspberrypi:~ $ lsmod Module Size Used by rfcomm 53248 4 cmac 16384 3 algif_hash 20480 1 aes_arm64 16384 3 aes_generic 36864 1 aes_arm64 algif_skcipher 20480 1 af_alg 32768 6 algif_hash,algif_skcipher bnep 28672 2 hci_uart 53248 1 btbcm 28672 1 hci_uart bluetooth 454656 31 hci_uart,btbcm,bnep,rfcomm ecdh_generic 16384 2 bluetooth ecc 36864 1 ecdh_generic libaes 16384 3 aes_arm64,bluetooth,aes_generic 8021q 32768 0 garp 16384 1 8021q stp 20480 1 garp llc 20480 2 stp,garp i2c_mux_pca954x 16384 0 joydev 24576 0 brcmfmac 335872 0 brcmutil 24576 1 brcmfmac cfg80211 868352 1 brcmfmac rfkill 36864 6 bluetooth,cfg80211 raspberrypi_hwmon 16384 0 bcm2835_codec 53248 0 bcm2835_isp 32768 0 bcm2835_unicam 57344 0 bcm2835_v4l2 45056 0 video_mux 16384 0 rpivid_hevc 57344 0 v4l2_mem2mem 40960 2 bcm2835_codec,rpivid_hevc bcm2835_mmal_vchiq 40960 3 bcm2835_codec,bcm2835_v4l2,bcm2835_isp v4l2_dv_timings 40960 1 bcm2835_unicam snd_bcm2835 28672 2 snd_pcm 139264 1 snd_bcm2835 v4l2_fwnode 20480 2 video_mux,bcm2835_unicam v4l2_async 24576 3 v4l2_fwnode,video_mux,bcm2835_unicam videobuf2_dma_contig 24576 4 bcm2835_codec,bcm2835_unicam,rpivid_hevc,bcm2835_isp videobuf2_vmalloc 20480 1 bcm2835_v4l2 videobuf2_memops 20480 2 videobuf2_vmalloc,videobuf2_dma_contig videobuf2_v4l2 32768 6 bcm2835_codec,bcm2835_unicam,bcm2835_v4l2,rpivid_hevc,v4l2_mem2mem,bcm2835_isp videobuf2_common 69632 10 bcm2835_codec,videobuf2_vmalloc,videobuf2_dma_contig,videobuf2_v4l2,bcm2835_unicam,bcm2835_v4l2,rpivid_hevc,v4l2_mem2mem,videobuf2_memops,bcm2835_isp snd_timer 36864 1 snd_pcm snd 110592 7 snd_bcm2835,snd_timer,snd_pcm videodev 262144 10 v4l2_async,bcm2835_codec,video_mux,videobuf2_v4l2,bcm2835_unicam,bcm2835_v4l2,videobuf2_common,rpivid_hevc,v4l2_mem2mem,bcm2835_isp i2c_mux_pinctrl 16384 0 i2c_mux 16384 2 i2c_mux_pca954x,i2c_mux_pinctrl mc 61440 10 v4l2_async,videodev,bcm2835_codec,video_mux,videobuf2_v4l2,bcm2835_unicam,videobuf2_common,rpivid_hevc,v4l2_mem2mem,bcm2835_isp vc_sm_cma 40960 2 bcm2835_mmal_vchiq,bcm2835_isp mux_gpio 16384 0 i2c_bcm2835 16384 0 mux_core 16384 2 mux_gpio,video_mux uio_pdrv_genirq 16384 0 uio 24576 1 uio_pdrv_genirq nvmem_rmem 16384 0 i2c_dev 20480 0 drm 581632 0 fuse 135168 3 drm_panel_orientation_quirks 24576 1 drm backlight 24576 1 drm ip_tables 32768 0 x_tables 49152 1 ip_tables ipv6 561152 60

After all this has been done reading the docs (arducam, raspi, etc), I still get this error (what ever libcamera-hello is build from source [https://github.com/raspberrypi/libcamera-apps] or the ones provided by the upgraded system):

pi@raspberrypi:~ $ libcamera-hello 
libEGL warning: DRI2: failed to authenticate
Made X/EGL preview window
[0:30:38https://www.youtube.com/watch?v=UN4ZBttQwdI.670613519] [3079]  INFO Camera camera_manager.cpp:299 libcamera v0.0.2+47-0684c373
ERROR: *** no cameras available ***

Trying on 32 or 64 bits raspbian: same errors / problems...

Any help / clue is appreciated.

EDIT

sbg@raspberrypi:~ $ sudo raspi-gpio get
BANK0 (GPIO 0 to 27):
GPIO 0: level=1 fsel=0 func=INPUT pull=UP
GPIO 1: level=1 fsel=0 func=INPUT pull=UP
GPIO 2: level=1 fsel=4 alt=0 func=SDA1 pull=UP
GPIO 3: level=1 fsel=4 alt=0 func=SCL1 pull=UP
GPIO 4: level=0 fsel=1 func=OUTPUT pull=UP
GPIO 5: level=1 fsel=0 func=INPUT pull=UP
GPIO 6: level=1 fsel=0 func=INPUT pull=UP
GPIO 7: level=1 fsel=0 func=INPUT pull=UP
GPIO 8: level=1 fsel=0 func=INPUT pull=UP
GPIO 9: level=0 fsel=0 func=INPUT pull=DOWN

EDIT

git clone https://github.com/ArduCAM/MIPI_Camera

Does not help!... My understanding is that ArduCAM is the old software used before bullseye: link KO in 32 bits OS (undefined reference) and KO (incompatible libs - code looks like to have been generated on 32 bit arch) in 64 bits.

fghoussen
  • 131
  • 2

2 Answers2

0

i have the same problem with that kit. I run with Bullseye 64-bits. I did some researches to make it fonctionnal. ArduCam has their setup script and it made to work with Bullseye. The OS don't have /dev/video0 on the kernel and must be enabled with raspi-config. I thing to test individualy these cameras if they work...it is possible that ArduCam omits to tell that the camarray HAT has a driver to be installed to finally receive camera datas. Maybe buy more compatible cameras for my project to have colored images.

0

Would like to follow up having faced this problem.

Solution is to flash the Raspberry pi OS (Legacy-64bit) Debian Bullseye kernal rather than the newer Debian Bookworm Kernal. Follow https://docs.arducam.com/Raspberry-Pi-Camera/Pivariety-Camera/Quick-Start-Guide/#pivariety-cameras quickstart to enable cameras.

Tested working with 64gb sd card and raspberry pi 4b+ 8gb ram