はじめに
USBカメラが2つのビデオデバイスを持っている場合に、udevで名前を固定する方法を紹介する。
動作確認環境
- Ubuntu 20.04
前提
USBカメラが2つのビデオデバイスを認識する場合は以下のようになっている。
ビデオデバイスを確認する。
$ ls /dev | grep video
結果が以下のようになっている場合の固定方法を紹介する。
/dev/video0
/dev/video1
方法
基本的なudevでUSBデバイスを固定する方法は、こちらの記事を参照。
基本の設定に加えて、ビデオデバイスの順番を決めているATTR{index}
を追加する。rulesファイルは以下のようになる。
/etc/udev/rules.d/99-some-usb-camera.rules
KERNEL=="video*", SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="YYYY", ATTR{index}=="0", SYMLINK+="some-usb-camera-video0", GROUP="video", MODE="0666"
KERNEL=="video*", SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="YYYY", ATTR{index}=="1", SYMLINK+="some-usb-camera-video1", GROUP="video", MODE="0666"
-
ATTRS{idVendor}
、ATTRS{idProduct}
: デバイスに応じて適宜設定する -
SYMLINK
: 固定したい名称
rulesファイルは、/etc/udev/rules.d
ディレクトリ内に保存する。以下のコマンドで設定を反映する。
$ sudo udevadm control --reload-rules && sudo udevadm trigger
$ ls /dev | grep video
結果が以下のようになっていれば成功。
/dev/some-usb-camera-video0
/dev/some-usb-camera-video1
/dev/video0
/dev/video1
まとめ
USBカメラが2つのビデオデバイスを持っている場合に、udevで名前を固定する方法を紹介した。複数のビデオデバイスを持っているUSBカメラの名前を固定したい場合に有用。
参考