![如何强制 USB 使用相同的设备 ID 而不是新的设备 ID?](https://linux22.com/image/1112427/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%20USB%20%E4%BD%BF%E7%94%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E8%AE%BE%E5%A4%87%20ID%20%E8%80%8C%E4%B8%8D%E6%98%AF%E6%96%B0%E7%9A%84%E8%AE%BE%E5%A4%87%20ID%EF%BC%9F.png)
我在自动化任务方面遇到了一些麻烦。我正在 Linux 机器上测试一些基于 Android 的手机。自动化脚本使用的设备 ID/dev/bus/usb/001/"053"
将始终位于总线下001
。但将dev
是随机的,例如,如果我插入一部手机,则dev
ID 将是053
,如果移除并再次插入,则dev
ID 将是054
。
问题是,当某些测试在设备上运行并且如果设备重新启动时,dev
重新启动的设备会显示新的 ID,并且我的脚本会因新的dev
ID 而失败。
有什么方法可以强制 USB 设备使用相同的dev
ID 而不是新的 ID,这样即使设备重新启动后我的测试也不会出现问题?
答案1
似乎无法强制使用特定 ID。您可能会发现动态识别要将脚本绑定到的设备 ID 很有用。
devid=/dev/bus/usb/$(lsusb | grep <yourdevice> | cut -d":" -f1 | cut -d" " -f2,4 --output-delimiter="/")
^ 哪里<yourdevice>
有适当独特的东西来识别您的设备。
然后您就可以使用$devid
您之前使用过的地方了/dev/bus/usb/001/053
。