USB设备释放
我现在在使用PyUSB这个库。因为我对USB还不太了解,所以有些事情不知道该怎么做。
我已经成功地通过Python的PyUSB连接到了我的USB设备。现在在代码中,我需要重置这个USB设备的硬件。我通过发送一个命令给硬件完成了这个重置。重置之后,我想从Python的PyUSB中释放当前的USB设备。
然后,我想在设备重置完成后再次连接到这个USB设备。
请告诉我,如何释放USB设备的连接和接口等,这样我才能重新连接?
非常感谢!
3 个回答
0
虽然上面的回答是正确的,但我遇到过很多次,仅仅重置一个USB设备是不够的。
一个好的解决办法是切断USB控制器的电源,这样可以强制它们重新启动,就像把设备拔掉再插上那样。
简单来说:我写了一个小的Python脚本,用来重置USB设备或USB控制器。你可以查看这个链接,这个方法在其他重置方案都不管用的时候(比如一些不好的USB不间断电源)对我有效。
使用方法:
usb_reset --reset
#or
usb_reset --list && usb_reset -d 1234:1234
最初的想法是用bash实现的,来源于这里
for i in /sys/bus/pci/drivers/[uoex]hci_hcd/*:*; do
[ -e "$i" ] || continue
echo "Resetting ${i%/*}/${i##*/}"
echo "${i##*/}" > "${i%/*}/unbind"
echo "${i##*/}" > "${i%/*}/bind"
done
4
#!/usr/bin/python
from usb.core import find as finddev
dev = finddev(idVendor=0x1234, idProduct=0x5678)
dev.reset()
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。
6
当然可以!不过你没有提供具体的StackOverflow内容,能否把需要翻译的内容发给我?这样我才能帮你把它变得更容易理解。