gpt4 book ai didi

python - pyusb:无法设置配置

转载 作者:太空狗 更新时间:2023-10-29 22:20:05 25 4
gpt4 key购买 nike

我正在尝试制作一个脚本(在 Linux 上),它可以打开或关闭鼠标中的灯。

这是我目前的代码:

import usb.core
import usb.util
import sys
interface = 0
dev = usb.core.find(idVendor=0x1532, idProduct=0x0017)

def main():

if dev is None:
print "device not found"

else:
print "device found"
if dev.is_kernel_driver_active(interface) is True:
print "but we need to detach kernel driver"
dev.detach_kernel_driver(interface)
print "claiming device"
usb.util.claim_interface(dev, interface)


print "release claimed interface"
usb.util.release_interface(dev, interface)
print "now attaching the kernel driver again"
dev.attach_kernel_driver(interface)
print "all done"
return 0

if __name__ == '__main__':
main()

这工作正常,但如果我尝试执行以下操作:dev.set_configuration()

claim_interface(dev, interface) 之后

脚本返回错误:usb.core.USBError: Resource busy

为什么我分离了它的内核驱动后它仍然很忙?

最佳答案

不确定这是否会解决问题,但是鼠标的 udev 规则设置是否正确?我在一个 friend 为我做的自定义设备上遇到了类似的问题,我通过添加如下规则解决了这个问题:

SUBSYSTEM !="usb_device", ACTION !="add", GOTO="device_rules_end"
SYSFS{idVendor} =="1532", SYSFS{idProduct} =="0017", SYMLINK+="mydevice"
MODE="0666", OWNER="<your-username-here>", GROUP="root"
LABEL="device_rules_end"

在我的 /etc/udev/rules.d 文件夹中。

喂!

编辑:在添加规则之前,尝试使用 sudo 运行您的脚本。如果它会以这种方式工作,那么几乎可以肯定这是一个将由上述规则修复的权限设置。

关于python - pyusb:无法设置配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8218683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com