Linux video capture interface and device path on apalis-imx6

I’m trying to setup video capture on Apalis IMX6 development board with linux-toradex-mainline 6.1.0-rc5-0+git.094226ad94f4.

The problem is that many /dev/video* devices of class “Source/Video” are visible already before camera is connected so how to find when camera is really connected and which device path is for camera interface?

root@b2qt-apalis-imx6:~# v4l2-ctl --list-devices
imx-capture (platform:2400000.ipu):
imx-capture (platform:2800000.ipu):
imx-csc-scaler (platform:imx-csc-scaler):
imx-capture (platform:imx-ipuv3-csi.0):
imx-capture (platform:imx-ipuv3-csi.1):
imx-capture (platform:imx-ipuv3-csi.4):
imx-capture (platform:imx-ipuv3-csi.5):

All the video devices above have Device Caps for Video Capture:

root@b2qt-apalis-imx6:~# v4l2-ctl --device=/dev/video0 --all
Driver Info:
        Driver name      : imx-capture
        Card type        : imx-capture
        Bus info         : platform:imx-ipuv3-csi.0
        Driver version   : 6.1.0
        Capabilities     : 0x84200001
                Video Capture
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04200001
                Video Capture
                Extended Pix Format

I was thinking should these devices be registered in /dev/videoX only after camera is plugged or could Device Caps be Metadata Capture instead of Video Capture to ease filtering for actual camera?

Hi @arpa !

You could create a symlink to your specific camera device using a udev rule.

Example from StackOverflow: usb - Create a symlink in /dev using /etc/udev/rules - Ask Ubuntu

This way, you have control over the device’s symlink name on your OS.

Best regards,