You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pyusb访问USB HID设备时权限被拒,udev规则无效如何解决?

解决PyUSB访问USB HID设备的权限问题

你遇到的usb.core.USBError: [Errno 13] Access denied错误,是当前用户无足够权限访问目标USB设备导致的,即便添加了udev规则也可能因配置细节问题未生效,可按以下步骤排查修复:

  • 修正udev规则文件的命名与位置
    你创建的规则文件名为99-corsair.py是错误的,udev规则文件必须以.rules为后缀,正确命名应为99-corsair.rules,且需放置在/etc/udev/rules.d/目录下。

  • 重新加载udev规则并触发设备事件
    修改规则后需要让udev重新读取配置,执行以下命令:

    sudo udevadm control --reload-rules
    sudo udevadm trigger
    

    完成后重新插拔USB设备,确保新规则生效。

  • 优化udev规则的匹配条件
    HID设备可能同时归属usb和hidraw子系统,可补充针对hidraw的规则,或调整原规则的匹配项,示例如下:

    # 匹配USB子系统设备
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0a6b", MODE="0666"
    # 匹配HIDRAW子系统设备(若设备属于该类)
    SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0a6b", MODE="0666"
    

    可通过lsusb -v -d 1b1c:0a6b命令查看设备详细属性,确保规则中的ATTRS键值与设备实际属性完全匹配。

  • 将用户加入plugdev组
    部分Linux发行版要求用户属于plugdev组才能访问可移动设备,执行以下命令添加用户到该组:

    sudo usermod -aG plugdev $USER
    

    执行后需注销并重新登录,组权限才会生效。

  • 临时验证(非长久方案)
    若以上操作均未生效,可先尝试用sudo运行Python脚本,确认是否确实为权限问题:

    sudo python3 your_script_name.py
    

内容的提问来源于stack exchange,提问作者Boris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 17:45:20