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

树莓派4中pi用户无法访问USB继电器,仅root可访问的问题求助

解决树莓派pi用户访问USB继电器权限问题

环境与问题现象

  • 设备:树莓派4
  • Python版本:3.9.2

pi用户执行以下代码时出现权限错误:

pi@raspi:~ $ python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hid
>>> dev = hid.device()
>>> dev.open(5824,1503)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "hid.pyx", line 127, in hid.device.open
OSError: open failed
>>> 

root用户执行相同代码可正常运行:

root@raspi:/home/pi# python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hid
>>> dev = hid.device()
>>> dev.open(5824,1503)
>>> 

已尝试的操作:

  • root用户在/etc/udev/rules.d/下创建99-personal.rules规则:

KERNEL=="hidraw*", ATTRS{idVendor}"5824", ATTRS{idProduct}"1503", MODE="0660", GROUP="plugdev"

  • 执行sudo udevadm control --reload重载规则
  • 重启树莓派、插拔USB继电器,但问题未解决

解决步骤

1. 确认pi用户归属plugdev组

先检查pi用户是否在plugdev组内,执行命令:

groups pi

如果输出中没有plugdev,执行以下命令添加用户到组:

sudo usermod -aG plugdev pi

添加完成后重新登录pi用户(或重启系统),使组权限生效。

2. 修正udev规则适配HID设备

当前规则仅针对hidraw*节点,但hid库可能直接访问USB HID类设备而非hidraw节点。修改/etc/udev/rules.d/99-personal.rules文件内容为:

SUBSYSTEM=="usb", ATTRS{idVendor}=="5824", ATTRS{idProduct}=="1503", MODE="0660", GROUP="plugdev"
KERNEL=="hidraw*", ATTRS{idVendor}=="5824", ATTRS{idProduct}=="1503", MODE="0660", GROUP="plugdev"

同时兼容USB子系统和hidraw节点,避免遗漏设备路径。

3. 重载规则并触发设备更新

修改规则后执行以下命令:

sudo udevadm control --reload-rules
sudo udevadm trigger

之后重新插拔USB继电器,让新规则应用到设备上。

4. 验证设备权限

执行命令查看设备的权限与所属组:

# 定位目标USB设备路径
lsusb -d 5824:1503
# 查看设备节点权限(替换为上面命令输出的实际路径)
ls -l /dev/bus/usb/$(lsusb -d 5824:1503 | awk '{print $2"/"$4}' | sed 's/:$//')
# 查看hidraw节点权限
ls -l /dev/hidraw*

确认输出中设备的所属组为plugdev,权限包含读写权限(如crw-rw----)。

5. 测试代码

重新登录pi用户后,再次运行测试代码,确认设备可正常打开。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 05:21:28