- 母艦必要です。 ...
概要
- らずぱいZeroは、USBデバイスになれるらしい。(Linux USB Gadget機能)
- らずぱいZeroには、Windowsから見てネットワークアダプタとなってもらって、Windowsのインターネット接続共有で、ネット接続。
- キーボード・マウス・モニター接続しなくてよい。(ぷちっと、電源切るけど..)
- 参考記事: Setting up Pi Zero OTG - The quick way (No USB keyboard, mouse, HDMI monitor needed)
- Raspberry Pi 2を母艦にするのもできた(初期設定のために、キーボート&モニター または、UARTケーブルが必要) => その他
- (追記2017-01-08) RPi Zero v1.3 +
2016-11-25-raspbian-jessie-lite.img
で動作確認。
環境
-
Raspberry Pi Zero (v1.2 & v1.3)
-
Raspbian
-
2016-11-25-raspbian-jessie-lite.img
(ssh有効にするため、ssh
というファイル作るのをわすれずに) 2016-05-27-raspbian-jessie-lite.img
-
-
microUSBケーブル
-
母艦: Windows 10 64ビット (1607ベースで、Windows Update済)
-
(2017-02-18) NG: ネットワークデバイスとして認識されないので、一覧に出てきません
(2017-02-15) Windows10付属ドライバ? バージョン1607 OSビルド 14393.693で存在確認しましたが、動作確認してません.. だれか試してもらえませんか?(ぉ- デバイスマネージャーから、該当のデバイスを右クリック
- ドライバーソフトウェアの更新(P)... を選択
- コンピュータを参照してドライバーソフトウェアを検索します(R) を選択
- -> コンピュータ上のデバイスドライバーの一覧から選択します(L) を選択
- [ ]互換性のあるハードウェアを表示(O) のチェックをはずす
- 製造元: Microsoft、モデル: リモートNDIS互換デバイス を選択
- 次へ(N) ....
-
ドライバはAcer Incorporated. - Other hardware - USB Ethernet/RNDIS Gadgetを使う。 (cabを解凍すると、
RNDIS.inf
とrndis.cat
が出てくる)
http://catalog.update.microsoft.com/v7/site/ScopedViewRedirect.aspx?updateid=37e35bd4-d788-4b83-9416-f78e439f90a2
-
-
※ Win7, Win8は、ネットワークアダプタ >
Microsoft Corporation
>Remote NDIS Compatible Device
を使用できる(Win7 64ビットで確認) -
オプション
- 外部電源 : バスパワーで、こころもとないと思ったら、電源PWR側から供給するのもよいかと。(USB3.0~900mAなら、だいじょぶだよね!?!)
- シリアル(UART)ケーブル: 確認しながらやると、確実です。電源をぷちっと切らずに、
sudo poweroff
手順
- 母艦で、microSDに、Raspbian Jessie Liteを焼く。
- microSDを一度、抜き差し(念のため)
- BOOTパーティションにある、設定ファイル2つ編集、
ssh
というファイルをつくる-
config.txt
- 一番下に dtoverlay=dwc2を追加
config.txt_追加例
-
...
...
Enable audio (loads snd_bcm2835)
#dtparam=audio=on
dtoverlay=dwc2
2. `cmdline.txt`
- `modules-load=dwc2,g_ether`を `rootwait`と`quiet`の間に入れる.
```txt:cmdline.txt_できあがり例
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet init=/usr/lib/raspi-config/init_resize.sh
3. `ssh`というファイル作成する<br>2016-11-25以降のRaspbianで、sshが有効にならない。
-
電源投入
-
30秒位したら、microUSB ケーブルで、Windowsマシンに接続
-
インターネットにつながってるネットワークアダプタのプロパティ(R)を開いて、[共有]タブを選んで、"インターネット接続の共有"で、有効にする。
- 母艦側の
USB Ethernet/RNDIS Gadget
の IPアドレスが、192.168.137.1 / 255.255.255.0
となる。 - が、この時点で、ラズパイ側は、
169.254.xxx.xxx
の様な感じになってるハズ。
=> なので、うまく接続できない。 - らずぱいの電源をぷちっと切って(ちゃんとシャットダウンしないのは気持ち悪いけど)、再度、起動する。
=> WindowsがIPを振ってくれるので、192.168.137.XXになってる。 - Windowsでコマンドラインを開いて、
arp -a -N 192.168.137.1
する。
=>192.168.137.74
ってのが、あやしい!? - pingすると反応あり。。
- 母艦側の
-
TeraTermとかで、SSHで接続する
その他
母艦にRaspberry Pi 2 (2016-05-27-raspbian-jessie-lite.img
)
- 母艦の
usb0
をIP:169.254.10.1
に固定する。 - PiZeroの
usb0
をIP:169.254.10.2
固定、ゲートウェイIP:169.254.10.1
(母艦)、DNS:8.8.4.4
(ぐーぐる先生のとこ)に設定 - 母艦はインターネットに
eth0
で、接続していて、ip_forwadingとかその辺の設定をする。
echo -e "interface usb0 \nstatic ip_address=169.254.10.2\nstatic routers=169.254.10.1\nstatic domain_name_servers=8.8.4.4" | sudo tee -a /etc/dhcpcd.conf
#コマンドラインへこぴぺ
# これは一回だけ
echo -e "interface usb0 \nstatic ip_address=169.254.10.1" | sudo tee -a /etc/dhcpcd.conf
#
#
# /etc/sysctl.conf - net.ipv4.ip_forward=1 を有効にする
sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
#
export IF_INTERNET=eth0
export IF_G_ETHER=usb0
#
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
#
sudo iptables -t nat -A POSTROUTING -o $IF_INTERNET -j MASQUERADE
sudo iptables -A FORWARD -i $IF_INTERNET -o $IF_G_ETHER -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i $IF_G_ETHER -o $IF_INTERNET -j ACCEPT
#
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
#
echo "iptables-restore < /etc/iptables.ipv4.nat" | sudo tee /lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat
#
sudo sync
- 再起動