私はカーネル4.14(コンピュータ1)でYoctoを使用しています。 2つのUSBポートがあります。
ホスト:USBキーの挿入(大容量記憶装置)
OTG:他のコンピュータに接続する(コンピュータ2)
################ ###############
|USB_KEY|----## COMPUTER 1 ##----## COMPUTER 2##---|screen, keyboard, ...
################ ###############
^ ^
USB link 1 USB link 2
コンピュータ2からコンピュータ1に接続されているUSBフラッシュドライブにアクセスしようとしています。
USB接続2としてg_etherガジェットを使用しており、大容量ストレージガジェットなどの他のガジェットモジュールを使用する必要があります。
コンピュータ1は大容量記憶装置に接続できますか?
ありがとう
答え1
解決策は次のとおりです。
g_multi
編集する:
g_multiはカーネルで「Multi-Function Composite Gadget」と呼ばれるUSBガジェットです。このモジュールには2つのオプションがあります。
< > Multifunction Composite Gadget
[ ] RNDIS + CDC Serial + Storage configuration
[ ] CDC Ethernet + CDC Serial + Storage configuration
私の場合は、最初のオプションを使用します。しかし、CDC Serialを使用する理由はありません。
有効にするには:
modprobe g_multi file=/dev/sda # sda is your USB mass storage device
このコマンドは、ホストデバイスにUSB0ネットワークインターフェイスと大容量ストレージデバイスを作成します。また、CDC Serialを生成します。
configfsで設定されたUSBガジェットを使用します。ドキュメントを参照してください。 ガジェット configfs ドキュメント
この「新しい」USBデバイスシステムを使用すると、必要なすべてのデバイスを選択できます。