用于更改设备 ATTR{name} 的 Udev 规则

用于更改设备 ATTR{name} 的 Udev 规则

有没有办法更改给定设备的默认 ATTR{name} [不是设备节点的名称]。编写 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 文章,手动绑定和解绑驱动

相关内容