当我尝试运行驱动程序时创建者: 维克对于 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 ]
.然后,重建、拔出/重新插入,然后享受吧!
抱歉产生噪音。