ホットプラグ/コールドプラグ中に実際に使用できるudevプロパティは何ですか?

ホットプラグ/コールドプラグ中に実際に使用できるudevプロパティは何ですか?

Udevはデバッグするのが難しいです。 - システム起動中の元の環境は、後で再実行している間は常に環境から少しずつ外れます。

だから私は試行錯誤ではなくudevの理解に基づいてudevルールを作成しようとしています。

大きな質問は次のとおりです。ホットプラグ/コールドプラグ中にどのudev属性を使用できますか?

混乱は、次の2つのコマンドに由来します。

udevadm test /sys/class/net/wlx801f024ddc32
udevadm info --attribute-walk --path=/sys/class/net/wlx801f024ddc32

たとえば、両方とも list SUBSYSTEMudev-rules で動作することがわかります。ただし、前者のみでDEVTYPE(少なくともWLANデバイスの場合)、後者のみですKERNEL

実際に起動中にDEVTYPE(たとえば「wlan」)が必要ですが、ルールが適用されると使用できないようです。

答え1

これが私の理解です:

  • udevadm info -a:属性ATTRS{}とデバイス階層を表示します。
  • udevadm test: ENV{}udev 処理中の変数を表示します。

同じタイプの情報を表示しません。 DEVTYPE変数が存在する可能性があるため、テストする必要がありますENV{DEVTYPE}=="wlan"。ただし、ENV {}変数はudev処理中に徐々に生成されることを考慮する必要があります。したがって、ルールの順序が重要です。ルールは、ENV{DEVTYPE}他のルールが作成された後に表示する必要があります。

次のコマンドを使用して "udev_actions.txt"ファイルを分析して、オブジェクトの順序を推論できます。その後、テスト用に「.rules」ファイルに最適な番号を指定できますENV{DEVTYPE}

$ sudo udevadm test $DEVPATH 1> udev_ENV.txt 2> udev_actions.txt

関連情報