From 8ffe9a50660d084a013410a3fc93e74efacf6c69 Mon Sep 17 00:00:00 2001 From: Takumi Sueda Date: Tue, 23 Feb 2021 20:29:16 +0900 Subject: [PATCH] Compose tips --- Home.md | 3 ++ Tips>USB Ethernet Gadget.md | 70 ++++++++++++++++++++++++++++++++++++ Tips>Xorgの動かし方.md | 42 ++++++++++++++++++++++ _Sidebar.md | 3 ++ 4 files changed, 118 insertions(+) create mode 100644 Tips>USB Ethernet Gadget.md create mode 100644 Tips>Xorgの動かし方.md diff --git a/Home.md b/Home.md index b38476b..241b804 100644 --- a/Home.md +++ b/Home.md @@ -8,6 +8,9 @@ # Linux - [SDカードにコピー](Linux%EF%BC%9ESD%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AB%E3%82%B3%E3%83%94%E3%83%BC) - [ビルド](Linux%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89) +# Tips + - [USB Ethernet Gadget](Tips%EF%BC%9EUSB-Ethernet-Gadget) + - [Xorgの動かし方](Tips%EF%BC%9EXorg%E3%81%AE%E5%8B%95%E3%81%8B%E3%81%97%E6%96%B9) # U‐Boot - [ビルド](U%E2%80%90Boot%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89) - [起動 (EBOOT)](U%E2%80%90Boot%EF%BC%9E%E8%B5%B7%E5%8B%95-%28EBOOT%29) diff --git a/Tips>USB Ethernet Gadget.md b/Tips>USB Ethernet Gadget.md new file mode 100644 index 0000000..29ba265 --- /dev/null +++ b/Tips>USB Ethernet Gadget.md @@ -0,0 +1,70 @@ + + +### 目次 + +- [USB Gadget とは?](#usb-gadget-%E3%81%A8%E3%81%AF) +- [Why USB Gadget?](#why-usb-gadget) +- [Brain に Ethernet Gadget を喋らせる](#brain-%E3%81%AB-ethernet-gadget-%E3%82%92%E5%96%8B%E3%82%89%E3%81%9B%E3%82%8B) +- [パソコン側の対応作業](#%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3%E5%81%B4%E3%81%AE%E5%AF%BE%E5%BF%9C%E4%BD%9C%E6%A5%AD) + + + +# USB Gadget とは? + +コンピューターがあたかも USB デバイスであるかのように振る舞う仕組みです。 + + +# Why USB Gadget? + +インターネットに接続可能なパソコンに USB で Brain を接続するだけで Brain からインターネットに出たり、パソコンと Brain で双方向に SSH したりできるようになります。電池切れの心配もありません。 + + +# Brain に Ethernet Gadget を喋らせる + +1. 以下のスクリプトを vi や nano でホームディレクトリに保存します + + ``` + #!/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. で保存した名前に置き換えてください。 + + ``` + $ chmod +x gadget.sh + ``` + +3. 実行します + + 次回起動時からはこのスクリプトを都度実行します。 + + ``` + $ ./gadget.sh + ``` + + +# パソコン側の対応作業 + +Windows / Mac / Linux すべてで利用可能です。(注: 2021年2月23日現在、上記スクリプトでは Windows と macOS で認識しないことを確認しており、修正予定です) + +パソコンを通してインターネットに出るために、ネットワーク接続の共有設定が必要になります。OS ごとに設定方法は異なりますので、別途設定してください。 + diff --git a/Tips>Xorgの動かし方.md b/Tips>Xorgの動かし方.md new file mode 100644 index 0000000..9d7769f --- /dev/null +++ b/Tips>Xorgの動かし方.md @@ -0,0 +1,42 @@ + + +### 目次 + +- [Brain 特有の Xorg の設定について](#brain-%E7%89%B9%E6%9C%89%E3%81%AE-xorg-%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6) +- [xorg.conf](#xorgconf) +- [起こし方](#%E8%B5%B7%E3%81%93%E3%81%97%E6%96%B9) + + + +# Brain 特有の Xorg の設定について + +PW-Sx7 までは SoC に GPU が載っておらず、framebuffer (fbdev) のみが利用可能です。つまり、お手元の Linux マシンで Xorg が GPU と通信するときに使う仕組み (DRM, DRI) は利用できません。設定ファイルに fbdev を使用するように明示的に書くことで Xorg が動かせます。 + + +# xorg.conf + +設定ファイル xorg.conf の内容を以下に示します。vi か nano を使って以下の内容を `/etc/X11/xorg.conf` に書き込んでください。 + +``` +Section "Device" + Identifier "device" + Driver "fbdev" +EndSection +Section "Screen" + Identifier "screen" + Device "device" +EndSection +``` + + +# 起こし方 + +2021年2月23日現在では、Xorg はブートシークエンスと結合されていません。つまり、手で起動します。 + +```sh +$ Xorg & +$ openbox-session & +``` + +以上を実行した後にお好みのソフトを起動してください。 + diff --git a/_Sidebar.md b/_Sidebar.md index 54abe31..c8d9d0d 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -6,6 +6,9 @@ # Linux - [SDカードにコピー](Linux%EF%BC%9ESD%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AB%E3%82%B3%E3%83%94%E3%83%BC) - [ビルド](Linux%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89) +# Tips + - [USB Ethernet Gadget](Tips%EF%BC%9EUSB-Ethernet-Gadget) + - [Xorgの動かし方](Tips%EF%BC%9EXorg%E3%81%AE%E5%8B%95%E3%81%8B%E3%81%97%E6%96%B9) # U‐Boot - [ビルド](U%E2%80%90Boot%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89) - [起動 (EBOOT)](U%E2%80%90Boot%EF%BC%9E%E8%B5%B7%E5%8B%95-%28EBOOT%29)