К содержимому
  1. Главная
  2. Документация
  3. Камеры для Raspberry Pi
  4. Устранение неполадок камер Pivariety

Устранение неполадок камер Pivariety

Документация Arducam · перевод arducam-russia.ru

Перед поиском неисправностей

ПримечаниеЕсли камера работает неправильно, ещё раз проверьте основные моменты:
  • Шлейф подключён правильно и надёжно.
  • Вы используете обычную версию камеры, а не специальную версию для платы Camarray.
  • Установлена подходящая версия ОС Bullseye (устаревшую Buster использовать не рекомендуется).
  • Вы выполнили инструкцию по установке libcamera: драйвер и специальные пакеты libcamera-dev и libcamera-apps установлены без ошибок.

Дополнительные проверки

  1. Проверьте, что драйвер загружен правильно:
dmesg | grep -E "imx477|imx219|arducam"
Сообщения драйвера камеры в системном журнале
  1. Проверьте, что устройство video0 обнаружено:
ls /dev/video0
Вывод команды ls /dev/video0

Прежде чем обращаться за помощью, подготовьте сведения ниже — так проблему удастся решить быстрее. Вопросы присылайте нам на quote@arducam-russia.ru.

  • Оборудование: модель модуля камеры (например, артикул) или ссылка на покупку, схема подключения.
  • Скриншот выполняемых команд.
  • Сведения о системе, которые выводят команды 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.

Параметр 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.

Примечание. Как собрать драйвер ядра самостоятельно, описано в руководстве Сборка драйвера ядра Raspberry Pi для камер Pivariety.

4. Ошибка Failed to import fd 19

Сообщение об ошибке импорта fd 19

Такая ошибка обычно означает, что выбран неподходящий графический драйвер.

ВниманиеЕсли у вас Raspberry Pi OS (Raspbian) Bullseye на Pi Zero … Pi 3, выполните следующее:
  1. Откройте терминал.
  2. Выполните sudo raspi-config.
  3. Перейдите в раздел Advanced Options.
  4. Включите графическое ускорение Glamor.
  5. Перезагрузите Raspberry Pi.

Кроме того, выполните ещё несколько шагов:

  1. Откройте терминал.
  2. Выполните sudo raspi-config.
  3. Перейдите в раздел Advanced Options.
  4. Перейдите в пункт GL Driver.
  5. Выберите GL (Full KMS).
  6. Перезагрузите Raspberry 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

5. Ошибка открытия шины I2C

Сообщение об ошибке открытия шины I2C

Решение: выполните команду

sudo raspi-config

и перейдите в раздел Interface Options → I2C.

6. Переход на штатную камеру (raspistill и т. п.)

Если нужно работать с другими камерами, которым нужен штатный драйвер, откройте файл /boot/config.txt и закомментируйте строку dtoverlay=arducam: замените её на # dtoverlay=arducam.

Закомментированная строка оверлея Arducam в config.txt

После изменения перезагрузите Raspberry Pi.

sudo reboot

7. Не удаётся обновить ядро после команды rpi-update

Если при обновлении ядра Raspberry Pi OS и прошивки VideoCore до последней предварительной версии командой rpi-update возникает ошибка и обновление не проходит, решите проблему так.

Признак ошибки:

Обновление не применяется командами:

sudo apt-get update 
sudo apt-get upgrade

Решение:

Чтобы обойти ошибку, выполните:

sudo apt-get dist-upgrade

8. Камера IMX462 (B0444) не обнаруживается

АртикулКонтакты / разъёмОсобенностиОбъективУгол обзора (Г × В)ФокусировкаЧувствительность к ИК
B044422 / контакты сверхуШирокоугольная, для сверхслабого освещенияM12141,4° (Г) × 81,7° (В)Ручная фокусировкаВстроенный ИК-фильтр

Ситуация: вы выполнили все шаги по подключению модуля камеры из документации Arducam, но получаете ошибку:

команда rpicam-hello выдаёт no cameras detected, а в списке /dev/video* нет устройства /dev/video0.

Вариант 1. Закомментируйте UART

Первый способ решить проблему — отключить UART. Пример файла конфигурации:

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Automatically load overlays for detected cameras
camera_auto_detect=0

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
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

[all]
dtoverlay=arducam-pivariety
#enable_uart=1

Вариант 2. Снизьте скорость I2C

Если нужно одновременно включить UART и драйвер камеры, вручную измените файл конфигурации: снизьте скорость I2C и включите UART. Например:

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_vc=on,i2c_vc_baudrate=50000
#dtparam=i2s=on
#dtparam=spi=on

# 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=0

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
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

[all]
dtoverlay=arducam-pivariety
enable_uart=1

9. Ошибка: файл arducam-pivariety.json не найден

Модели: все камеры серии Pivariety (64MP, 16MP, 21MP и др.). Платформа: Raspberry Pi 4 (vc4) / Raspberry Pi 5 (pisp).

Признак

При запуске предпросмотра командой rpicam-hello или libcamera-hello с камерами Pivariety в терминале красным выводится сообщение об ошибке. При этом предпросмотр камеры обычно запускается нормально.

ERROR IPAProxy ipa_proxy.cpp:185 Configuration file 'arducam-pivariety.json' not found for IPA module 'rpi/vc4'
ПримечаниеНа Raspberry Pi 5 вместо пути модуля rpi/vc4 выводится rpi/pisp.

Причина

Это штатное поведение системы, а не неисправность оборудования.

  1. Логика поиска. Система libcamera на Raspberry Pi сначала ищет файл настройки arducam-pivariety.json в системной папке /usr/share/libcamera/ipa/.
  2. Резервный механизм. Arducam хранит параметры настройки прямо во встроенном микроконтроллере камеры, поэтому в папке такого файла нет. Когда поиск файла не удаётся (и в журнал пишется ошибка), драйвер автоматически переключается на чтение конфигурации из самой камеры.

Решение

Ничего делать не нужно.

Это сообщение можно спокойно игнорировать. Если окно предпросмотра открывается и изображение выглядит правильно, камера работает нормально с конфигурацией из встроенного микроконтроллера.

10. Камера Pivariety (B0444) не запускается из-за неверного разрешения (2147485568 × 1080)

Здесь разобрана проблема, при которой камера Arducam IMX462 Pivariety (модель B0444) не запускается и сообщает неверную, очень большую ширину кадра.

1. Описание проблемы

При запуске команд rpicam или libcamera (например, rpicam-hello) приложение не может открыть камеру.

Основные признаки:

  1. Камера обнаруживается, но режим разрешения указан неверно (например, 2147485568x1080 вместо 1920x1080).
  2. Выводится сообщение об ошибке Can't configure camera with invalid configuration.

Пример журнала ошибок:

Available cameras
-----------------
0 : arducam-pivariety [1920x1080 10-bit RGGB] (/base/soc/i2c0mux/i2c@1/arducam_pivariety@c)
    Modes: 'SRGGB10_CSI2P' : 2147485568x1080 [30.00 fps - (65535, 65535)/65535x65535 crop]

[...TIME STAMP...] ERROR Camera camera.cpp:1203 Can't configure camera with invalid configuration
ERROR: *** failed to configure streams ***

2. Причина

Встроенная прошивка микроконтроллера модуля камеры устарела или перешла в некорректное состояние, поэтому передаёт драйверу ошибочные параметры сенсора.

3. Решение: обновите прошивку камеры

Чтобы устранить проблему, обновите прошивку с помощью специальной утилиты.

Что понадобится

  • Камера правильно подключена к Raspberry Pi.
  • Есть подключение к интернету, чтобы скачать утилиты.

Пошаговая инструкция

Шаг 1. Проверьте настройку драйвера в системе

Откройте файл конфигурации и убедитесь, что оверлей Arducam Pivariety включён.

sudo nano /boot/firmware/config.txt

В секции [all] должна быть строка:

dtoverlay=arducam-pivariety

Если вы добавили эту строку, сохраните файл (Ctrl+O, Enter) и перезагрузите систему (sudo reboot), прежде чем продолжать.

Шаг 2. Скачайте и распакуйте утилиту обновления прошивки

Скачайте на Raspberry Pi пакет обновления прошивки для B0444 (Firmware Update Tool) и распакуйте его:

unzip B0444_archive.zip

Шаг 3. Определите разрядность системы

Узнайте, 32- или 64-разрядная у вас ОС, чтобы выбрать нужную версию утилиты.

getconf LONG_BIT
  • 32 — 32-разрядная ОС.
  • 64 — 64-разрядная ОС.

Шаг 4. Установите зависимости и обновите прошивку

Установите нужную библиотеку и перейдите в папку, которая соответствует разрядности системы (см. шаг 3).

1. Установите зависимость:

sudo apt install libtinfo6

2. Перейдите в каталог утилиты:

Для 32-разрядной ОС:

cd archive/output/armv7l/sku_b0444/

Для 64-разрядной ОС:

cd archive/output/aarch64/sku_b0444/

3. Запустите обновление прошивки:

sudo ./firmware_update -m sku_b0444 -i 10

4. Проверьте результат. Должно появиться сообщение [SUCCESS] Firmware update successful.

Перезагрузка и проверка

Перезагрузите систему, чтобы изменения вступили в силу:

sudo reboot

После перезагрузки снова проверьте режимы камеры. Теперь разрешение должно отображаться правильно — 1920 × 1080:

rpicam-hello --list-cameras

В выводе должно быть: Modes: 'SRGGB10_CSI2P' : 1920x1080

Теперь предпросмотр запускается как обычно:

rpicam-hello

Запросить цену

Укажите количество — пришлём коммерческое предложение.