Устранение неполадок
Перед обращением в поддержку
Проверьте:
- шлейф подключён правильно и надёжно;
- у вас обычная версия камеры, а не специальная версия для платы Camarray;
- установлена подходящая версия ОС Bullseye (устаревшую Buster использовать не рекомендуется);
- драйвер, нужные пакеты libcamera-dev и libcamera-apps установлены без ошибок по руководству по установке libcamera.
Дополнительные проверки:
- Проверьте, правильно ли загружен драйвер:
dmesg | grep -E "imx477|imx219|arducam"

- Проверьте, найден ли узел video0:
ls /dev/video0

Какие сведения подготовить:
- Оборудование: модель модуля камеры (например, артикул) или ссылка на товар, схема подключения.
- Скриншот выполненных команд.
- Сведения о системе — их выводят команды
uname -a,cat /etc/os-release,cat /proc/meminfo,cat /boot/config.txt. - Системный журнал:
dmesg | grep -E "imx477|imx219|arducam" - Журнал программы.
- Сообщения об ошибках или скриншоты ошибок, которые выдаёт программа.
Устранение неполадок
1. Ошибка Cannot Allocate Memory
Сообщение об ошибке
[3:45:35.833744413] [6019] INFO RPI raspberrypi.cpp:611 Sensor: / base/soc/i2c0mux/i2c@1/arducam@0c – Selected mode: 5344×4012-pRAA
[3:45:35.948442507] [6019] ERROR V4L2 v4l2_videodevice.cpp:1126 /dev/video14[17:cap]: Unable to request 4 buffers: Cannot allocate memory
[3:45:35.948551358] [6019] ERROR RPI raspberrypi.cpp:808 Failed to allocate buffers
ERROR: failed to start camera
Решение
Откройте /boot/cmdline.txt и добавьте в конец строки cma=400M.

2. Цветные точки на изображении
Сообщение об ошибке

Решение
Добавьте в конец команды параметр --denoise cdn_off:
Add code --denoise cdn_off at the end of command.
rpicam-still -t 5000 -o test.jpg --denoise cdn_off
3. Не удаётся установить драйвер
Сообщение об ошибке

Решение
Проверьте версию ядра: Arducam выпускает драйвер только для последней официальной версии ядра на момент выхода камеры Pivariety.
4. Ошибка Failed to import fd 19
Сообщение об ошибке

Если у вас такая же ошибка, возможно, выбран неправильный графический драйвер.
Решение
- Откройте терминал.
- Выполните
sudo raspi-config. - Перейдите в
Advanced Options. - Включите
Glamor graphic acceleration. - Перезагрузите Pi.
Кроме того, выполните ещё эти шаги:
- Откройте терминал.
- Выполните
sudo raspi-config. - Перейдите в
Advanced Options. - Перейдите в
GL Driver. - Выберите
GL (Full KMS). - Перезагрузите Pi.
Подробнее — в руководстве по настройке модуля камеры на официальном форуме Raspberry Pi.
Для Raspberry Pi Compute Module 3/4
Установите последнюю версию системы Raspberry Pi (выпуск после 28.01.2022) и не выполняйте rpi-update. После установки системы и драйверов (по инструкциям выше) добавьте в /boot/config.txt:
[cm4]
dtoverlay=imx519
dtoverlay=imx519,cam0
sudo reboot
Затем выведите список всех камер:
rpicam-still -–list-cameras
Укажите камеру:
rpicam-still -t 0 –camera 0
rpicam-still -t 0 –camera 1
Обратите внимание: в командах выше перед list-cameras и camera должны стоять два дефиса: --list-cameras, --camera.
5. Ошибка открытия шины I2C
Сообщение об ошибке

Решение
Выполните sudo raspi-config → Interface Options → I2C.
6. Переход на штатную камеру (raspistill и др.)
Решение
Чтобы использовать другие камеры, которым нужен штатный драйвер, откройте файл /boot/config.txt, найдите строку dtoverlay=arducam и закомментируйте её: # dtoverlay=arducam.

После изменения перезагрузите Raspberry Pi.
sudo reboot
7. Ошибка выделения памяти на камере Arducam 64MP Hawkeye с автофокусом
Описание
Сейчас при съёмке камерой Arducam 64MP в максимальном разрешении на Raspberry Pi возникает проблема с выделением памяти. Выглядит это так:

Полного решения пока нет, но Arducam предлагает несколько способов обойти проблему.
Используйте Raspberry Pi OS Lite
В Arducam провели длительные испытания на Pi4B-8G, Pi4B-1G и Pi3B-1G. По их результатам, при съёмке камерой Arducam 64MP в максимальном разрешении Raspberry Pi OS Lite работает стабильнее (сбоев пока не выявлено).
Уменьшите разрешение предпросмотра
Если уменьшить разрешение предпросмотра, снимки 64 Мп тоже будут получаться чаще. Пример команды:
rpicam-still -t 5000 --viewfinder-width 2312 --viewfinder-height 1736 -o 64mp.jpg
Снимайте в разрешении 16 Мп
Пример команды:
rpicam-still -t 5000 --width 4624 --height 3472 --mode 4624:3472 -o 16mp.jpg
Измените порог выделения cma
Добавьте alloc_in_cma_threshold=16 в /boot/cmdline.txt:
Adding "alloc_in_cma_threshold=16" in /boot/cmdline.txt
cma — 512M (строка dtoverlay=vc4-kms-v3d,cma-512 в /boot/config.txt).Для стабильной съёмки в 64 Мп Arducam рекомендует Raspberry Pi OS Lite; поиск других решений продолжается.
8. Максимальная скорость съёмки в полном разрешении камерой Arducam 64MP Hawkeye AF
Описание
Сохранение снимков с камеры Arducam 64MP занимает много времени из-за кодирования:

Как видно, сохранение снимка занимает больше двух секунд.
В этом случае можно написать многопоточную программу: один поток забирает данные, другой сохраняет их.
Пример
Пример на GitHub: «Fastest Capture Time for Arducam 64MP Camera».
Код:
#!/usr/bin/python3
import time
from picamera2 import Picamera2, Preview
i = 0
FrameRate = 2.7
frame_time = 1000000 // FrameRate
start = time.time()
picam2 = Picamera2()
# picam2.start_preview(Preview.QTGL)
capture_config = picam2.create_still_configuration(main={"format": 'RGB888', "size": (9152, 6944)})
picam2.configure(capture_config)
# picam2.set_controls({"FrameDurationLimits":(frame_time, frame_time)})
picam2.start()
open_camera_time = time.time()
print("open time:" + str(open_camera_time -start))
while True:
last_photo_time = time.time()
picam2.capture_array("main")
photo_time = time.time()
print("picture {} take time: {}".format(i, photo_time - last_photo_time))
i += 1
9. Горизонтальные полосы на снимках в максимальном разрешении с камерами 64MP Hawkeye
Описание
При съёмке в максимальном разрешении камерой Arducam 64MP с автофокусом на снимках могут возникать горизонтальные полосы:

Решение
Проблема может быть связана с функцией шумоподавления ISP платформы Raspberry Pi. Решение:
При съёмке добавьте параметр --denoise cdn_off, например:
rpicam-still -t 5000 --denoise cdn_off --viewfinder-width 2312 --viewfinder-height 1736 --width 9152 --height 6944 -o arducam_64mp.jpg
10. picam2.switch_mode_and_capture_file «замораживает» программу и камеру
Описание
Некоторые пользователи сообщают, что при запуске capture_full_res.py (одного из примеров picamera в репозитории Raspberry Pi на GitHub) камера и программа зависают, и выйти можно только по Ctrl + C. Подробности — в обсуждении этой проблемы на GitHub. У Arducam есть временное решение: напишите нам на quote@arducam-russia.ru и укажите версию ядра Raspberry Pi, например 6.1.21.
Решение
Вам пришлют по электронной почте драйвер, собранный под ваше ядро. Перенесите архив на Raspberry Pi и выполните шаги:
- Закомментируйте строку
dtoverlay=arducam-64mpв файле конфигурации (выполнитеsudo nano /boot/config.txtи прокрутите файл до конца — строка будет там). - Выполните команды ниже, чтобы распаковать архив и установить драйвер камеры.
tar -xvf arducam_64mp_kernel_driver_6.1.21.tar.gz Release/
cd Release/
./install_driver.sh
Затем перезагрузите Raspberry Pi, чтобы изменения вступили в силу, и снова запустите capture_full_res.py, чтобы проверить, решена ли проблема.

Учтите, что специальный драйвер может подойти не ко всем модулям камер Raspberry Pi и не ко всем версиям ядра. Этот драйвер для 64MP Arducam планирует в будущем передать в основное ядро Raspberry Pi.
11. Не работает PDAF у Arducam 64MP Hawkeye в Raspberry Pi OS Bookworm
Подготовка
Сначала убедитесь, что версия ядра — 6.1.63 или новее:
+'uname -v | grep -oP '\d+\.\d+\.\d+'

Если ядро старше 6.1.63, обновите его командами ниже и перезагрузите систему.
sudo apt-get update
sudo apt-get upgrade
Не используйте sudo rpi-update для обновления ядра до самой свежей версии.
Arducam поддерживает только стабильные версии ядра. Сейчас для камеры Arducam 64MP Hawkeye в Bookworm поддерживается ядро:
6.1.63
Шаг 1. Установите bash-скрипт
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
Шаг 2. Установите драйвер камеры
./install_pivariety_pkgs.sh -p 64mp_pi_hawk_eye_kernel_driver
12. Ошибка тайм-аута при работе с платой-адаптером для нескольких камер на Pi 5
Сейчас при работе с платой-адаптером Arducam для нескольких камер (B012001) и камерой OV5647 на Raspberry Pi 5 может возникать ошибка тайм-аута.
pi@raspberrypi:~ $ rpicam-hello
WARNING: v3d support for hw version 71 is neither a complete nor a conformant OpenGL implementation. Testing use only.
Made X/EGL preview window
[0:09:41.969731058] [2860] INFO Camera camera_manager.cpp:284 libcamera v0.1.0+52-a858d20b
[0:09:41.988400159] [2865] INFO RPI pisp.cpp:657 libpisp version v0.0.1 2d39f8bff17b 22-08-2023 (09:04:26)
[0:09:42.024679523] [2865] WARN RPI pisp.cpp:1062 Mismatch between CFE and CamHelper for embedded data usage!
[0:09:42.025537897] [2865] INFO RPI pisp.cpp:1132 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/ov5647@36 to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
[0:09:42.025993380] [2860] WARN V4L2 v4l2_pixelformat.cpp:336 Unsupported V4L2 pixel format YM42
Stream configuration adjusted
[0:09:42.026329308] [2860] INFO Camera camera.cpp:1213 configuring streams: (0) 1296x972-YUV420
[0:09:42.026521179] [2865] INFO RPI pisp.cpp:1428 Sensor: /base/axi/pcie@120000/rp1/i2c@88000/ov5647@36 - Selected sensor format: 1296x972-SGBRG10_1X10 - Selected CFE format: 1296x972-PC1g
[0:09:43.101598515] [2865] WARN V4L2 v4l2_videodevice.cpp:2007 /dev/video4[21:cap]: Dequeue timer of 1000000.00us has expired!
[0:09:43.101730608] [2865] ERROR RPI pipeline_base.cpp:1337 Camera frontend has timed out!
[0:09:43.101756590] [2865] ERROR RPI pipeline_base.cpp:1338 Please check that your camera sensor connector is attached securely.
[0:09:43.101769034] [2865] ERROR RPI pipeline_base.cpp:1339 Alternatively, try another cable and/or sensor.
ERROR: Device timeout detected, attempting a restart!!!
[0:09:44.165689894] [2865] WARN V4L2 v4l2_videodevice.cpp:2007 /dev/video4[21:cap]: Dequeue timer of 1000000.00us has expired!
[0:09:44.165783117] [2865] ERROR RPI pipeline_base.cpp:1337 Camera frontend has timed out!
| Артикул | Сенсор | Разрешение | Разъём (контакты, сторона) | Особенности | Объектив | Угол обзора (Г × В) | Фокусировка | Чувствительность к ИК |
|---|---|---|---|---|---|---|---|---|
| B012001 | — | — | — | Плата-адаптер для четырёх камер | — | — | — | — |
Чтобы решить проблему, нужно заменить драйвер фронтенда камеры.
Скачайте файл драйвера
rp1-cfe.ko.xz
Переключитесь на нужную ветку
Сначала переключите систему на ветку 5744. После выполнения команды перезагрузите Raspberry Pi, чтобы изменения вступили в силу.
sudo rpi-update pulls/5744
sudo reboot

Замените драйвер фронтенда камеры RP1
Узнайте, где находится драйвер:
modinfo rp1-cfe

Сделайте резервную копию исходного драйвера:
sudo mv /lib/modules/6.1.63-v8-16k+/kernel/drivers/media/platform/raspberrypi/rp1_cfe/rp1-cfe.ko.xz /lib/modules/6.1.63-v8-16k+/kernel/drivers/media/platform/raspberrypi/rp1_cfe/rp1-cfe.ko.xz.bak

Скопируйте модифицированный драйвер в каталог платформы:
sudo cp ./rp1-cfe.ko.xz /lib/modules/6.1.63-v8-16k+/kernel/drivers/media/platform/raspberrypi/rp1_cfe/

Обновите список модулей:
sudo depmod -a
Перезагрузите систему:
sudo reboot
Предпросмотр
rpicam-still -t 0


13. Ошибка установки libcamera

Если при установке libcamera возникает такая ошибка, обновите пакет командой ./install_pivariety_pkgs.sh -l — это решит проблему.
14. Не удаётся обновить ядро после команды rpi-update
Если после обновления ядра Raspberry Pi OS и прошивки VideoCore до последней предварительной версии командой rpi-update возникает ошибка и обновление не проходит, решите проблему так.
Проявление ошибки:
Обновление не применяется командами:
sudo apt-get update
sudo apt-get upgrade
Решение:
Обойдите ошибку командой:
sudo apt-get dist-upgrade
15. Искажённое изображение с камеры IMX477
Пример искажённых изображений
| Искажение цветового фильтра | Снимок белой сцены |
|---|
Скачайте пакет обновления прошивки:
Обновление прошивки (tar.gz)
Распакуйте архив и выполните:
chmod +x firmware_update
./firmware_update -i 10 -m imx477_m

16. Камера OV9281 не работает в новой версии системы Raspberry Pi
Описание проблемы
При запуске камеры OV9281 в новой версии системы Raspberry Pi могут возникать ошибки. Чаще всего встречаются такие:


- Ошибка libcamera.
- Ошибка dmesg.
Решение
Чтобы решить проблему, обновите device tree:
- Скачайте обновлённый пакет device tree.
- Распакуйте скачанный архив:
unzip update_ov9281.zip - Перейдите в распакованную папку:
cd update_ov9281 - Запустите скрипт обновления:
./update_ov9281_dtbo.sh - Перезагрузите Raspberry Pi:
sudo reboot
После этого камера OV9281 должна работать на вашем Raspberry Pi правильно.
Дополнительно
Перед тем как применять это решение, обновите операционную систему Raspberry Pi. Если после этих шагов проблема осталась, проверьте подключение камеры и обратитесь к официальной документации Raspberry Pi по устранению неполадок.
17. Затенение объектива на камере OV9281
Описание проблемы
С файлом конфигурации по умолчанию камера OV9281 при предпросмотре даёт виньетирование (тёмные углы), как на снимке ниже:

Решение
Чтобы решить проблему, используйте файлы коррекции затенения объектива:
- Для Raspberry Pi 5:
pi5_ov9281_mono.json - Для Raspberry Pi 4:
pi4_ov9281_mono.json
Порядок действий
- Скачайте файл коррекции затенения для своей модели Raspberry Pi.
- Перенесите файл на Raspberry Pi.
- Примените коррекцию затенения командой:
Для Raspberry Pi 4:
rpicam-still -t 5000 --tuning-file ./pi4_ov9281_mono.json -o ov9281_lens.jpg
Для Raspberry Pi 5:
rpicam-still -t 5000 --tuning-file ./pi5_ov9281_mono.json -o ov9281_lens.jpg
Эта команда:
- делает снимок после 5-секундного предпросмотра;
- применяет коррекцию затенения с указанным файлом настроек;
- сохраняет результат в файл
ov9281_lens.jpg.
Проверьте полученный снимок и убедитесь, что затенения больше нет.
После коррекции затенения виньетирование должно исчезнуть. Пример снимка с исправленным затенением:

Как видно, тёмных углов больше нет: изображение равномернее и качественнее по всему кадру.
18. Ошибка No camera available
Здесь описано, как найти и устранить причину ошибки No camera available при работе с камерой на Raspberry Pi.
1. Описание проблемы
При запуске команд rpicam может возникнуть ошибка No camera available. Обычно ей сопутствуют такие признаки:

- Команда
ls /dev/video0возвращаетno such file or directory— система не видит камеру. - Команда
dmesg | grep -E "imx|arducam"(например, для модуля камеры imx519) выводит ошибки, как на скриншоте. Обычно это говорит о сбое инициализации модуля камеры.
2. Возможные причины
Как правило, ошибка возникает по одной из причин:
- Неправильно подключён шлейф FFC. Гибкий плоский шлейф (FFC), соединяющий модуль камеры с Raspberry Pi, вставлен не до конца или с перекосом.
- Нет нужных настроек в
config.txtили они неверны. В файле конфигурации Raspberry Piconfig.txtнет нужного оверлея камеры, или настройки не подходят к вашему модулю камеры. - Неисправен шлейф FFC. Если подключение выглядит правильным и настройки на месте, возможно, повреждён сам шлейф.
3. Порядок проверки
Чтобы найти и устранить причину ошибки No camera available, выполните шаги:
- Проверьте подключение шлейфа FFC. Внимательно осмотрите оба конца шлейфа: металлические контакты должны быть чистыми и целыми. Убедитесь, что шлейф плотно вставлен в разъёмы CSI и на Raspberry Pi, и на модуле камеры. Особое внимание — ориентации металлических контактов: они должны быть повёрнуты правильной стороной и надёжно касаться контактов разъёма.
- Проверьте настройки в
config.txt. Откройте файлconfig.txt— обычно он находится в каталоге/boot/(Bullseye) или/boot/firmware(Bookworm). Прокрутите файл до конца и найдите раздел[all]. Например, для модуля камеры imx519 под[all]должна быть строкаdtoverlay=imx519. Если её нет, добавьте. Если есть, проверьте, нет ли опечаток или ошибок в записи. Важно: после любых изменений вconfig.txtперезагрузите Raspberry Pi, чтобы они вступили в силу. - Проверьте с заведомо исправным шлейфом FFC. Если есть запасной шлейф, который точно работает, замените им текущий. Так станет понятно, неисправен ли исходный шлейф.
Последовательно проверив эти три возможные причины, вы сможете найти и устранить ошибку No camera available с камерой Raspberry Pi.
19. Объектив M12 не вращается (кажется заклинившим или закреплённым)
Описание
Иногда объектив M12 не удаётся повернуть вручную, чтобы настроить фокус, — кажется, что он закреплён намертво.
Причина
Чтобы объектив не раскрутился при транспортировке или от вибрации, Arducam перед отгрузкой с завода наносит на резьбу крепления M12 немного фиксирующего клея. Фокус остаётся стабильным, но первая настройка может быть затруднена.
Решение
Прежде чем вращать объектив, размягчите клей.
- Прогрейте. Аккуратно прогрейте основание держателя объектива феном или термофеном — клей размягчится.
- Осторожно поверните. Когда клей размягчится, крепко возьмитесь за объектив и поверните его, чтобы сорвать клеевой шов.
- Настройте фокус. Теперь объектив должен свободно вращаться, и фокус можно точно настроить.
Примечание. Не перегрейте сенсор и плату камеры. Прогревайте короткими интервалами, пока объектив не сдвинется.
20. Проблема: не удаётся снимать в 64 Мп на Pi Zero
Признак. При запуске съёмки (например, libcamera-still или rpicam-still) в полном разрешении на Raspberry Pi Zero или Zero 2 W процесс падает, зависает или выдаёт ошибку "Out of Memory" / "CMA allocation" error".
Причина. У плат серии Pi Zero мало оперативной памяти. Обработка сырых данных 64 Мп требует большого непрерывного объёма памяти. Графическая оболочка (GUI) занимает слишком много системной памяти, и драйверу камеры её не хватает.
Решение. Чтобы снимать в полном разрешении 64 Мп на Pi Zero, нужна система без графической оболочки (headless).
- Смените ОС. Запишите Raspberry Pi OS Lite (в ней нет графической оболочки).
- Отключите GUI. Если без настольной версии ОС не обойтись, перед съёмкой загрузитесь в консоль или остановите службу
lightdm, чтобы освободить память:
sudo systemctl stop lightdm