-
Where did you get the camera module(s)?
Directly from ArduCam - preorder -
Model number of the product(s)?
B0399 -
What hardware/platform were you working on?
Raspberry Pi 4B, Rev 1.4, 8GB
Hardware: BCM2711
Revision: d03114 -
Instructions you have followed. (link/manual/etc.)
docs on arducam site -
Problems you were having?
I can successfully capture full resolution images using libcamera-still for jpg and for yuv420.
However, when I attempt with png or rgb or bmp encoding, a “failed to allocate buffers error” occurs -
The dmesg log from your hardware?
[ 609.267481] cma: cma_alloc: linux,cma: alloc failed, req-size: 19422 pages, ret: -16
[ 609.267508] unicam fe801000.csi: dma_alloc_coherent of size 79552512 failed -
Troubleshooting attempts you’ve made?
Tried lower GPU memory settings, tried using libcamera-dev and apps version 0.0.6
I can capture png encoded images at 16MP resolution settings. -
What help do you need?
Pi / memory configuration to allow png encoding at full resolution, i.e. no errors when:
libcamera-still -e png -o testpng.png
Additional Info:
config.txt starting with first line that is not commented out:
Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
#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
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
[all]
[pi4]
Run as fast as firmware / board allows
arm_boost=1
dtoverlay=vc4-kms-v3d,cma-512
[all]
dtoverlay=dwc2
dtoverlay=arducam_64mp
Mem Info:
MemTotal: 8088108 kB
MemFree: 7351584 kB
MemAvailable: 7548504 kB
Buffers: 31816 kB
Cached: 456360 kB
SwapCached: 0 kB
Active: 94972 kB
Inactive: 440548 kB
Active(anon): 1112 kB
Inactive(anon): 130104 kB
Active(file): 93860 kB
Inactive(file): 310444 kB
Unevictable: 72136 kB
Mlocked: 16 kB
HighTotal: 7458816 kB
HighFree: 6848220 kB
LowTotal: 629292 kB
LowFree: 503364 kB
SwapTotal: 102396 kB
SwapFree: 102396 kB
Dirty: 48 kB
Writeback: 0 kB
AnonPages: 119492 kB
Mapped: 152260 kB
Shmem: 83872 kB
KReclaimable: 27208 kB
Slab: 47988 kB
SReclaimable: 27208 kB
SUnreclaim: 20780 kB
KernelStack: 2008 kB
PageTables: 4924 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 4146448 kB
Committed_AS: 1216372 kB
VmallocTotal: 245760 kB
VmallocUsed: 6316 kB
VmallocChunk: 0 kB
Percpu: 448 kB
CmaTotal: 524288 kB
CmaFree: 478580 kB
libcamera dpkg installed:
ii libcamera-apps 0.0.7 armhf libcamera-apps
ii libcamera-dev 0.0.7 armhf libcamera
os info:
PRETTY_NAME=“Raspbian GNU/Linux 11 (bullseye)”
Linux raspberrypi 5.15.32-v7l+ #1538 SMP Thu Mar 31 19:39:41 BST 2022 armv7l GNU/Linux
libcamera-still output:
$ libcamera-still -e png -o t1-4.png --autofocus
Made X/EGL preview window
[0:08:36.110274955] [3216] INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3572-e13ccdd5
[0:08:36.189661589] [3220] WARN CameraSensorProperties camera_sensor_properties.cpp:163 No static properties available for ‘arducam_64mp’
[0:08:36.189722607] [3220] WARN CameraSensorProperties camera_sensor_properties.cpp:165 Please consider updating the camera sensor properties database
[0:08:36.190115067] [3220] ERROR CameraSensor camera_sensor.cpp:591 ‘arducam_64mp 10-001a’: Camera sensor does not support test pattern modes.
[0:08:36.215876024] [3220] WARN RPI raspberrypi.cpp:1263 Mismatch between Unicam and CamHelper for embedded data usage!
[0:08:36.216654334] [3220] ERROR DelayedControls delayed_controls.cpp:87 Delay request for control id 0x009a090a but control is not exposed by device /dev/v4l-subdev0
[0:08:36.216932350] [3220] INFO RPI raspberrypi.cpp:1386 Registered camera /base/soc/i2c0mux/i2c@1/arducam_64mp@1a to Unicam device /dev/media3 and ISP device /dev/media0
[0:08:36.217913251] [3216] INFO Camera camera.cpp:1029 configuring streams: (0) 4096x3074-YUV420
[0:08:36.218563636] [3220] INFO RPI raspberrypi.cpp:764 Sensor: /base/soc/i2c0mux/i2c@1/arducam_64mp@1a - Selected sensor format: 4624x3472-SBGGR10_1X10 - Selected unicam format: 4624x3472-pBAA
[0:08:41.937125337] [3216] INFO Camera camera.cpp:1029 configuring streams: (0) 9152x6944-BGR888 (1) 9152x6944-SBGGR10_CSI2P
[0:08:41.938507067] [3220] INFO RPI raspberrypi.cpp:764 Sensor: /base/soc/i2c0mux/i2c@1/arducam_64mp@1a - Selected sensor format: 9152x6944-SBGGR10_1X10 - Selected unicam format: 9152x6944-pBAA
[0:08:42.297268091] [3220] ERROR V4L2 v4l2_videodevice.cpp:1211 /dev/video0[18:cap]: Unable to request 1 buffers: Cannot allocate memory
[0:08:42.297383997] [3220] ERROR RPI raspberrypi.cpp:1012 Failed to allocate buffers
ERROR: *** failed to start camera ***