WindowsからLinuxにMonoアプリケーションを移植しています。アプリケーションは外部ボードと通信します。ボードは3つの仮想シリアルポートとして表示されます。誰もが別の役割を果たします。
アプリケーションはこれらのポートを自動的に検出します。 ieで構造と情報を渡すことはできますか/sys/bus/usb/
?他のLinuxディストリビューションでも同じですか?
答え1
はい、ディストリビューション全体で同じ構造を使用できます/sys/bus/usb/
。なぜなら、カーネルだけに依存して十分に成熟し、今後のカーネルバージョンで変更される可能性が低いからです(しかし誰が知っていますか…)。
しかし、これは問題を解決する誤った方法です。正しいアプローチは、udev
アプリケーションにカスタムルールを含め、udev
インストール中にこのルールが正しい場所にコピーされていることを確認することです(通常、デプロイメント/etc/udev/rules.d
によって異なる場合があります。疑わしい場合は、ユーザーが設定するようにしてください)。ルールは、udev
ボードを一意に識別するすべての情報(ベンダー/デバイスIDなど)を使用して、/dev/disks
3つのシリアルデバイスにシンボリックリンク(に示されているものと同様)を割り当てることができます。アプリケーションはシンボリックリンクを使用する必要があります。
ピンチでは、Ryle用に計画されたUSBツリー構造を使用することもできます。udevadm info --attribute-walk ...
デバイスのプロパティのリストについては、リソースを参照してください。