我有一个在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上的plugdev的等价物,或者是使应用程序能够访问HID设备的正确方法。
有什么想法吗?
编辑>>
尝试删除像@askb建议的GROUP权限。这没有解决任何问题。但作为测试,我已将RUN+="/udevtest.sh"
添加到SUBSYSTEM=="hidraw"
,它将某些内容记录到/tmp/udev.log中,这似乎反应得很好。所以udev规则通过了。但是我的应用程序(使用libusb)仍然只能在运行sudo时访问它...
答案 0 :(得分:0)
组'plugdev'是一个仅限Ubuntu的功能来解决hotplug设备
权限。其他发行版不需要这个,不应该开始使用
任何小组作业IMHU。我建议删除Fedora的udev规则文件中的GROUP="plugdev"
,并为两个发行版添加一个diff规则文件。只要产品/供应商ID匹配,udev规则文件就应该按预期工作。