드라이버를 실행하려고 하면만든 사람: 빅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 및 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
좋아, 내 실수를 이해합니다. 기본적으로 NixO에서는 udev 규칙을 $out/lib/udev/rules.d/
폴더에 넣는 것만으로는 충분하지 않은 것 같습니다 services.udev.packages = [ mypackage ]
. 그런 다음 다시 빌드하고 플러그를 뽑거나 다시 연결하고 즐기십시오!
소음이 발생해서 죄송합니다.