USB ケーブルと Windows 経由でインターネットに接続する
使用した機材
PW-SH1
Windows10 21H2
USB TypeA - Micro B ケーブル
Brain 側の設定
要点
1.デバイスツリーのUSBコントローラをperipheralモードに変更してから起動する
dr_mode = "host" -> "peripheral に変更
puhitaku.icon USBのIDピンが結線されていないため自動切り替えはできない
2. Brain起動後、ログインしてGadget起動スクリプトを動作させるまで有効にならない
sudo 必須
puhitaku.iconGadget の設定を自動化するスクリプトがプリインされました
3.DTBの書き換えはdevice tree compilerをBrainにインストールしてもできるし、他のLinuxやWSL2にインストールしてもできる
Windows 10 側の設定
要点
1.Gadget接続でUSBとして認識されるが、デバイスドライバーは手動インストール
2.インターネットとIPv4を通すためにはネットワークの共有が必要
手順
2. PCとBrainをUSBケーブルで接続しデバイスマネージャーで認識されていることを確認。「ほかのデバイス」中の「RNDIS」がBrainにあたる。
3. 「!RNDIS」を右クリック→「ドライバーの更新」に進む
https://gyazo.com/bd1160f56bf2f8c3d0a188bf0a703719
4. 開いた画面で「コンピュータを参照して……」→「コンピュータ上の利用可能な……」→「ネットワークアダプタ」→「Microsoft」→「USB RNDIS Adapter」もしくは「リモート NDIS 互換デバイス」と辿り、ドライバをインストール
https://gyazo.com/ee6eeeaf7866e3099093b685b2c8768b
https://gyazo.com/daee2e7231720efc02714299f4989d56
https://gyazo.com/67c492558837e9ebaacc2717f8498066
5. コントロールパネルから「ネットワークとインターネット」→「ネットワークと共有センター」→「アダプターの設定の変更」に進む
https://gyazo.com/dad1eb1562473c699b377650cbd1900e
6. 開いた画面でPCのインターネット接続に利用しているアダプタを右クリック→「プロパティ」→「共有」タブ→「ネットワークのほかのユーザーに……」にチェックを入れ、「USB RNDIS Adapter」のドライバで動いているアダプタを選択
https://gyazo.com/9bcee99506f90feefa10e63892a2ce47
7. USBケーブルで接続してからbrainでGadgetを起動すれば "USB Composite Device" が認識される。
8. pingなどで疎通確認してみる
メモ
HostモードとPeripheralモードのDTBファイル imx28-pwsh1-usbgadget.dtb と imx28-pwsh1-usbhost.dtb を作っておき、setdtb で次回自動時のUSBモードを切り換えられるようにした。 puhitaku.icon 20230724 現在は brain-config で等価なことができるのでこの必要はないです
インターネット共有 (L3, NAT経由) ではなくブリッジ接続 (L2) でも出来るが、ネット接続不可になったりWifi接続だと自動OFF機能で遮断されたりと、問題が発生しやすい。
共有接続した場合のWindows側のIPv4アドレスは192.168.137.1に固定される。
Win側で起動したPulseAudioServerへbrainとWin内のWSLからこのアドレス宛てで接続できた。
https://gyazo.com/4b89267ac9f8e66b84e1919dcd8c7193