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.

2 Answers 2

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.