RPi3 and IMX462 on Bookworm

  1. Where did you get the camera module(s)?
    Amazon
  2. Model number of the product(s)?
    B0444
  3. What hardware/platform were you working on?
    RPi3 with Bookworm
  4. Instructions you have followed. (link/manual/etc.)
    Note: The camera and cable works fine on a RPi4. The problem is only on the RPi3

Installed new Bookworm image on Pi3

Update/Upgrade of new image and reboot.

Followed instructions for Pi4 install of Arducam software from page:
https-//docs.arducam.com/Raspberry-Pi-Camera/Pivariety-Camera/Quick-Start-Guide/#use-libcamera-to-access-arducam-pivariety-camera

There is no explicit instruction for Pi3 to install although the table labeled “Supported Platforms and OS” does check off support for this configuration so I used the Pi4 install to do this.

Modified /boot/firmware/config.txt by adding “dtoverlay=arducam-pivariety” and “dtoverlay=arducam-pivariety,cam0” in separate trials

Both trials resulted in the messages when running the libcamera-still command, “libcamera-still -t -n -o test.jpg” ended in failure to configure streams.

I found a post on the web that said that loading the imx462 on a pi 3 was a known problem on the following web page;
https-//forum.arducam.com/t/imx462-bookworm-issue/7498

That page had a link to;
https-//forum.arducam.com/t/product-q-a-your-questions-answered/6970/21

So I tried the commands listed there. None of the three libcamera packages updated. Message was the latest version was already installed. The pivariety package ended in a permission denied message.

The libcamera-still command resulted in the same error message as above.

After a reboot the libcamera-still command resulted in the following message ending in “no cameras available ***”

  1. Problems you were having?
    Camera is not recognized by OS

  2. The dmesg log from your hardware?

  3. Troubleshooting attempts you’ve made?
    See above. Not really sure what to try beyond that.

  4. What help do you need?
    To make the camera work on the RPi3. It works fine on a RPi4 but my target for this project is a RPi3 and PiZero2W.

Hi @BamBam
Long time no see. Hope everything goes well.

Please post the output of the commands below:

cat /boot/firmware/config.txt
dpkg -l | grep libcamera

Cause the Pi 3 only has one CSI slot, you don’t have to try “dtoverlay=arducam-pivariety,cam0".

We need to have your Pi 3 detect the camera first, which means that you can find the video0 device when you connect the camera to your Pi 3.

OK. Here are the results. This is following a new install of Bookworm on a RPi3, OS update, install of the Arducam SW from the quick start page, and reboot.

“libcamera-still -t 5000” stil results in a “no cameras available” error.

results of cat "cat /boot/firmware/config.txt; is follows. Note that config.txt is the stock config.txt file from the install with only the dtoverlay added at the end.

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

[cm5]
dtoverlay=dwc2,dr_mode=host

[all]
overlay=arducam-pivariety

Results of “dpkg -l | grep libcamera” as follows;

ii libcamera-dev:arm64 0.3.2+rpt20241209-1 arm64 complex camera support library (development files)
ii libcamera-ipa:arm64 0.3.2+rpt20241209-1 arm64 complex camera support library (IPA modules)
ii libcamera-tools 0.3.2+rpt20241119-1 arm64 complex camera support library (tools)
ii libcamera0.3:arm64 0.3.2+rpt20241209-1 arm64 complex camera support library
ii libspa-0.2-libcamera:arm64 1.2.4-1~bpo12+1+rpt1 arm64 libraries for the PipeWire multimedia server - libcamera plugin
ii pipewire-libcamera 1.2.4-1~bpo12+1+rpt1 all transitional package for libspa-0.2-libcamera
ii python3-libcamera:arm64 0.3.2+rpt20241119-1 arm64 complex camera support library (Python bindings)

Not sure what happened in my last post during the copy and paste but all of the Bold text should be regular sized with a “#” in front of it.

I have been trying a few things today to see if I could find a work around for what I’m trying to do.

When I first got this IMX462 camera and couldn’t get it to work on the RPi3 I tried it out on a RPi4 with Bookworm and did get a picture with libcamera-still. Today, I went back to the RPi4 and tried it again with Bookworm (twice) and witht Bullseye.

With the bookworm attempt, I got a “no cameras available” error on libcamera-still. Also, I noticed that there was an error at the end of the script that installs the libcamera-apps. The last line read: N:Download is performed unsandboxed as root as file ‘/home/pi/rpi/cam-apps_1.5.3-2_arm64.deb’ couldn’t be accessed by user ‘_apt’. - pkgAcquire::Run 13: Permission denied). I tried to upload a picture of that screen with the error to this post but kept getting errors on the upload so we have to settle for the error message above.

Then I tried get the camera working on the RPi4 with Bullseye. The install went smoothly but when I entered the libcamera-still command, I got a fullscreen black window without a camera image that I can not close without rebooting.

I also tried a different camera cable and got the same results.

Just to catch up on my progress.

Dion caught an error in my config.txt file where I left off the “dt” off of the “dtoverlay”. I corrected that but it didn’t do much good. When I ran libcamera-still, I got a no cameras available error.

Today I started from a fresh burn of Bookworm on the RPi4 but did everything in a virtual environment. I ended up with the same black window that I got when I did the install on the RPi4 and Bullseye and I did see the same permission denied error from the libcamera-apps.

At this point, I’m waiting for Arducam on what to try next.

Hi @BamBam
I’ve just replied to your email. Please check your inbox. The problem you described in the email shows that the libcamera packages broke on your Pi.

I tried the list of commands that you sent me via email;

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 -l
./install_pivariety_pkgs.sh -p libcamera_dev
./install_pivariety_pkgs.sh -p libcamera_apps

And, I got the same result. I kind of expected that since they were basically the same commands from your website that I have tried a dozen times on three different Pi’s, “no cameras available”.

But, you mentioned, and I saw it in another post, not to update/upgrade after getting it to work. I did not take that to mean not to update/upgrade after the initial install of the OS, but after I got the camera to work. For gits and giggles, I tried one last time before I gave up and sent this back to Amazon to see if it would work without doing an update/upgrade after the OS install. And it worked. I was able to get a picture with libcamera-still and with the RPi3, I got the image through to motionplus. I really think that if this is what it takes to make this work, you should update your web page.

But, that does bring up more questions. How long am I going to be able to use this camera. When the current OS image is upgraded out on the web and I do a new install from it, will I/we still be able to install this camera? And what happens if one of the other packages that I may be running on the Pi needs to be upgraded won’t work anymore. This is something that I think deserves an answer.

Dear @BamBam
We are actively working on this problem. Not only you but several other customers reflected this problem to us.
To be fair, I’ve already tried to reproduce the problem.

  • Flash a new flash
  • Configure the Pi to access the B0444 camera module
  • Run the commands sudo apt update && sudo apt upgrade
  • Reboot my Pi to take effect
  • Run the libcamera commands to check if the camera module is working
  • I don’t know if it’s supposed to say unfortunately or fortunately, cause the camera is still working after apt update/upgrade lollllll

I decided to make a second trial for this. Plz wait for my feedback. Once I reproduce this issue, I’m confident that I can get it sorted out.

Hi @BamBam
Good news.
I’ve got the problem sorted out. Please refer to the steps in the guide below to update the firmware of your B0444 camera module. After updating, you can upgrade the Raspberry Pi as you want and the camera will still work.

Thank you. I will give it a try.

Well I read your instructions and went to your web site you said to go to but I’m not finding the zip file you referenced. Before I botch this up by doing something I shouldn’t where is the B0444_archive.zip file?

Hi,
You can download it from the google drive link below.

OK. I understand about the .zip file now. The link you posted is to the contents of the .zip file. I was looking for a .zip file in that.

But… The next step where you say to execute “sudo ./firmware_update -m sku_b0444 -i 4”, the command fails and says “/dev/i2c-4: File does not exist”. I did find the “sku_b0444.tar.gz” file one directory up but I am unable to unzip it. I’ve tried “tar -xvzf sku_b04444.tar.gz” . It returns a list of three files, one of them being “sku_b0444” but it does not output the files to anyplace that I can find.

Not sure what to try next.

Hi,
If you are using Raspberry Pi 3/4, you have to run the command sudo ./firmware_update -m sku_b0444 -i 10 because the i2c bus is on 10, not 4.

You don’t need to extract this compressed file. Please delete the whole archive file and download .zip file from the Google link above to your Pi 3 again. Then unzip it and run the command sudo ./firmware_update -m sku_b0444 -i 10 to update the firmware.

Thank you. All seems to work now. I can update/upgrade now and the camera still works.

Hi there, I’ve been having issues for about 3 months (see my first posts) and spent way too many hours trying to fix it. This finally solved the issue, can we please add it to either the page on the device or the product page? There have been many posts about issues with the B0444 and I suspect most of them that all started popping up 3 months ago are related to the incorrect configuration of the firmware issue.

https://docs.arducam.com/Raspberry-Pi-Camera/Pivariety-Camera/IMX462/

I tried this, but the following error occurred:

libcamera-still: symbol lookup error: /lib/aarch64-linux-gnu/libcamera.so.0.3: undefined symbol: _ZN7libpisp22compute_optimal_strideER24pisp_image_format_config

The environment is as follows:

Pi4

uname -a

Linux 6.6.74+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.74-1+rpt1 (2025-01-27) aarch64 GNU/Linux

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/

cat /proc/meminfo

MemTotal:        3882912 kB
MemFree:         2489316 kB
MemAvailable:    3713712 kB
Buffers:           71180 kB
Cached:          1146260 kB
SwapCached:            0 kB
Active:           151948 kB
Inactive:        1094152 kB
Active(anon):      29848 kB
Inactive(anon):        0 kB
Active(file):     122100 kB
Inactive(file):  1094152 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        524284 kB
SwapFree:         524284 kB
Zswap:                 0 kB
Zswapped:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         28716 kB
Mapped:            46208 kB
Shmem:              1184 kB
KReclaimable:      85620 kB
Slab:             109352 kB
SReclaimable:      85620 kB
SUnreclaim:        23732 kB
KernelStack:        2608 kB
PageTables:         1588 kB
SecPageTables:         0 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2465740 kB
Committed_AS:     186328 kB
VmallocTotal:   257687552 kB
VmallocUsed:       10356 kB
VmallocChunk:          0 kB
Percpu:              672 kB
CmaTotal:         524288 kB
CmaFree:          513164 kB

cat /boot/firmware/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

[cm5]
dtoverlay=dwc2,dr_mode=host

[all]
dtoverlay=arducam-pivariety

dmesg | grep -E “imx477|imx219|arducam”

[    0.048688] /soc/csi@7e801000: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/arducam_pivariety@c
[    0.048774] /soc/i2c0mux/i2c@1/arducam_pivariety@c: Fixed dependency cycle(s) with /soc/csi@7e801000
[    0.055033] /soc/csi@7e801000: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/arducam_pivariety@c
[    0.055286] /soc/i2c0mux/i2c@1/arducam_pivariety@c: Fixed dependency cycle(s) with /soc/csi@7e801000
[    4.349645] /soc/csi@7e801000: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/arducam_pivariety@c
[    4.349712] /soc/i2c0mux/i2c@1/arducam_pivariety@c: Fixed dependency cycle(s) with /soc/csi@7e801000
[    5.039132] arducam-pivariety 10-000c: firmware version: 0x10003

After flashing the new OS, this is the only code that was executed. The B0444 firmware has already been updated.

sudo nmcli connection modify 'preconfigured' ipv4.method manual ipv4.addresses 192.168.1.103/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8,8.8.4.4,1.1.1.1,1.0.0.1
sudo nmcli device disconnect wlan0 && sudo nmcli device connect wlan0

sudo apt update && sudo apt upgrade

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_dev
./install_pivariety_pkgs.sh -p libcamera_apps
libcamera-still -t 0

Is there a way to solve it?

I got this exact error message during an install. When I was setting up a new RPi for the IMX462 camera I screwed up and SSH’d into the wrong pi that was running motionplus with the IMX462 camera and went through the Arducam install of all of the drivers as described on their quick start page. In other words, I reinstalled all of their drivers and software over a good, working copy. After I did that I got the same error when I tried to access the camera. I didn’t try to resolve the error and just did easy thing and reinstalled everything from scratch.

Dion,

I’ve run into another problem with the imx462 camera. The camera that I have works on my Pi3 and P4 boards but when I try to use it on my Zero2W board I get the error;
‘arducam-pivariety.json’ not found for IPA module ‘rpl/vc1’ when I run he libcamera-still - 5000 command.