web-dev-qa-db-ja.com

/ sys / bus / usb / devicesを/ dev / video *にマッピングする方法は?

バスとポート番号のみを出力するライブラリ(librealsense)を使用しています(9.1)。内部的にlibusbを使用します。問題は、libusbのこの識別子にあります。/dev/video0に属する物理デバイスを知りたいのです。たとえば、2つのカメラがポート9.1および7.2に接続されている場合、9.1->/dev/video0および7.2->/dev/video2。

これは可能ですか?バスとポートに属するデバイスパスを取得するにはどうすればよいですか?部分的な回答があれば役に立ちます。

4
nico

答えて、@ 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という形式のパスを見つけることができます。これをls /dev/video*またはv4l2-ctl --list-devicesのいずれかを使用したビデオデバイスのリストと組み合わせることで、USBポートとビデオデバイス間のマップを作成できます。

2
nico

以下のコマンドを使用して詳細情報を取得することもできます

udevadm info -a -p $(udevadm info -q path -n/dev/video0)

udevadm info -a -p $(udevadm info -q path -n/dev/video1)

0
Bhargav Jayswal