기기 ATTR{name} 변경을 위한 Udev 규칙

기기 ATTR{name} 변경을 위한 Udev 규칙

특정 장치에 대한 기본 ATTR{이름}[장치 노드의 이름이 아님]을 변경하는 방법이 있습니까? 이를 위해 udev 규칙을 작성하는 간단한 솔루션은 결국 권한 오류를 발생시키게 되므로 이것이 올바른 접근 방식인지 궁금합니다.

답변1

어떤 유형의 장치에 따라 다름

입력장치(키보드)입니다

아니요, 커널을 다시 작성하지 않고는 불가능합니다.

이 파일은 읽기 전용입니다.

$ ls -l /sys/class/input/input0/name
-r--r--r--. 1 root root 4096 Feb  6 12:03 /sys/class/input/input0/name

입력 장치의 이름을 설정하는 ioctl()은 없습니다(그것을 얻기 위해서만).

https://github.com/torvalds/linux/blob/v4.20/include/uapi/linux/input.h#L124

일반 장치 수준에서 드라이버가 특정 장치를 감지하면 특정 장치에 대한 매개변수를 전달할 수 없습니다. 특정 장치에서 드라이버 바인딩을 해제하고 수동으로 바인딩을 시도할 수 있지만 바인딩할 때 매개변수를 전달할 수는 없습니다. LWN.net 기사를 참조하세요.드라이버를 수동으로 바인딩 및 바인딩 해제.

관련 정보