调试写入 USB 文件的权限(与 udev 链接?)

调试写入 USB 文件的权限(与 udev 链接?)

当我尝试运行驱动程序时创建者: 维克对于 sudo 模式下的图形平板电脑,平板电脑可以被识别,但是如果我以普通用户身份运行它,平板电脑就不再被识别。但是,我确实有一个 udev 文件,其中20-vktablet.rules包含:

KERNEL=="uinput",MODE:="0666",OPTIONS+="static_node=uinput"
SUBSYSTEMS=="usb",ATTRS{idVendor}=="2feb",MODE:="0666"

这似乎符合lsusb(据我所知):

Bus 001 Device 028: ID 2feb:0002 Beijing Veikk E-Commerce Co., Ltd. A30

为了调试这个问题,我尝试以sudo普通用户身份运行 strace 和 。输出很大,但我设法使用git diff可疑的行发现:

# For the sudo version:
openat(AT_FDCWD, "/dev/bus/usb/001/028", O_RDWR|O_CLOEXEC) = 17
# For the normal version
openat(AT_FDCWD, "/dev/bus/usb/001/028", O_RDWR|O_CLOEXEC) = -1 EACCES (Permission denied)

你知道可能出了什么问题吗?或者知道如何进一步调试这个?

编辑

我尝试应用建议的修改(谁,官方驱动程序有这么多拼写错误^^'),但这显然还不够......这是当前版本:

KERNEL=="uinput",MODE="666",OPTIONS+="static_node=uinput"
SUBSYSTEM=="usb",ATTR{idVendor}=="2feb",MODE="666"
$ ls -al /dev/bus/usb/001/002 
crw-rw-r-- 1 root root 189, 1 avril 19 23:04 /dev/bus/usb/001/002

答案1

好的,所以我理解我的错误:基本上,在 NixOs 中,似乎将 udev 规则放在$out/lib/udev/rules.d/文件夹中是不够的:还可以使用services.udev.packages = [ mypackage ].然后,重建、拔出/重新插入,然后享受吧!

抱歉产生噪音。

相关内容