如何将 /sys/bus/usb/devices 映射到 /dev/video*?

如何将 /sys/bus/usb/devices 映射到 /dev/video*?

我使用的库(librealsense)仅输出总线和端口号(9.1)。它内部使用libusb。问题出自 libusb 中的这个标识符,我想知道它属于 /dev/video0 中的哪个物理设备。例如,当两个摄像头插入端口 9.1 和 7.2 时,9.1 -> /dev/video0 和 7.2 -> /dev/video2。

这可能吗?如何获取哪些设备路径属于总线和端口?任何部分答案都会有帮助。

答案1

回答这样我就可以结束这个问题,完全归功于@ridgy 和@dirkt 的帮助。使用命令:

udevadm info -n video0 -q path

或者类似地,可以找到ls -l /sys/class/video4linux/该形式的路径。与使用或/devices/pci0000:00/0000:00:10.0/usb7/7-2/7-2:1.0/video4linux/video0的视频设备列表相结合,可以创建 USB 端口和视频设备之间的映射。ls /dev/video*v4l2-ctl --list-devices

答案2

您还可以使用以下命令来获取更多信息

udevadm 信息 -a -p $(udevadm 信息 -q 路径 -n /dev/video0)

udevadm 信息 -a -p $(udevadm 信息 -q 路径 -n /dev/video1)

相关内容