Move all posts into collections and update Liquid templates

This commit is contained in:
Takumi Sueda
2022-12-12 22:13:06 +09:00
parent dd5047c282
commit 9927d52aeb
21 changed files with 156 additions and 99 deletions

24
collections/_tips/otg.md Normal file
View File

@@ -0,0 +1,24 @@
---
title: OTG ケーブル
categories:
- Tips
tags:
- 周辺機器
- USB
excerpt: 動作可否が確認されたケーブルの一覧
---
# 使える USB OTG ケーブル一覧
Brainux の初期状態では、USB コントローラはホストとして動作するようになっています。OTG ケーブルを使用すると好きなデバイスを接続できます。Brain 自身は VBUS (5V) を供給する能力はないので、電源が別途供給可能な OTG ケーブルを使用する必要があります。
- [RouteR RUH-OTGU4](https://amz.run/4Kue)
- [AINEX USB-120R](https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-5EHA)
- [CY 90度左右角度付きMicro USB 2.0 OTGホストアダプター](https://amz.run/4LXg)
# 使えない USB OTG ケーブル一覧
- [Easi-Cable](https://amz.run/4KqD)

41
collections/_tips/swap.md Normal file
View File

@@ -0,0 +1,41 @@
---
title: Swap 領域
categories:
- Tips
- Linux
tags:
- Linux
excerpt: ""
---
# スワップの作成を推奨します
Brain の DRAM は 128MB しかないので、簡単にメモリが食いつぶされます。OOM Killer により重要なプロセスを終了される危険があるため、スワップを作成することをお勧めします。
2021年2月23日現在のリリースではまだスワップ領域を標準で設定していません。Brain Hackers では将来のリリースで最初からスワップを設定することを検討しています。
# 作成方法
1. 以下のコマンドを実行して、スワップのための領域を確保します
今回の例では、256MBこれ以上を推奨の領域を確保しています。ほかの容量にしたい場合は適宜 `bs``count` の値を変えてください。
```sh
dd if=/dev/zero of=/swapfile bs=1M count=256
chmod 0600 /swapfile
```
2. スワップ領域を初期化します
```sh
mkswap /swapfile
```
3. スワップ領域を有効にします
```sh
swapon /swapfile
```

View File

@@ -0,0 +1,100 @@
---
title: タッチパネル
categories:
- Tips
- Linux
tags:
- Linux
- GUI
- 周辺機器
excerpt: タッチパネルのキャリブレーションBrainux に同梱されているため手動インストールは不要)
---
# 必要なパッケージのインストール
```sh
apt install xserver-xorg-input-evdev xinput-calibrator
```
を実行して、必要なパッケージをインストールします。
# Xorgとopenboxの起動
```sh
Xorg &
openbox-session &
```
を実行して、Xorgとopenboxを起動します。
# タッチパネル補正ツールの起動
```sh
xinput_calibrator
```
画面上に補正画面が表示されます。
![xinput-calibratorの画面](/assets/images/xinput-calibrator.png)
# 補正する
画面上の 赤い十字 を**丁寧に** 4回タッチすると、補正用の設定項目が端末に出力されます。
```plaintext
Setting calibration data: 0, 4095, 0, 4095
Calibrating EVDEV driver for "mxs-lradc-ts" id=6
current calibration values (from XInput): min_x=0, max_x=4095 and min_y=0, max_y=4095
Doing dynamic recalibration:
Setting calibration data: 147, 3618, 3826, 350
--> Making the calibration permanent <--
copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)
Section "InputClass"
Identifier "calibration"
MatchProduct "mxs-lradc-ts"
Option "Calibration" "147 3618 3826 350"
Option "SwapAxes" "0"
EndSection
```
# 設定ファイルを作成・保存する
`/etc/X11/xorg.conf.d`を作成します。
```sh
mkdir /etx/X11/xorg.conf.d
```
xinput_calibratorの出力に従って、`/etc/X11/xorg.conf.d/99-calibration.conf`
`Section "InputClass"` から `EndSection`までの行を nano や vi を用いて書き出します。
```plaintext
Section "InputClass"
Identifier "calibration"
MatchProduct "mxs-lradc-ts"
Option "Calibration" "147 3618 3826 350"
Option "SwapAxes" "0"
EndSection
```
# Xorgの再起動
```sh
pkill Xorg
Xorg &
openbox-session &
```
でXorgを再起動します。
# 完成
![ちゃんとタッチした場所にカーソルが来ています](/assets/images/calibrator-done.gif)

View File

@@ -0,0 +1,167 @@
---
title: USB Ethernet Gadget
categories:
- Tips
- Linux
tags:
- Linux
- USB
- 周辺機器
excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとその導入方法
---
# USB Gadget とは?
コンピュータがあたかも USB デバイスであるかのように振る舞うしくみです。
# Why USB Gadget?
インターネットに接続可能なPCと Brain を接続するだけで Brain からインターネットに出たり、PCと Brain で双方向に SSH したりできます。電池切れの心配もありません。
# USB コントローラの動作モードを変更する
初期状態では Brain の USB コントローラはホストとして動作するため、このままではデバイスになることができません。
2022年1月8日現在ではまだありませんが、コントローラの動作モードを簡単に切り替えるスクリプトを用意する予定です。
手動で変更するには、以下の手順に従ってください。
1. SDカードの第1パーティションを`/boot`にマウントします
```sh
sudo mount /dev/mmcblk1p1 /boot
```
2. 元のdtsをバックアップします
{機種名の数字}は適宜置き換えてください。(例:PW-SH5→imx28-pwsh5.dtb
```sh
sudo cp /boot/imx28-pwsh{機種名の数字}.dtb /boot/imx28-pwsh{機種名の数字}.dtb.orig
```
3. dtbファイルをテキスト形式に変換します
```sh
dtc -I dtb -O dts /boot/imx28-pwsh{機種名の数字}.dtb > dts 2> /dev/null
```
4. 設定を書き換えます
```sh
nano dts
```
`usb@80080000`ノードの中から`dr_mode = "host"`の箇所を探し、`dr_mode = "peripheral"`に書き換えます。スペルに注意しましょう。
書き換え後は以下のようになります。
```diff
ahb@80080000 {
usb0: usb@80080000 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_id_pins_a>;
vbus-supply = <&reg_usb0_vbus>;
- dr_mode = "host";
+ dr_mode = "peripheral";
status = "okay";
};
};
```
書き換えられたら保存してエディタを終了します。`Ctrl+O`の次に`Enter`を押して保存して、`Ctrl+X`で終了します。
5. 編集したものをバイナリ形式に変換します
```sh
dtc -I dts -O dtb dts > dtb 2> /dev/null
```
```sh
sudo mv dtb /boot/imx28-pwsh{機種名の数字}.dtb
```
6. SDカードの第1パーティションアンマウントします
```sh
sudo umount /boot
```
7. 再起動します
```sh
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
```
5〜7の手順をまとめると以下のようになります。
```sh
dtc -I dts -O dtb dts > dtb 2> /dev/null
sudo mv dtb /boot/imx28-pwsh{機種名の数字}.dtb
sudo umount /boot
sudo reboot
```
# Brain に Ethernet Gadget を喋らせる
1. 以下のスクリプトを vi や nano でホームディレクトリに保存します
```sh
#!/bin/sh
g=/sys/kernel/config/usb_gadget/eth
mkdir ${g}
mkdir ${g}/functions/rndis.rn0
echo "8a:15:8b:44:3a:02" > ${g}/functions/rndis.rn0/dev_addr
echo "8a:15:8b:44:3a:01" > ${g}/functions/rndis.rn0/host_addr
mkdir ${g}/configs/c.1
ln -s ${g}/functions/rndis.rn0 ${g}/configs/c.1/
echo "ci_hdrc.0" > ${g}/UDC
sleep 1
ifconfig usb0 up
sleep 1
dhclient
```
2. スクリプトに実行属性を付けます
ここではスクリプト名を `gadget.sh` としています。1. で保存した名前に置き換えてください。
```sh
chmod +x gadget.sh
```
3. 実行します
次回起動時からはこのスクリプトを都度実行します。
```sh
./gadget.sh
```
# PC側の対応作業
Windows / Mac / Linux すべてで利用可能です。(注: 2021年2月23日現在、上記スクリプトでは Windows と macOS で認識しないことを確認しており、修正予定です)
PCを通してインターネットへ出るために、ネットワーク接続の共有設定が必要になります。OS ごとに設定方法は異なりますので、別途設定してください。

View File

@@ -0,0 +1,44 @@
---
title: Web ブラウザ
categories:
- Tips
- Linux
tags:
- Linux
- GUI
excerpt: Brainux で利用可能な Web ブラウザについて
---
# グラフィカルブラウザ
**グラフィカルブラウザを使うのは困難です!** PW-Sx7 までの Brain が搭載している SoC は初代 Raspberry Pi のクロック周波数の約半分の速度で動作し、メモリ容量も半分以下の 128MB しかありません。つまり、インターネットブラウジングは非現実的です。たとえば、[極めて高速に表示されることで有名な著名人のサイト](http://abehiroshi.la.coocan.jp/)の表示に実測15秒ほどかかります。また、Twitter は表示不可能です。
## NetSurf
バージョン 2022-05-17-020127 にて Web ブラウザに NetSurf を追加しました。以下のコマンドを実行すると NetSurf が起動します。
```sh
netsurf &
```
## Midori
代表的な軽量なブラウザの選択肢に Midori があります。Brainux にはプリインストールされています。Xorg が起動している状態で、以下のコマンドを実行すると Midori が起動します。
```sh
DISPLAY=:0 midori
```
## Surf
[`surf`](https://surf.suckless.org/) も動作することを確認していますが、Midori と速度はほとんど変わりません。
# テキストブラウザ
Lynx や w3m はスムーズに動作します。現実的なスピードで Web サイトを閲覧するにはこれらをお勧めします。