初代ラズパイでPocket Wifi専用クレードルを代用

# 目的
- 余っているRaspberry Pi B（初代）の活用（イヤホンジャック「青」）
- Softbank Pocket Wifi 809SHの最大接続台数を増やす
- 物欲の忌避

# 使用するデバイス（自宅にある古い余りものの機器）
- [Softbank Pocket Wifi 809SH](https://faq.api.softbank.jp/olm_images/sb/140/PDF/809sh_userguide.pdf) (クレードル別売、2024年には入手困難）
- [ELECOM WRC300FEBK](https://www.elecom.co.jp/support/manual/network/wireless-lan/router/wrc-300febk/WRC-300FEBK_users_v1.pdf)（無線LANブロードバンドルーター）
- Raspberry Pi B（初代イヤホンジャックコネクタ青）
- SDカード 4GB
- USB Type-C ケーブル
- LANケーブル


### (概念図) ###
```mermaid
classDiagram
Pocket Wi-Fi 809SH <|--<| Raspaberry Pi B : USB Cable
Pocket Wi-Fi 809SH : DHCP IPv4
Pocket Wi-Fi 809SH : Gateway (192.168.128.1)
Raspaberry Pi B : inet[192.168.128.135]
Raspaberry Pi B : Bridge br0 (eth0, usb0)
Raspaberry Pi B |> --|> WRC-300FEBK : LAN Cable

WRC-300FEBK .. IoT1 : Wi-Fi
WRC-300FEBK .. IoT2 : Wi-Fi
WRC-300FEBK .. IoT3 : Wi-Fi
WRC-300FEBK : DHCP IPv4
WRC-300FEBK : Gateway(192.168.2.1)
IoT1 : Echo Dot
IoT1 : inet(192.168.2.101)
IoT2 : ring Camera
IoT2 : inet(192.168.2.102)
IoT3 : Switchbot Hub
IoT3 : inet(192.168.2.103)
```

# 良かった点
- Pocket Wifiへの給電は、Raspberry PiのUSBポートからでも（なぜか）いけそう
- WRC-300FEに無線LAN接続で、インターネットの速度は**30Mbps** 前後
- でも、WRC-300FEに無線接続をテストしたPCでNetflixの映画鑑賞が普通にできた
- Pocket Wifiの無線LANポート10個に加えて、WRC-300FEの無線LANポートがたくさんと有線LANポートが4つ使える

# 心配、不満な点
- Pocket Wifiは3A電源から給電する仕様なので、きっとラズパイは壊れる
- 初代Raspberry pi BはUSB3.0接続に対応していないので、データ通信速度が上がらない

# raspberry pi 作業
- 809SHとRaspberry piはUSBケーブルで接続します
- ラズパイ上の操作をSSHでアクセスして行えるようにします
```powershell
ssh pi@192.168.135
pi@raspberrypi's password:
```
- OSバージョンを確認しておきます
```powershell
pi@raspberrypi:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
```
- ブリッジユーティリティのパッケージをインストールします
```powershell
pi@raspberry:~$ sudo apt install bridge-utils -y
（略）
```
- Raspberry piのUSBとLANポート間に仮想ネットワークブリッジを設定します
```powershell
pi@raspberry:~$ sudo nano /etc/network/interfaces
# 追記
auto br0
iface br0 inet manual
    bridge_ports eth0 usb0
    bridge_stp off
    bridge_maxwait 3

pi@raspberry:~$ sudo nano /etc/dhcpcd.conf
denyinterfaces eth0 usb0
interface br0
static ip_address=192.168.128.135/24
static routers=192.168.128.1
static domain_name_servers=192.168.128.1 8.8.8.8 

pi@raspberry:~$ sudo halt
```
# 物理的な環境作業
- Raspberry Pi、ELECOM WRC300FE、Pocket Wifiも電源を落とす
- Pocket Wifi とRapberry pi をUSBケーブルで接続する
- ELECOM WRC300FEの底面のRT/APモード切り替えスイッチをRTモードに切り替える

#### WRC300FE に対して Raspberry pi を終端装置として設定する
- Raspberry Pi と WRC300FE をLANケーブルで接続する
- PC を WRC300FE にLANポートで接続する
- Pocket Wifi、Rapberry pi、WRC300FE の順で電源をいれて起動する
- Rapberry pi にユーザログインして、```ip a```で eth0 と USB0 のブリッジ状態を確認する 
- PC から WRC300FE にインターネット接続設定をする（マニュアル通り）

Pocket Wifi の USB接続用IPアドレスが WRC300FE のWAN側IPとして使用されます。

## （参考）
[Rapberry Pi をスイッチングハブ化する 【bridge-utils】](https://nort-wmli.blogspot.com/2019/09/rapberry-pi-bridge-utils.html)
[ラズパイ(RaspberryPi3)をDHCPサーバーにしてみた](https://qiita.com/homoluctus/items/cccd711c9a77680d1e2c)

### ・・・余談

Pocket Wifiにスイッチングハブを付けるにはクレードルの方がRaspberry Pi分の電力消費が節約できるので理想的（かもしれない）。専用クレードルの方が本来のPocket Wifiの機能を生かせる（かもしれない）。Raspberry pi をこの目的だけに使うのは流石に勿体ない。無線LAN のドングルも余っているので、wlan0からWRC300FEに接続すれば何かのサーバーとして使用することもできなくないかもしれない。


Pocket Wifi はデータ通信量が一目でわかるのだが、一晩、何気なくPCに無線LAN接続したままでネット動画を見たりしていたら、朝起きて、使用量が3000GBを超えていたのを見てビビッてしまった。一体、こんなにたくさんのデータ量を何に使ったのだろう。