こんにちは、USB / Linux の達人です!
Atmel ARM Cortex-A5 CPU に基づく組み込みシステムがあります。高速 USB ポートを USB デバイスとして構成する組み込み Linux カーネル V3.10 を実行します。
USB デバイスは、HID、NDIS イーサネット、および MTP で構成される USB コンポジットとして構成されます。すべてがうまくいっています。
ただし、この組み込みシステムを Windows などのホスト OS にプラグインすると、Windows に新しい MTP デバイスを通知しなければならない状況が発生します。現在、私が知っている唯一の方法は、組み込みシステムから USB ケーブルを物理的に取り外し、再度接続することです。Windows は「新しい」MTP 接続を認識し、デバイス上のファイルを指すフォルダーを開き、すべてがすごい!
プログラムでまったく同じことを行う方法を見つけたいと思います...つまり、イーサネットに「ifconfig」を使用しているかのように、USBデバイスポートをダウンおよびアップします。
USB デバイス ポートの一時停止と再開に使用できるコマンドはありますか?
どうもありがとうございました!
ジャンピエール
PS 私が使用している USB ドライバーは「atmel_usba_udc.c」と呼ばれ、ユーザー空間から呼び出したい「atmel_usba_stop()」や「atmel_usba_start()」などの関数が含まれています。