Устранение неполадок с нативными камерами
1. Установка драйвера
Если при установке возникли проблемы, пришлите вывод скрипта автоматической установки на quote@arducam-russia.ru.
Пример:

2. Сторонние платы и ядро собственной сборки
Сейчас драйверы Arducam поддерживают только официальные платы разработчика. Для сторонних плат, где device tree нужно менять самостоятельно, Arducam предоставляет исходный код.
3. Камера не работает
3.1. Камера не найдена
Выполните команду — в выводе нет ни одного видеоустройства:
ls /dev/video*

Видеоустройство может отсутствовать по двум причинам (пример для IMX477):
а. Драйвер не установлен
Проверьте, установлен ли драйвер, командой:
dmesg | grep -E "imx477|imx219|arducam"

Если вывод похож на показанный на рисунке, драйвер IMX477 установлен. Если в выводе есть arducam или IMX219, установлены другие драйверы.
б. Проблема с подключением
Если драйвер точно установлен правильно, а в журнале dmesg есть ошибка probe, как на рисунке ниже, значит, камера не обнаружена.

Скорее всего, проблема в подключении: шлейф отошёл, подключён неправильно или повреждён. Проверьте, плотно ли сидит шлейф в разъёмах. Если контакт есть, попробуйте заменить шлейф на заведомо исправный.
3.2. Видеоустройство есть, но не работает
Выполните команду — в выводе есть видеоустройство:
ls /dev/video*

Запустите GStreamer:
SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports
FRAMERATE=30
gst-launch-1.0 nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvvidconv ! nveglglessink -e

Снова выполните команду dmesg:
dmesg

Если вывод похож на показанный, скорее всего, проблема в подключении: шлейф отошёл, подключён неправильно или повреждён. Проверьте, плотно ли сидит шлейф в разъёмах. Если контакт есть, попробуйте заменить шлейф на заведомо исправный.
4. Как настроить экспозицию и усиление
Посмотрите доступные параметры nvarguscamerasrc командой:
gst-inspect-1.0 nvarguscamerasrc
Задайте экспозицию:
gst-launch-1.0 nvarguscamerasrc aelock=true exposuretimerange='10000 10000' ! capsfilter caps='video/x-raw(memory:NVMM),width=(int)1920,height=(int)1080,format=(string)NV12,framerate=(fraction)30/1' ! nvvidconv flip-method=2 ! nveglglessink -e
5. Совместное использование разных камер
Чтобы подключить разные камеры одновременно, например IMX477 к CAM0 и IMX219 к CAM1, нужно изменить device tree.
Arducam приводит несколько примеров, но возможных сочетаний слишком много, чтобы охватить все. Измените device tree самостоятельно по образцу этих примеров или напишите нам на quote@arducam-russia.ru, если нужна доработка под ваш вариант.
6. SSD на Xavier NX
Xavier NX не умеет загружаться напрямую с SSD: сначала ядро загружается с SD-карты, а уже после загрузки корневая файловая система (rootfs) переключается на SSD. Поэтому драйвер, установленный в rootfs на SSD, не меняет ядро, с которым система загружается.
Установите драйвер, загрузившись с SD-карты, или скопируйте два файла с SSD — /boot/arducam и /boot/extlinux/extlinux.conf — в те же каталоги на SD-карте.
7. Как получить максимальную частоту кадров
Максимальная частота кадров IMX477: полное разрешение при 60 к/с (обычный режим), 4K2K при 60 к/с (обычный режим), 1080p при 240 к/с.
Однако для максимальной частоты кадров нужен интерфейс MIPI на 4 линии и D-PHY спецификации версии 1.2 или новее. По технической документации несущая плата Jetson Xavier NX/Nano имеет интерфейс CSI-2 только на 2 линии.
Итак, понадобится сторонняя несущая плата с интерфейсом CSI-2 на 4 линии. Если нужен драйвер камеры Arducam IMX477 под такую плату, напишите нам на quote@arducam-russia.ru.
8. Как посмотреть параметры управления, доступные в v4l2-ctl
v4l2-ctl -l

9. Ошибка установки драйвера камеры на Jetson
Описание проблемы.
При установке драйвера командой ./install_full -m xxxx многие пользователи получают такое сообщение об ошибке (пример для Jetson Orin Nano):
Cannot find the corresponding deb package, please send the following information to support@arducam.com
Kernel version: 5.10.216-tegra-35.6.0-20240828020325
Jetson type: NVIDIA Orin Nano Developer Kit
Из-за этой ошибки камера не работает.
Решение. У проблемы две основные причины:
- Несовместимая сторонняя несущая плата. Проверьте совместимость несущей платы: убедитесь, что используете официальную несущую плату NVIDIA. Драйверы Arducam разработаны и проверены именно для официальных несущих плат NVIDIA. Сторонние платы не поддерживаются. Если у вас несущая плата стороннего производителя, скорее всего, ошибка установки вызвана именно ею: совместимость драйверов с такими платами не гарантируется.
- Неподдерживаемая версия JetPack. Проверьте версию JetPack: возможно, версия JetPack на вашем Jetson не входит в число поддерживаемых. Сверьтесь со списком поддерживаемых версий JetPack в таблице: список версий JetPack, поддерживаемых Arducam. Установите поддерживаемую версию: в таблице — актуальный список версий JetPack, с которыми драйверы полностью совместимы. Если вашей версии JetPack в таблице нет, перепрошейте Jetson на поддерживаемую версию JetPack.
Проверьте оба пункта — после этого драйвер камеры должен установиться, и камера Arducam заработает.
10. Чёрный экран с розовой полосой при работе через удлинитель LAN (U6279)
Признаки. При подключении камеры IMX477 к Jetson через удлинитель Arducam LAN Camera Extender (U6279):
- Камера определяется (есть
/dev/video0, камера видна вv4l2-ctl). - При открытии потока (например, через
gst-launchилиnvarguscamerasrc) в окне предпросмотра чёрный экран, часто с мерцающей розовой полосой вверху. - В терминале могут появляться предупреждения:
Pipeline construction is invalid, please add queuesNot enough buffering available
Причина. Неверная конфигурация драйвера. Удлинителю LAN (U6279) нужны особые временные параметры сигнала, не такие, как у камеры, подключённой к плате напрямую. Если установлен стандартный драйвер камеры (например, -m imx477), из-за несовпадения временных параметров кадры теряются или видео искажается (та самая розовая полоса). Для правильной работы с удлинителем драйвер нужно установить в режиме stereo (пониженная скорость).
Решение. Переустановите драйвер камеры с параметром imx477_stereo.
Выполните в терминале команды:
cd ~
wget https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh
chmod +x install_full.sh
./install_full.sh -m imx477_stereo
После установки перезагрузите устройство и снова проверьте поток.
Остались вопросы?
Напишите нам
а. Модель сенсора (артикул или номер заказа)
б. Файлы журналов
Выполните команды после запуска камеры (например, после команды вывода изображения на экран):
dmesg > dmesg.log
uname -a >> dmesg.log
cat /etc/nv_tegra_release >> dmesg.log
dpkg --list | grep nvidia-l4t-kernel >> dmesg.log
Приложите к письму файл dmesg.log.
в. Схема подключения оборудования
г. Вывод скрипта установки
Если проблема связана с установкой, приложите также вывод скрипта установки.