mirror of
				https://github.com/brain-hackers/wiki.brainux.org
				synced 2025-11-04 14:38:36 +09:00 
			
		
		
		
	Merge pull request #34 from brain-hackers/revise
Ethernet Gadget についての記述のアップデート
This commit is contained in:
		@@ -27,23 +27,18 @@ Linux ディストリビューションは、カーネルとそれ以外のソ
 | 
			
		||||
 | 
			
		||||
内蔵ハードウェアの対応状況や使い方については[内蔵ハードウェア](#内蔵ハードウェア)をご覧ください。キーマップもそちらに掲載しています。
 | 
			
		||||
 | 
			
		||||
|機種  |Linux 起動        |キーボード        |注釈|
 | 
			
		||||
|機種  |Linux 起動        |キーボード        |デバイスツリー名|
 | 
			
		||||
|:-----|:----------------:|:----------------:|:---|
 | 
			
		||||
|PW-ACxxx, GCxxx, TC980||||
 | 
			
		||||
|PW-G4000, G5000, G5100, A7000, A9000||||
 | 
			
		||||
|PW-G4200, G5200 ~ 5300, A7200 ~ 7400, A9100 ~ 9300|:white_check_mark:|:white_check_mark:||
 | 
			
		||||
|GX500, GX300|:white_check_mark:|:white_check_mark:|画面が非常に暗くなる|
 | 
			
		||||
|PW-Sx1|:white_check_mark:|:white_check_mark:||
 | 
			
		||||
|PW-Sx2|:white_check_mark:|:white_check_mark:||
 | 
			
		||||
|PW-Sx3|:white_check_mark:|:white_check_mark:||
 | 
			
		||||
|PW-Sx4|:white_check_mark:|:white_check_mark:||
 | 
			
		||||
|PW-Sx5|:white_check_mark:|:white_check_mark:||
 | 
			
		||||
|PW-Sx6|:white_check_mark:|:white_check_mark:||
 | 
			
		||||
|PW-Sx7|:white_check_mark:|:white_check_mark:||
 | 
			
		||||
|PW-HC4 ~ 6, H7700 ~ H9100|:white_check_mark:|:white_check_mark:||
 | 
			
		||||
|PW-SR1 ~ 3|:white_check_mark:|:white_check_mark:||
 | 
			
		||||
|PW-AA1 ~ 2|:white_check_mark:|:white_check_mark:||
 | 
			
		||||
|PW-AJ1 ~ 2|:white_check_mark:|:white_check_mark:||
 | 
			
		||||
|PW-G4200, G5200 ~ 5300, A7200 ~ 7400, A9100 ~ 9300, GX500, GX300|:white_check_mark:|:white_check_mark:|imx28-pwa7200|
 | 
			
		||||
|PW-Sx1, HC4, SR1|:white_check_mark:|:white_check_mark:|imx28-pwsh1|
 | 
			
		||||
|PW-Sx2, HC5|:white_check_mark:|:white_check_mark:|imx28-pwsh2|
 | 
			
		||||
|PW-Sx3, HC6|:white_check_mark:|:white_check_mark:|imx28-pwsh3|
 | 
			
		||||
|PW-Sx4, H7700, SR2|:white_check_mark:|:white_check_mark:|imx28-pwsh4|
 | 
			
		||||
|PW-Sx5, H7800, AA1, AJ1|:white_check_mark:|:white_check_mark:|imx28-pwsh5|
 | 
			
		||||
|PW-Sx6, H8000, AA2, AJ2|:white_check_mark:|:white_check_mark:|imx28-pwsh6|
 | 
			
		||||
|PW-Sx7, H8100, H9100, SR3|:white_check_mark:|:white_check_mark:|imx28-pwsh7|
 | 
			
		||||
|PW-x1, x2, ESxxxx, SR4||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -21,11 +21,15 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
 | 
			
		||||
# USB コントローラの動作モードを変更する
 | 
			
		||||
 | 
			
		||||
初期状態では Brain の USB コントローラはホストとして動作するため、このままではデバイスになることができません。
 | 
			
		||||
コントローラの動作モードを切り替えるには brain-config というツールを使います。
 | 
			
		||||
詳しい使い方は[brain-config](/linux/brain-config)のページで確認してください。
 | 
			
		||||
コントローラの動作モードを切り替える方法には、brain-config というツールを使う方法と手動でデバイスツリーを書き換える方法があります。
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# 手動での変更
 | 
			
		||||
## 方法A. brain-config で変更する
 | 
			
		||||
 | 
			
		||||
`brain-config` による動作モードの切り替え方法については [brain-config](/linux/brain-config) のページを参照してください。
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## 方法B. 手動で変更する
 | 
			
		||||
 | 
			
		||||
手動で変更するには、以下の手順に従ってください。
 | 
			
		||||
 | 
			
		||||
@@ -37,16 +41,16 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
 | 
			
		||||
 | 
			
		||||
2. 元のdtsをバックアップします
 | 
			
		||||
 | 
			
		||||
   {機種名の数字}は適宜置き換えてください。(例:PW-SH5→imx28-pwsh5.dtb)
 | 
			
		||||
   `{デバイスツリー名}`の箇所は、[対応機種の表](/beginners/get-started/#対応している機種)でお使いの機種を探して、対応する「デバイスツリー名」列の文字列で置き換えてください。(例:PW-SH5→imx28-pwsh5.dtb)
 | 
			
		||||
 | 
			
		||||
   ```sh
 | 
			
		||||
   sudo cp /boot/imx28-pwsh{機種名の数字}.dtb /boot/imx28-pwsh{機種名の数字}.dtb.orig
 | 
			
		||||
   sudo cp /boot/{デバイスツリー名}.dtb /boot/{デバイスツリー名}.dtb.orig
 | 
			
		||||
   ```
 | 
			
		||||
 | 
			
		||||
3. dtbファイルをテキスト形式に変換します
 | 
			
		||||
 | 
			
		||||
   ```sh
 | 
			
		||||
   dtc -I dtb -O dts /boot/imx28-pwsh{機種名の数字}.dtb > dts 2> /dev/null
 | 
			
		||||
   dtc -I dtb -O dts /boot/{デバイスツリー名}.dtb > dts 2> /dev/null
 | 
			
		||||
   ```
 | 
			
		||||
 | 
			
		||||
4. 設定を書き換えます
 | 
			
		||||
@@ -60,19 +64,22 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
 | 
			
		||||
   書き換え後は以下のようになります。
 | 
			
		||||
 | 
			
		||||
   ```diff
 | 
			
		||||
   ahb@80080000 {
 | 
			
		||||
           usb0: usb@80080000 {
 | 
			
		||||
                   pinctrl-names = "default";
 | 
			
		||||
                   pinctrl-0 = <&usb0_id_pins_a>;
 | 
			
		||||
                   vbus-supply = <®_usb0_vbus>;
 | 
			
		||||
   -               dr_mode = "host";
 | 
			
		||||
   +               dr_mode = "peripheral";
 | 
			
		||||
                   status = "okay";
 | 
			
		||||
           };
 | 
			
		||||
   usb@80080000 {
 | 
			
		||||
           compatible = "fsl,imx28-usb\0fsl,imx27-usb";
 | 
			
		||||
           reg = < 0x80080000 0x10000 >;
 | 
			
		||||
           interrupts = < 0x5d >;
 | 
			
		||||
           clocks = < 0x03 0x3c >;
 | 
			
		||||
           fsl,usbphy = < 0x1f >;
 | 
			
		||||
           status = "okay";
 | 
			
		||||
           pinctrl-names = "default";
 | 
			
		||||
           pinctrl-0 = < 0x20 >;
 | 
			
		||||
           vbus-supply = < 0x21 >;
 | 
			
		||||
   -       dr_mode = "host";
 | 
			
		||||
   +       dr_mode = "peripheral";
 | 
			
		||||
   };
 | 
			
		||||
   ```
 | 
			
		||||
 | 
			
		||||
   書き換えられたら保存してエディタを終了します。`Ctrl+O`の次に`Enter`を押して保存して、`Ctrl+X`で終了します。
 | 
			
		||||
   書き換えたら保存してエディタを終了します。`Ctrl+O`の次に`Enter`を押して保存して、`Ctrl+X`で終了します。
 | 
			
		||||
 | 
			
		||||
5. 編集したものをバイナリ形式に変換します
 | 
			
		||||
 | 
			
		||||
@@ -81,7 +88,7 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
 | 
			
		||||
   ```
 | 
			
		||||
 | 
			
		||||
   ```sh
 | 
			
		||||
   sudo mv dtb /boot/imx28-pwsh{機種名の数字}.dtb
 | 
			
		||||
   sudo mv dtb /boot/{デバイスツリー名}.dtb
 | 
			
		||||
   ```
 | 
			
		||||
 | 
			
		||||
6. SDカードの第1パーティションアンマウントします
 | 
			
		||||
@@ -96,22 +103,19 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
 | 
			
		||||
   sudo reboot
 | 
			
		||||
   ```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## コピペ用
 | 
			
		||||
 | 
			
		||||
1〜3の手順をまとめると以下のようになります。
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
sudo mount /dev/mmcblk1p1 /boot
 | 
			
		||||
sudo cp /boot/imx28-pwsh{機種名の数字}.dtb /boot/imx28-pwsh{機種名の数字}.dtb.orig
 | 
			
		||||
dtc -I dtb -O dts /boot/imx28-pwsh{機種名の数字}.dtb > dts 2> /dev/null
 | 
			
		||||
sudo cp /boot/{デバイスツリー名}.dtb /boot/{デバイスツリー名}.dtb.orig
 | 
			
		||||
dtc -I dtb -O dts /boot/{デバイスツリー名}.dtb > dts 2> /dev/null
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
5〜7の手順をまとめると以下のようになります。
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
dtc -I dts -O dtb dts > dtb 2> /dev/null
 | 
			
		||||
sudo mv dtb /boot/imx28-pwsh{機種名の数字}.dtb
 | 
			
		||||
sudo mv dtb /boot/{デバイスツリー名}.dtb
 | 
			
		||||
sudo umount /boot
 | 
			
		||||
sudo reboot
 | 
			
		||||
```
 | 
			
		||||
@@ -119,6 +123,9 @@ sudo reboot
 | 
			
		||||
 | 
			
		||||
# Brain に Ethernet Gadget を喋らせる
 | 
			
		||||
 | 
			
		||||
sysfs のファイル操作により Ethernet Gadget を有効化します。
 | 
			
		||||
Brainux バージョン 2023-07-29-024604 以降では有効化処理が起動時に自動で実行されます。もし手動で有効化したい場合は以下の手順を参照してください。
 | 
			
		||||
 | 
			
		||||
1. 以下のスクリプトを vi や nano でホームディレクトリに保存します
 | 
			
		||||
 | 
			
		||||
    ```sh
 | 
			
		||||
@@ -156,7 +163,7 @@ sudo reboot
 | 
			
		||||
   次回起動時からはこのスクリプトを都度実行します。
 | 
			
		||||
 | 
			
		||||
   ```sh
 | 
			
		||||
   ./gadget.sh
 | 
			
		||||
   sudo ./gadget.sh
 | 
			
		||||
   ```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user