
여기서 궁극적인 목표는 마우스 플러그에서 터치패드를 켜거나 끄는 것입니다. 따라서 udevadm을 사용하여 udev 데이터베이스에서 마우스와 터치패드의 일부 속성을 가져오려고 노력하고 있지만 이것이 어떻게 작동하는지 알 수 없으며 불행히도 맨페이지는 다음과 같습니다. 나에게는 충분히 명확하지 않습니다…
$ lsb_release -irc 배포자 ID: 데비안 출시: 8.4 코드네임: 제시
내가 찾고 있는 정보는 다음과 같습니다.
KERNEL=="input16"
SUBSYSTEM=="input"
DRIVER==""
ATTR{name}=="Bluetooth Laser Travel Mouse"
ATTR{phys}=="5c:e0:c5:9d:63:fd"
ATTR{uniq}=="00:07:61:ec:be:5c"
ATTR{properties}=="0"
여기에서 나는 이것을 시도했습니다 :
$ udevadm info -a /sys/devices/pci0000\:00/0000\:00\:1c.3/0000\:03\:00.0/usb2/2-1/2-1\:1.0/0003\:1EA7\:0064.0002/input/input25/mouse1/`
그리고 난 이걸 받고 있어
알 수 없는 장치입니다. /dev/ 또는 /sys의 절대 경로가 필요합니다.
모니터링하면 다음과 같은 결과가 나타납니다.
$ udevadm monitor -k -s input
monitor will print the received events for:
KERNEL - the kernel uevent
KERNEL[4375.486738] remove /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb2/2-1/2-1:1.0/0003:1EA7:0064.0002/input/input25/mouse1 (input)
KERNEL[4375.496500] remove /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb2/2-1/2-1:1.0/0003:1EA7:0064.0002/input/input25/event11 (input)
KERNEL[4375.532441] remove /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb2/2-1/2-1:1.0/0003:1EA7:0064.0002/input/input25 (input)
KERNEL[4377.840574] add /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb2/2-1/2-1:1.0/0003:1EA7:0064.0003/input/input26 (input)
KERNEL[4377.840667] add /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb2/2-1/2-1:1.0/0003:1EA7:0064.0003/input/input26/mouse1 (input)
KERNEL[4377.840759] add /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb2/2-1/2-1:1.0/0003:1EA7:0064.0003/input/input26/event11 (input)
그래서 나는 이것을 시도했습니다.
$ udevadm info -a -p /sys/devices/pci0000\:00/0000\:00\:1c.3/0000\:03\:00.0/usb2/2-1/2-1\:1.0/0003\:1EA7\:0064.0002/input/input25/
이
$ udevadm info -a -p /devices/pci0000\:00/0000\:00\:1c.3/0000\:03\:00.0/usb2/2-1/2-1\:1.0/0003\:1EA7\:0064.0002/input/input25/
그리고 이 결과를 얻으세요
syspath를 찾을 수 없습니다
일부 속성을 얻는 유일한 방법은 다음 명령을 사용하는 것입니다.
$ udevadm info --query=all --name=/dev/input/mouse1
그리고 나는 이것을 얻었지만 내가 찾고 있는 속성이 없습니다…(즉 ATTR{name}
)
P: /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb2/2-1/2-1:1.0/0003:1EA7:0064.0003/input/input26/mouse1 N: 입력/마우스1 S: 입력/by-id/usb-1ea7_2.4G_Wireless_Mouse-mouse S: 입력/경로별/pci-0000:03:00.0-usb-0:1:1.0-mouse E: DEVLINKS=/dev/input/by-id/usb-1ea7_2.4G_Wireless_Mouse-mouse /dev/input/by-path/pci-0000:03:00.0-usb-0:1:1.0-mouse E: DEVNAME=/dev/input/mouse1 E: DEVPATH=/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb2/2-1/2-1:1.0/0003:1EA7:0064.0003/input/input26/mouse1 E: ID_BUS=USB E: ID_INPUT=1 E: ID_INPUT_MOUSE=1 E: ID_MODEL=2.4G_Wireless_Mouse E: ID_MODEL_ENC=2.4G\x20무선\x20마우스 E: ID_MODEL_ID=0064 E: ID_PATH=pci-0000:03:00.0-usb-0:1:1.0 E: ID_PATH_TAG=pci-0000_03_00_0-usb-0_1_1_0 E: ID_REVISION=0200 E: ID_SERIAL=1ea7_2.4G_Wireless_Mouse E: ID_TYPE=숨김 E: ID_USB_DRIVER=usbhid E: ID_USB_INTERFACES=:030102: E: ID_USB_INTERFACE_NUM=00 E: ID_VENDOR=1ea7 E: ID_VENDOR_ENC=1ea7 E: ID_VENDOR_ID=1ea7 E: 전공=13 E: 마이너=33 E: 하위 시스템=입력 E: USEC_INITIALIZED=77840674
분명히 장치의 속성을 얻기 위해 udev에 쿼리하는 방법에 대해 오해가 있습니다.
내가 착각하고 있는 부분이 누구에게나 있다면 충분히 명확하길 바랍니다. 어떤 의견이라도 환영합니다!
감사해요 !
수학.
답변1
입력 번호가 변경되었습니다( 에서 25
시도한 내용에서 , 26
what 으로). 이는 부팅 시 일정하다는 보장이 없기 때문입니다. 노력하다
udevadm info -q path -n /dev/input/by-id/usb-1ea7_2.4G_Wireless_Mouse-mouse
by-id
예상되는 형식의 경로를 얻기 위해 상수 심볼릭 링크를 사용하면 udev
다음과 같습니다.
udevadm info -a -p /path/you/just/got
경로를 따라 이동하고 모든 속성을 출력합니다(식별하려면 상위 속성을 사용해야 할 수도 있음).
다음을 결합할 수도 있습니다.
udevadm info -a -p $(udevadm info -q path -n /dev/whatever)
답변2
나는 사용했다
udevadm info -a /dev/hidraw0
답변3
대신에 후행 슬래시( /
) 를 제거하십시오.udevadm info -a -p /sys/class/net/enp0s3
udevadm info -a -p /sys/class/net/enp0s3/