Merge pull request #34 from brain-hackers/revise

Ethernet Gadget についての記述のアップデート
This commit is contained in:
Takumi Sueda 2023-07-30 01:17:10 +09:00 committed by GitHub
commit f7f0ec16fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 38 deletions

View File

@ -27,23 +27,18 @@ Linux ディストリビューションは、カーネルとそれ以外のソ
内蔵ハードウェアの対応状況や使い方については[内蔵ハードウェア](#内蔵ハードウェア)をご覧ください。キーマップもそちらに掲載しています。 内蔵ハードウェアの対応状況や使い方については[内蔵ハードウェア](#内蔵ハードウェア)をご覧ください。キーマップもそちらに掲載しています。
|機種 |Linux 起動 |キーボード |注釈| |機種 |Linux 起動 |キーボード |デバイスツリー名|
|:-----|:----------------:|:----------------:|:---| |:-----|:----------------:|:----------------:|:---|
|PW-ACxxx, GCxxx, TC980|||| |PW-ACxxx, GCxxx, TC980||||
|PW-G4000, G5000, G5100, A7000, A9000|||| |PW-G4000, G5000, G5100, A7000, A9000||||
|PW-G4200, G5200 ~ 5300, A7200 ~ 7400, A9100 ~ 9300|:white_check_mark:|:white_check_mark:|| |PW-G4200, G5200 ~ 5300, A7200 ~ 7400, A9100 ~ 9300, GX500, GX300|:white_check_mark:|:white_check_mark:|imx28-pwa7200|
|GX500, GX300|:white_check_mark:|:white_check_mark:|画面が非常に暗くなる| |PW-Sx1, HC4, SR1|:white_check_mark:|:white_check_mark:|imx28-pwsh1|
|PW-Sx1|:white_check_mark:|:white_check_mark:|| |PW-Sx2, HC5|:white_check_mark:|:white_check_mark:|imx28-pwsh2|
|PW-Sx2|:white_check_mark:|:white_check_mark:|| |PW-Sx3, HC6|:white_check_mark:|:white_check_mark:|imx28-pwsh3|
|PW-Sx3|:white_check_mark:|:white_check_mark:|| |PW-Sx4, H7700, SR2|:white_check_mark:|:white_check_mark:|imx28-pwsh4|
|PW-Sx4|:white_check_mark:|:white_check_mark:|| |PW-Sx5, H7800, AA1, AJ1|:white_check_mark:|:white_check_mark:|imx28-pwsh5|
|PW-Sx5|:white_check_mark:|:white_check_mark:|| |PW-Sx6, H8000, AA2, AJ2|:white_check_mark:|:white_check_mark:|imx28-pwsh6|
|PW-Sx6|:white_check_mark:|:white_check_mark:|| |PW-Sx7, H8100, H9100, SR3|:white_check_mark:|:white_check_mark:|imx28-pwsh7|
|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-x1, x2, ESxxxx, SR4|||| |PW-x1, x2, ESxxxx, SR4||||

View File

@ -21,11 +21,15 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
# USB コントローラの動作モードを変更する # USB コントローラの動作モードを変更する
初期状態では Brain の USB コントローラはホストとして動作するため、このままではデバイスになることができません。 初期状態では Brain の USB コントローラはホストとして動作するため、このままではデバイスになることができません。
コントローラの動作モードを切り替えるには brain-config というツールを使います。 コントローラの動作モードを切り替える方法には、brain-config というツールを使う方法と手動でデバイスツリーを書き換える方法があります。
詳しい使い方は[brain-config](/linux/brain-config)のページで確認してください。
# 手動での変更 ## 方法A. brain-config で変更する
`brain-config` による動作モードの切り替え方法については [brain-config](/linux/brain-config) のページを参照してください。
## 方法B. 手動で変更する
手動で変更するには、以下の手順に従ってください。 手動で変更するには、以下の手順に従ってください。
@ -37,16 +41,16 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
2. 元のdtsをバックアップします 2. 元のdtsをバックアップします
{機種名の数字}は適宜置き換えてください。(例:PW-SH5→imx28-pwsh5.dtb `{デバイスツリー名}`の箇所は、[対応機種の表](/beginners/get-started/#対応している機種)でお使いの機種を探して、対応する「デバイスツリー名」列の文字列で置き換えてください。(例:PW-SH5→imx28-pwsh5.dtb
```sh ```sh
sudo cp /boot/imx28-pwsh{機種名の数字}.dtb /boot/imx28-pwsh{機種名の数字}.dtb.orig sudo cp /boot/{デバイスツリー名}.dtb /boot/{デバイスツリー名}.dtb.orig
``` ```
3. dtbファイルをテキスト形式に変換します 3. dtbファイルをテキスト形式に変換します
```sh ```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. 設定を書き換えます 4. 設定を書き換えます
@ -60,19 +64,22 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
書き換え後は以下のようになります。 書き換え後は以下のようになります。
```diff ```diff
ahb@80080000 { usb@80080000 {
usb0: usb@80080000 { compatible = "fsl,imx28-usb\0fsl,imx27-usb";
pinctrl-names = "default"; reg = < 0x80080000 0x10000 >;
pinctrl-0 = <&usb0_id_pins_a>; interrupts = < 0x5d >;
vbus-supply = <&reg_usb0_vbus>; clocks = < 0x03 0x3c >;
- dr_mode = "host"; fsl,usbphy = < 0x1f >;
+ dr_mode = "peripheral"; status = "okay";
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. 編集したものをバイナリ形式に変換します 5. 編集したものをバイナリ形式に変換します
@ -81,7 +88,7 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
``` ```
```sh ```sh
sudo mv dtb /boot/imx28-pwsh{機種名の数字}.dtb sudo mv dtb /boot/{デバイスツリー名}.dtb
``` ```
6. SDカードの第1パーティションアンマウントします 6. SDカードの第1パーティションアンマウントします
@ -96,22 +103,19 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
sudo reboot sudo reboot
``` ```
## コピペ用
1〜3の手順をまとめると以下のようになります。 1〜3の手順をまとめると以下のようになります。
```sh ```sh
sudo mount /dev/mmcblk1p1 /boot sudo mount /dev/mmcblk1p1 /boot
sudo cp /boot/imx28-pwsh{機種名の数字}.dtb /boot/imx28-pwsh{機種名の数字}.dtb.orig sudo cp /boot/{デバイスツリー名}.dtb /boot/{デバイスツリー名}.dtb.orig
dtc -I dtb -O dts /boot/imx28-pwsh{機種名の数字}.dtb > dts 2> /dev/null dtc -I dtb -O dts /boot/{デバイスツリー名}.dtb > dts 2> /dev/null
``` ```
5〜7の手順をまとめると以下のようになります。 5〜7の手順をまとめると以下のようになります。
```sh ```sh
dtc -I dts -O dtb dts > dtb 2> /dev/null 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 umount /boot
sudo reboot sudo reboot
``` ```
@ -119,6 +123,9 @@ sudo reboot
# Brain に Ethernet Gadget を喋らせる # Brain に Ethernet Gadget を喋らせる
sysfs のファイル操作により Ethernet Gadget を有効化します。
Brainux バージョン 2023-07-29-024604 以降では有効化処理が起動時に自動で実行されます。もし手動で有効化したい場合は以下の手順を参照してください。
1. 以下のスクリプトを vi や nano でホームディレクトリに保存します 1. 以下のスクリプトを vi や nano でホームディレクトリに保存します
```sh ```sh
@ -156,7 +163,7 @@ sudo reboot
次回起動時からはこのスクリプトを都度実行します。 次回起動時からはこのスクリプトを都度実行します。
```sh ```sh
./gadget.sh sudo ./gadget.sh
``` ```