여기서 최종 목표는 마우스 플러그의 터치패드를 켜거나 끄는 것이므로 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/
그리고 이런 결과를 얻었습니다
시스템 경로를 찾을 수 없습니다.
일부 속성을 얻을 수 있었던 유일한 방법은 다음 명령을 사용하는 것이었습니다.
$ 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
노력하다
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/