vendorid、productid、およびusbバス情報に基づいてUSB udevルールを作成する


1

私はいくつかのUSB Webカメラを持っていますが、残念ながらシリアル番号がありません。 そのため、起動時にデバイスファイル名を切り替える傾向があります。

それらは常に同じUSBポートにあるので、それに基づいてルールを作成したいと思います。 しかしそれは惨めに失敗しています。

これが私がこれまでに試したことです:

# /sys/bus/usb/devices/2-5.1:1.1/uevent
#SUBSYSTEM=="usb", SYSFS{idVendor}=="05e1", SYSFS{idProduct}=="0408", PLACE=="2-5.1", NAME="video98"
#SUBSYSTEM=="usb", PLACE=="2-5.1", NAME="video98"
#SUBSYSTEM=="usb", ATTR{busnum}="002", ATTR{devnum}="009", ATTR{idVendor}="05e1", NAME="video98"
SUBSYSTEM=="usb", ATTR{busnum}="002", ATTR{devpath}="/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1", ATTR{idVendor}="05e1", NAME="video98"

# /sys/bus/usb/devices/2-5.3:1.1/uevent
#SUBSYSTEM=="usb", ATTR{busnum}="002", ATTR{devnum}="010", ATTR{idVendor}="05e1", NAME="video99"
SUBSYSTEM=="usb", ATTR{busnum}="002", ATTR{devpath}="/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.3", ATTR{idVendor}="05e1", NAME="video99"

だから、私はいくつかの試みをしました。 devnumもブート時に変わることを見たので、それを使いたくはありません。

私は実際には単に "2-5.3"と "2-5.1"のものを使いたいだけです。それはいつも同じです。しかし、どうですか?

回答:


0

私は前にほぼ正確にこれをやった、奇妙なことに十分。私のものは外付けハードドライブでしたが、USBカメラでもそれほど変わらないはずです。 SCSIバスアドレスをポートに使用しましたが、これはうまくいきました。

私の情報を使っています lsscsiUSBデバイスの場合は、次のように出力されます。

[2:0:0:0] disk <descriptor> <dev name>

それでは、次のルールに似たようなことをしてください。

SUBSYSTEM=="usb", KERNEL=="sd*1", KERNELS=="2:0:0:0", SYMLINK+="<label_1>"

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.