コンピュータがホストの代わりに仮想USBスレーブデバイスとして機能することを許可する

コンピュータがホストの代わりに仮想USBスレーブデバイスとして機能することを許可する

仮想ハードドライブ(特にfreeNASをインストールするとき)を電話やビデオゲームコンソールなどの外部デバイス用のUSB大容量記憶装置周辺機器として使用する場合があります。私の考えは、設定からすべてのUSBストレージデバイスを削除し、代わりにNASの一部として仮想化して、定期的なバックアップルーチンの一部として簡単に作成することでした。

USBが対称設定ではないことに気づいたので、NASにスレーブポートが必要でした。また、これは実際のUSBコントローラカードで行われるため、USBポートをスレーブポートとして「使用」する実際の方法はありません。

私の質問は、ハードウェア、ソフトウェア、またはそれらの組み合わせでこれを達成するためのどのようなエミュレーションまたは変換方法がありますか?スレーブポートを操作できる場合は、大容量ストレージモードでLinux USB-gadget APIを使用できるようです。しかし、USBスレーブやUSB-OTGをサポートするいかなる種類の拡張カードも見つからないようで、この設定で動作する他のハードウェアソリューションもないようです。

誰にもポインターがありますか?

編集:そのようなデバイスは動作しますか?

http://www1.plxtech.com/products/usbcontrollers/usb3382

ベストアンサー1

「一括ストレージガジェット」のドキュメントを確認してください。これが出発点になる可能性があります。 https://www.kernel.org/doc/html/latest/usb/mass-storage.html

仮想USBデバイスをホストするコンピュータのハードウェアについては、特別なものは必要ありません。私もこれについて研究してみた結果、市販されているほとんどのUSB-CコントローラがUSBデバイス(ホストではない)モードに入ることができるようです。 USB-Cポートを搭載したAppleコンピュータには、ターゲットディスクモードをサポートする正しいチップがあります。 「Black Apple」(macOSを実行しているApple以外のコンピュータ)群衆は、このチップがどれほど一般的であるかを証明しています。 Black Appleは、この機能がオペレーティングシステムの一部ではないため、ターゲットディスクモードに入ることはできません。 Appleはこの機能をファームウェアに入れます。これにより、コンピュータが起動できないコンピュータを修正するためにこのモードに入ることができます。

ここに追加する内容はあまりありません。これまで私が知っているのは、Linuxコンピュータが仮想USBデバイスとして機能する機能を開発する「USBガジェット」というプロジェクトがあるということだけです。この作業を実行するために必要なハードウェアはかなり一般的であることがわかっており、ますます多くのラップトップがUSB-Cを電源入力ポートとして使用しています。 USB電源を正しく動作させるには、電源を供給する「ホスト」と電源を受け取る「デバイス」が必要です。各USB-PD電源装置は、接続されているすべてのデバイス(たとえば、USB-Cを電源入力ポートとして使用するノートブック)への電源供給をネゴシエートするUSB​​ホストです。

おすすめ記事