我有一个在Ubuntu(14.04)和Fedora(20)上运行的Qt应用程序,需要与USB HID设备进行通信,而不需要 root权限(以root身份运行应用程序可以正常工作,因此没有问题)。 在Ubuntu上,使用以下规则将HID设备添加到plugdev组可以正常工作。
SUBSYSTEM=="usb", ATTR{idVendor}=="0600", ATTR{idProduct}=="0070", MODE="0660", GROUP="plugdev"
SUBSYSTEM=="hidraw" , ATTRS{idVendor}=="0600", ATTRS{idProduct}=="0070", MODE="0660", GROUP="plugdev"
但是将此规则添加到 Fedora 中似乎无法从应用程序访问 HID 设备,这部分原因是 Fedora 上没有 plugdev 组。
但我似乎找不到 Fedora 上的等效项或启用应用程序访问 HID 设备的正确方法。
有什么想法吗?
编辑 >> 尝试像 @askb 建议的那样删除 GROUP 权限。这并没有解决任何问题。但作为一个测试,我在 SUBSYSTEM=="hidraw" 中添加了 RUN+="/udevtest.sh",它会将一些内容记录到 /tmp/udev.log 中,这似乎反应良好。因此 udev 规则通过了。但是我的应用程序(使用 libusb)仍然只能在以 sudo 运行时访问它...