Fedora 20的hidraw udev规则不起作用

4

我有一个在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 运行时访问它...
1个回答

0

“plugdev”组是Ubuntu特有的功能,用于解决热插拔设备权限问题。其他发行版不需要这个功能,也不应该开始使用任何组分配。我建议在Fedora的udev规则文件中删除GROUP="plugdev",并为两个发行版提供一个不同的规则文件作为替代方案。只要产品/供应商ID匹配,udev规则文件应该按预期工作。


尝试删除组权限,但仍然没有运气。(请参见上面的编辑) - Mathieu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接