この質問には 2 つの要素があります。
1- USB デバイスからドライバーを手動で切り離し、別のドライバーを接続するにはどうすればよいですか? たとえば、接続時に自動的に usb-storage ドライバーを使用するデバイスがあります。
// usbview 出力
Vendor Id: xxxx
Product Id: xxxx
...
Number of Interfaces: 2
Interface Number: 0
Name: usb-storage
Number of Endpoints: 2
...
Interface Number: 1
Name: (none)
Number of Endpoints: 2
...
usb-storage ドライバーを使用したくないので、libusb ライブラリーを使用して usb-storage ドライバーをデタッチし、インターフェースを要求するホスト上でアプリケーションを実行しています。その後、USB デバイスとホスト Linux システムで実行されているアプリケーションとの間でデータを送受信できます。
アプリケーションの外部でドライバーを手動で切り離すにはどうすればよいですか?
2- デバイス プラグインに接続するドライバーを自動的に割り当てるにはどうすればよいですか。現在、デバイスのアクセス許可を自動的に設定する udev ルールをセットアップしています。
SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx", MODE="0666"
udev ルールを使用して、USB デバイスの特定のインターフェイスにドライバーを割り当てることはできますか? たとえば、usbnet モジュールを usb-storage の代わりにインターフェイス 0 で自動的に使用したい場合、udev でそれは可能ですか?
ありがとう、
(StackExchange が異なるサイトでどのように機能するか、またはそれらがすべて同じであるかについて少し混乱しています。これは Linux の質問なので、Unix と Linux にも投稿されました。ここにも投稿すべきではない場合は、ご容赦ください。しかし、StackOverflow は Linux も扱うので...)