私は、zedboard のようなプラットフォーム上で組み込み Linux を実行しています。そこに接続されるさまざまなデバイス用の udev ルールを作成する必要があります。
カーネルに gadgetfs と configfs が組み込まれており、モジュールとしてビルドされています。モジュールをロードすると、ラップトップやその他のデバイスへの USB 経由イーサネットなど、適切な USB デバイスを使用できるようになります。
問題は、ホットプラグをサポートしたいときに発生し、そのために udev ルールを使用する必要があります。そのため、udevadm monitor を実行しましたが、USB デバイスが接続されたときにカーネルまたは udev トリガーが表示されません。モジュールをロードすると、モジュールがロードされるときに USB デバイスのカーネル/udev トリガーが表示されます。
これは正常な動作ですか? サポートできるモジュールがあるかどうかに関係なく、カーネルはトリガーを介して USB が接続されたことを報告する必要があると考えました。通常の USB ドライバーもカーネルに組み込まれていますが、まったく動作しないようです。そのため、gadgetfs と configfs を使用することにしました。
ガジェット モジュールがロードされていないと、udev にトリガー イベントが表示されない理由をご存知の方はいませんか? USB が接続されたときにトリガー イベントが表示されない場合は、ホット プラグを自動化できません。
私の USB コントローラーは chipidea で、OTG モードで使用しています。