1

Before you say that I haven't searched the internet, whenever I type "pi camera not detected" I literally don't see a single unclicked result. I am slowly breaking apart.

PI 4 (8gb), V1.3 Camera, running latest Raspberry Pi OS 64Bit.

Uname -a : Linux raspberrypi 5.10.81-v8+ #1492 SMP PREEMPT Fri Nov 26 21:43:40 GMT 2021 aarch64 GNU/Linux

I am connected to my pi via WiFi & X2go, no old & slow vnc. Nothing is connected to the GPIO pins or USB Ports. The Camera (cable con. explaing later) is inserted in the "Camera" (near HDMI) / not display slot.

I tried everything:

  • Using the official Raspberry Pi Power cable
  • I connected the cable properly (pi: blue side towards usb ports, camera pcb: blue side outwards)
  • sudo apt update, upgrade, rpi-update, reverting back with some command in Libcamera doc?
  • Enabled I2C and Camera in Raspi-config & reboot
  • Tried raspistill -> since deprecated -> libcamera-hello shows a "no camera available error
  • vcgenmd get_camera shows supported=1, detected=0 <- In the beginning it showed detected=1 (before I installed libcamera? I don't remember, no difference though)
  • v4l2-ctl shows:
sudo v4l2-ctl --list-devices 
bcm2835-codec-decode (platform:bcm2835-codec):
    /dev/video10
    /dev/video11
    /dev/video12
    /dev/video18

bcm2835-isp (platform:bcm2835-isp):
    /dev/video13
    /dev/video14
    /dev/video15
    /dev/video16
    /dev/video20
    /dev/video21
    /dev/video22
    /dev/video23

unicam (platform:fe801000.csi):
    /dev/video0

My /boot/config.txt looks like the following at the bottom (dtoverlay as suggested on the libcamera doc, commenting it, perhaps that's why get_camera resulted in detection previously):

dtoverlay=ov5647
# Enable DRM VC4 V3D drive
dtoverlay=vc4-kms-v3d
max_framebuffers=2
arm_64bit=1
start_x=1
gpu_mem=128

Importing PiCamera in Python3.8 (self-compiled since matplotlib isn't available on default 3.7) & 3.7 results in:

OSError: libmmal.so: cannot open shared object file: No such file or directory

Even though the /opt/vc/lib folder has: enter image description here

And ldconfig -p | grep libmmal prints: [enter image description here

I am done. I wasted at least 5 hours fixing this on my own. Maybe someone can untangle this mystery. I just want to take a picture...

2
  • You appear to have done lots of non-standard things; testing kernel 5.10.81-v8+, if default python is 3.7 you would have Buster, but this NEVER had supported 64Bit release. Running pre-release and testing code causes problems. Mind you the Bullseye has a totally new camera support so whatever you do will need change. Try a STANDARD Buster 32bit OS.
    – Milliways
    Nov 28, 2021 at 0:56
  • Hey thanks for reypling, I thought nobody will ever reply. The reason why I had updated the kernel is because some tutorial sites did note "rpi-update". Additionally I hate Py3.7 (default), matplotlib and many other modules refuse to install so I compiled 3.8.4 from source. I mean I can unalias pip3(8.4 and python3(8.4) so that it auto uses 3.7 but I doubt that'll help<- Isolating 3.8.4 & 3.7 with virtenv? I added arm_64_bit=1 in the config txt. File used to flash was definitely raspios Buster arm64. So there's no way to utilize > 4GB / 64bit for one process while also wanting to use Pi Cam? Nov 28, 2021 at 11:37

1 Answer 1

2

There are tutorials recommending rpi-update, but it and the RaspberryPi engineers do not.

"In normal circumstances there is NEVER a need to run rpi-update as it always gets you to the leading edge firmware and kernel and because that may be a testing version it could leave your RPi unbootable". https://www.raspberrypi.org/forums/viewtopic.php?p=916911#p916911 Even the rpi-update documentation now warns "Even on Raspbian you should only use this with a good reason. This gets you the latest bleeding edge kernel/firmware."

sudo apt update; sudo apt install --reinstall libraspberrypi0 libraspberrypi-{bin,dev,doc} raspberrypi-bootloader raspberrypi-kernel will put it back to the latest supported kernel/bootcode which is 5.10.63-v7+ on both Buster & Bullseye.

As for 64bit both Buster & Bullseye are still beta, and AKAIK do not (yet) support camera. You would need to investigate further.

There has been some (actually quite a bit of) 64bit discussion on the Forum for some time. Some of the RaspberryPi engineers claim there is little difference for end users. The 32bit OS can access 8GB, but individual processes are limited to 4GB.

1
  • Hey. Very interesting, yes I followed your advice and just installed minimal 32bit and it works now (works is not really the right word, I can shot pictures with libcamera-jpeg (the pictures look quite insane actually, considering the camera module costed a few $/€) but vcgenmd shows 0 supported and 0 detected and so far I haven't been able to integrate it with jupyter/ python3 <- might be because picamera ([array]) is not using libcamera ? I have no idea. By the way, I believe 64Bit has it's place. If they put out an 8GB model, processes should be able to use > 4GB RAM. Nov 29, 2021 at 14:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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