Arducam_64_mp not working since rpi update

Hi, I updated my raspberry pi os a week ago and i cannot get my 4 64mp Hawkeyes to run properly since. The cameras were working fine before the update and i didn’t touch the hardware before or after the update. I tried updating libcamera but that just lead to different errors, including not being to detect or open the cameras at all. After some troubleshooting i’ve finally returned to my initial error after the update.

~ $ libcamera-hello
Made X/EGL preview window
[0:39:27.471374737] [2114]  INFO Camera camera_manager.cpp:297 libcamera v0.0.0+4367-ad9428b4
[0:39:27.501492914] [2115]  WARN CameraSensorProperties camera_sensor_properties.cpp:261 No static properties available for 'arducam_64mp'
[0:39:27.501622636] [2115]  WARN CameraSensorProperties camera_sensor_properties.cpp:263 Please consider updating the camera sensor properties database
[0:39:27.611808558] [2115]  INFO RPI vc4.cpp:444 Registered camera /base/soc/i2c0mux/i2c@1/arducam_64mp@1a to Unicam device /dev/media4 and ISP device /dev/media2
[0:39:27.612101945] [2115]  INFO RPI pipeline_base.cpp:1101 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
[0:39:27.614691767] [2114]  INFO Camera camera.cpp:1033 configuring streams: (0) 4096x3074-YUV420
[0:39:27.615635577] [2115]  INFO RPI vc4.cpp:572 Sensor: /base/soc/i2c0mux/i2c@1/arducam_64mp@1a - Selected sensor format: 4624x3472-SRGGB10_1X10 - Selected unicam format: 4624x3472-pRAA
[0:39:28.950599267] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:29.148656823] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:29.348660001] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:29.548626623] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:29.748413098] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:29.948440534] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:30.148390082] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:30.348332945] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:30.548943120] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:30.749171741] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:30.949251918] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:31.321301956] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:31.379537226] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:31.548347694] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:31.548455064] [2115] ERROR V4L2 v4l2_device.cpp:353 'arducam_64mp 10-001a': Unable to set controls: Input/output error
[0:39:31.748081224] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:31.948256234] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:31.951718163] [2115] ERROR V4L2 v4l2_device.cpp:353 'arducam_64mp 10-001a': Unable to set controls: Input/output error
[0:39:32.147867209] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:32.347798609] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:32.348306810] [2115] ERROR V4L2 v4l2_device.cpp:360 'arducam_64mp 10-001a': Unable to set control 0x009e0903: Input/output error
[0:39:32.547739175] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:32.753369271] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:32.947665530] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:33.147268375] [2115] ERROR V4L2 v4l2_device.cpp:353 'arducam_64mp 10-001a': Unable to set controls: Input/output error
[0:39:33.147546152] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed
[0:39:33.347468459] [2119] ERROR IPARPI cam_helper.cpp:257 Embedded data buffer parsing failed

I’m using 4 64mp hawkeye autofocus cameras connected to a HAT camarray on a Raspberry Pi 4 Model B Rev 1.5

I’ve followed the official arducam manaual and i’ve also tried reinstalling libcamera and i end up with the same error.

Additional Info:

$ cat /proc/cpuinfo

processor	: 0
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 1
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 2
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 3
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

Hardware	: BCM2835
Revision	: a03115
Serial		: 1000000092788981
Model		: Raspberry Pi 4 Model B Rev 1.5

$ cat /etc/os-release

PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

$ ls /dev/video*

/dev/video0   /dev/video12  /dev/video16  /dev/video21
/dev/video1   /dev/video13  /dev/video18  /dev/video22
/dev/video10  /dev/video14  /dev/video19  /dev/video23
/dev/video11  /dev/video15  /dev/video20  /dev/video31

$ dpkg -l | grep libcamera

ii  libcamera-apps                       1.2.1-1                          armhf        libcamera-apps
ii  libcamera-dev:armhf                  0~git20230724+ad9428b4-1         armhf        complex camera support library (development files)
ii  libcamera0:armhf                     0~git20230724+ad9428b4-1         armhf        complex camera support library
ii  python3-libcamera                    0~git20230720+bde9b04f-1         armhf        complex camera support library (Python 3 bindings)

$ 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=off
#dtparam=i2s=on
#dtparam=spi=on

# 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=vc4-kms-v3d,cma-320
max_framebuffers=2

# 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


[pi4]
# Run as fast as firmware / board allows; possible changes: fkms to kms & ,cma-512 after v3d
#fkms= legacy display driver(not working with DRM/KMS preview); kms= recommended display driver)
arm_boost=1
#dtoverlay=arducam_64mp

[all]
dtoverlay=arducam-64mp
camera_auto_detect=1
gpu_mem=128
dtoverlay=vc4-kms-v3d,cma-512

[cm4]
#dtoverlay=arducam_64mp
#dtoverlay=arducam_64mp,cam0
#gpu_mem=128
#dtoverlay=arducam-pivariety
#dtoverlay=arducam-pivariety
#dtoverlay=imx519
#dtoverlay=imx519
#dtoverlay=arducam-64mp
#dtoverlay=arducam-pivariety
#dtoverlay=arducam
#dtoverlay=arducam-64mp

#dtparam=i2c_vc=on
dtparam=i2c_arm=off
#dtoverlay=arducam-64mp
dtoverlay=arducam-pivariety
dtoverlay=arducam-pivariety

$ dmesg | grep arducam

[    0.079024] platform fe801000.csi: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/arducam_64mp@1a
[   10.309750] arducam_64mp: loading out-of-tree module taints kernel.
[   10.324579] arducam_64mp 10-001a: Device found Arducam 64MP.
[   10.328341] arducam_64mp 10-001a: Consider updating driver arducam_64mp to match on endpoints
[ 1832.020353] arducam_64mp 10-001a: arducam_64mp_stop_streaming failed to set stream

I have been getting the same error regarding embedded data buffer parsing on a raspberry pi that had worked correctly a couple of weeks ago.

My case is on a single 64MP camera with a the ethernet hat extension kit.

@MTillmann @JackW

Please update the driver:

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 64mp_pi_hawk_eye_kernel_driver

If not resolved, you can set the environment variable

export LIBCAMERA_NOTPARSE_EMBEDDED_DATA=1
1 Like

@Edward,

Unfortunately, reinstalling the drivers did not resolve the data buffer parsing error. However, the environment variable did suppress the message.

After further troubleshooting, I found that the camera worked fine when connected directly to the raspberry pi without using the cable extension kit. However, when I reconnected it through the extension kit (using different CSI-2 ribbon cables and CAT6 cables known to work otherwise) the parsing error showed back up.

As such, I believe the problem may be in either the RX or TX boards. I don’t have any guess as to which, though, nor do I know if it’s a problem with the jacks or other parts of the boards.

Thank you for your assistance and constant efforts in the forums! Have a great day.

@MTillmann

Do you have a physical picture or a specific sku number?

Hi Edward, thanks for the suggestions!

Updating the driver didn’t have any effect on my issue. Could you elaborate on the environment variable. I tried researching more about libcamera environment variables but couldn’t find anything useful.
Is the change permanent and if so, which command will undo the change. Or will I have to use the command everytime i use libcamera?

In my case I’m opening libcamera through a python script and i am unable to type in any inputs because of the continuous error message. Therefore suppressing the error would suffice for me.

The RX module has the number UC-892 Rev.C and the TX module hasUC-891 Rev.A