К содержимому
  1. Главная
  2. Документация
  3. Камеры для NVIDIA Jetson
  4. Камеры для NVIDIA Jetson: устранение неполадок

Камеры для NVIDIA Jetson: устранение неполадок

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

1. Установка драйвера

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

Например:

Вывод скрипта установки драйвера на NVIDIA Jetson
ПримечаниеСейчас драйверы Arducam поддерживают только официальные платы разработчика.

2. Сторонние платы и самостоятельно собранные ядра

Сейчас драйверы Arducam поддерживают только официальные платы разработчика. Для сторонних плат, где device tree нужно изменять самостоятельно, Arducam предоставляет исходный код.

3. Камера не работает

3.1. Камера не обнаружена

Вы выполняете команду ниже, а видеоустройства в списке нет:

ls /dev/video*
Вывод ls /dev/video*: видеоустройств нет

Видеоустройства может не быть по двум причинам (пример для IMX477):

а. Драйвер не установлен

Проверить, установлен ли драйвер, можно командой:

dmesg | grep -E "imx477|imx219|arducam"
Вывод dmesg с сообщениями драйвера imx477

Если вывод похож на рисунок выше, драйвер IMX477 установлен. Если в выводе есть arducam или IMX219 — установлены другие драйверы.

б. Проблема с подключением оборудования

Если драйвер точно установлен правильно, а в журнале dmesg есть ошибка probe, как на рисунке ниже, — камера не обнаружена.

Ошибка probe в журнале dmesg

В этом случае, скорее всего, проблема в подключении: шлейф отошёл, подключён неправильно или повреждён. Проверьте, не отошёл ли шлейф, и при необходимости замените его на запасной.

ПримечаниеНа рисунке видны [9-001a] и [10-001a] (на Nano — 7-001a и 8-001a): это два разных интерфейса камеры. Если используется только один из них, ошибки по второму — это нормально.

3.2. Видеоустройство есть, но не работает

Вы выполняете команду ниже, и видеоустройство в списке есть:

ls /dev/video*
Вывод 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
Запуск конвейера GStreamer с nvarguscamerasrc

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

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
ПримечаниеТеоретический диапазон экспозиции — 0…1 000 000 / (частота кадров) мкс. Например, при 30 к/с диапазон экспозиции — 0…33 333 мкс. Значения за пределами диапазона не применяются. Чтобы увеличить время экспозиции, снизьте частоту кадров.

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 к/с.

Но для максимальной частоты кадров нужны 4 линии MIPI и D-PHY версии 1.2 или новее. Согласно техническому руководству, несущая плата Jetson Xavier NX / Nano имеет интерфейс CSI-2 только на 2 линии.

Поэтому понадобится сторонняя несущая плата с интерфейсом CSI-2 на 4 линии. Если для неё нужен драйвер камеры Arducam IMX477, напишите нам на quote@arducam-russia.ru.

ПримечаниеАппаратный кодер Jetson Xavier NX / Nano поддерживает кодирование только до 4K при 30 к/с, поэтому кодировать 4K при 60 к/с в H.264/H.265 на них нельзя.

8. Как посмотреть параметры управления, поддерживаемые v4l2-ctl

v4l2-ctl -l
Вывод v4l2-ctl -l: список параметров управления

9. Не устанавливается драйвер камеры на Jetson Orin Nano/NX и Jetson AGX Orin

  • Проверьте совместимость несущей платы. Используйте официальную несущую плату NVIDIA: драйверы Arducam несовместимы со сторонними несущими платами. Если у вас сторонняя плата, проблема может быть в этом.
  • Обновите L4T до последней версии. Прошейте систему последней версией L4T 36.3.0 и снова установите драйвер. В последних обновлениях проблемы совместимости могли быть исправлены.

Если после этих шагов драйвер по-прежнему не устанавливается, напишите нам на quote@arducam-russia.ru.

10. Остались вопросы?

Свяжитесь с нами

Пишите на quote@arducam-russia.ru.

ПримечаниеПришлите нам следующие сведения.

а. Модель сенсора (артикул или номер заказа)

б. Файлы журналов

Выполните команды после запуска камеры (например, после команды вывода изображения на экран):

dmesg > dmesg.log
uname -a >> dmesg.log
cat /etc/nv_tegra_release >> dmesg.log
dpkg --list | grep nvidia-l4t-kernel >> dmesg.log

Пришлите нам файл dmesg.log.

в. Схема подключения оборудования

г. Вывод скрипта установки

Если проблема с установкой, пришлите также вывод скрипта установки.

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

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