デバイス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の記事を参照してください。ドライバを手動でバインディングとバインド解除

関連情報