2

GNU/Linuxに接続されたデバイス用のUSBVIDとPIDを持っています。045e:0084、 例えば。バインディングが必要なので、の出力をgrepしてlsusb、ルックアップVID:PIDに受け入れられる形式にマッサージします。udevadm最後に、結果のパスのベース名を取得します。何かのようなもの:

bus_dev=$(lsusb|grep VID:PID...) # Grep / Sed magic to extract bus and device from VID and PID.
path=$(udevadm info -q path -n /dev/bus/usb/$bus_dev) # e.g., -n /dev/bus/usb/003/018
basename $path # e.g., /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2.3/3-2.3.1
# e.g., yields 3-2.3.1

その後、次のように使用できます。

echo 3-2.3.1|sudo tee /sys/bus/usb/drivers/usb/unbind

USBベンダーと製品IDからバインディングを取得するための好ましい方法は何ですか?

4

1 に答える 1

1

このようなことを意味しますか?

vidpid="1d6b:0002"
bus_dev=`lsusb | grep "ID\s$vidpid" | sed 's/^.*Bus\s\([0-9]\+\)\sDevice\s\([0-9]\+\).*$/\1\/\2/g' | tail -n 1` 
path=$(udevadm info -q path -n /dev/bus/usb/$bus_dev)
basename $path
于 2012-10-08T17:34:06.183 に答える