Linuxガジェットドライバとハードウェアを使用してUSBデバイスにすることをお勧めします。ガジェットドライバでは、コンピュータをあらゆる種類のデバイスと「ふりをする」ことができます。テスト中のシステムには、ガジェットボックスへのUSB OTGケーブルが1つあります。あなたのガジェットボックスが適切なハードウェアを持っている場合は、ケーブルのプラグを抜く必要はありません。 「ガジェットボックス」は、Linuxを実行しているデスクトップ/ラップトップ(USB OTGをサポートしている場合)、またはAndroidの電話機やラズベリーパイなどです。 (。。ケーブルフィットは、それがUSB OTG用に正しく配線さだという意味ではありませんという理由だけでケーブルが吸うそのUSBを注意してください)
あなたは右のUSB OTGハードウェアを持っていたら、ガジェットのボックスは、すべてのソフトウェアである:
1)テスト対象のデバイスがOTGをサポートしている場合は、ガジェットボックスがUSBホストにならないようにしてください。 (テスト対象のデバイスがUSBクライアントになります)。 usb_storage
などが自動的に読み込まれないようにしてください。
2)デフォルトでは、カーネルはUSBハブ、USBイーサネット、USBシリアルポート、USBスティック用のガジェットをサポートしています。適切なモジュールをガジェットボックスにロードするだけで、「うまくいく」ことができます。たとえば、USBスティックを作成するには、「insmod g_file_storage.ko file=/dev/ram0
」のような操作を行います。あなたはUSBスティックを差し込んだと思うでしょう。シリアルデバイスの場合
、ガジェットでは、/ dev/USBx」とテスト対象デバイスへの会談で「受話器を取る」というユーザ空間のコードを実行することができます。(おそらく4Gモデムまたは何をエミュレートする。)
製造元がUSBを理解するのが面倒すぎるため、たくさんのデバイスが実際には「USBシリアル」になっています。
3)少しの再コンパイルや設定では、さまざまなUSBのふりをする一般的なガジェットデバイスこれらのデバイスの一般的なバージョンでテストしています。
"実際のハードウェアに対するテスト"と同じではありません。
4)カーネルにまだないデバイスタイプ(WiFiなど)については、あなた自身である。十分な血液の汗と涙で、あなたは自分のガジェットタイプを書くことができます。 (理想的には、できるだけユーザー空間に保管し、カーネルのパフォーマンス上重要な部分のみを処理してください。)
注意:USBを同時に理解することは不可能です。
残念ながら私はコードにアクセスできません。カーネルモジュールを追加してテストアプリケーションを実行するだけです。テストはリモートサーバー上で実行されます –