Устранение неполадок с камерами Jetvariety
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. Остались вопросы?
Напишите нам
а. Модель сенсора (артикул или номер заказа)
б. Файлы журналов
Выполните команды после запуска камеры (например, после команды вывода изображения на экран):
dmesg > dmesg.log
uname -a >> dmesg.log
cat /etc/nv_tegra_release >> dmesg.log
dpkg --list | grep nvidia-l4t-kernel >> dmesg.log
Приложите к письму файл dmesg.log.
в. Схема подключения оборудования
г. Вывод скрипта установки
Если проблема связана с установкой, приложите также вывод скрипта установки.