2
GNU/Linux의 연결된 장치에 대한 USB VID 및 PID가 있습니다. 예를 들어 입니다. 나는 VID:PID
에 대해 lsusb
의 출력을 grep하도록 바인딩을 원하고 udevadm
조회에 적합한 형식으로 마사지합니다. 마지막으로 결과 경로의 기본 이름을 사용합니다. 같은 뭔가 :장치 공급 업체의 USB 공급 업체 및 제품 ID
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
는 A USB 공급 업체 및 제품 ID 바인딩을 얻을 수있는 좋은 방법은 무엇입니까?
내가 찾고있는 것이 아닙니다. 나는 "SED/Grep magic"부분 (실제로 피하려고하는 부분)이 필요하지 않습니다. 나는 이미 그 일을 잘 해냈지만 좀 더 평범하고 덜 익살스러운 것을 찾기를 희망했다. udev에서 쿼리 할 수있는 방법이 있습니까? 광산은 당신과 매우 유사 : # $ 1 - VID의 [: PID] usb_id_to_bind() { 선언 -r dev_name = "$ (lsusb | 나오지도 -rn 'S_^버스 ([0-9] {3}) dev/bus/usb/\ 1/\ 2_p ') " declare -r dev_path ="$ (udevadm info -q path -n "$ dev_name") " 기본 이름"$ dev_path " } –