USB供应商和设备绑定的产品ID

时间:2012-09-16 17:28:11

标签: bash usb lsusb

我在GNU / Linux上为连接的设备提供USB VID和PID。例如045e:0084。我想要绑定,所以我为lsusb grep 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获取绑定的首选方法是什么?

1 个答案:

答案 0 :(得分: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