LoginSignup
0
0

More than 1 year has passed since last update.

Rakuten WiFi Pocketを5GHzでテザリング

Last updated at Posted at 2021-06-26

経緯

あるところにRakuten回線を契約し、キャンペーンで手に入れた激安モバイルルーターを使用している男がいました。男はしばらく満足そうにしていましたが、1つ難点がありました。モバイルルーターの周波数帯域が2.4GHzしか対応していなかったのです。電子レンジを使用すればZoomが落ち、隣の家のルーターとチャンネルがかぶっているせいで速度が出ない。これを解決するため男は家に余っているラズパイを使いモバイルルーターと余っていた5GHz対応のルーターをブリッジ接続させようとするのでした。(愚策)

図1.png

使用したもの

  • Raspberry Pi 3 Model B+
    • microSDカード
    • 電源アダプタ
  • Rakuten WiFi Pocket R310
  • USB2.0 typeA - MicroB ケーブル
  • LANケーブル
  • 5GHz対応ルーター1

USBテザリングの方法2

USBでRakuten WiFi Pocket R310(以下R310)をラズパイに接続した後、root権限でsystemctl restart networkingコマンドを実行するとテザリングすることが出来ます。OSの起動前に接続しておくと上記のコマンドを入力しなくても認識させる事が出来ます。

本編

以下の説明はラズパイをR310でUSBテザリングさせた状態で説明します。また、ラズパイはSSH接続ではなくキーボードを繋ぎ直接制御しています。設定が面倒なので。

OSのインストール

今回使用したOSは Raspberry Pi OS Lite arm64 (2021-05-28) です3。ダウンロードはこちら。32bit版でも他のリリース日でもRaspberry Pi OS系なら問題ありません。OSのインストールと初期設定の方法は本記事では省略します。

※Raspberry Pi OSを選んだ理由はR310を追加ドライバー無しでUSBテザリングすることができるからです。Ubuntuで試しましたがドライバーが入っていなかった為やめました。

bridge-utilsのインストール

OSのインストールと初期設定が終了したら最初にブリッジ用ソフトウェアであるbridge-utilsのインストールを行います。

sudo apt install bridge-utils

ソフトウェアのインストールが完了したらroot権限で設定ファイルを開き、下記の内容を追記します。

sudo nano /etc/network/interfaces
/etc/network/interfaces
auto br0
iface br0 inet dhcp
bridge_ports eth0 eth1

書き込んだら一度OSを再起動させます。その後brctlコマンドを実行し、ブリッジがちゃんと構成されているか確認します。

$ brctl show
bridge name     bridge id                STP enabled      interfaces
br0             XXXX.XXXXXXXXXXXX        no               eth0
                                                          eth1

これでR310とラズパイのLANポートがブリッジ接続されました。試しにお使いのPCのLANポートをラズパイに接続してみてください。正常に設定できていればPCが有線でインターネットに接続できると思います。正常に稼働していることが確認できたら5Ghz対応Wi-Fiルーターをラズパイに接続して下さい。説明は以上となります。下記の項目はオプションです。

自動再接続

一度R310を取り外してしまうとテザリングが解除されてしまいます。再接続させるために毎回コマンドを入力するのは面倒なので自動化させます。

シェルスクリプトの作成

下記のファイルを新規作成します。

/home/pi/reconnect.sh
#!/bin/bash

while true
do
  if ifconfig | grep -c "eth1" > /dev/null ; then
    sleep 3
  elif lsusb | grep -c "19d2" > /dev/null ; then
    echo restart networking
    systemctl restart networking
    sleep 1
  else
    sleep 1
  fi
done

実行権限を付与します。

sudo u+x /home/pi/reconnect.sh

root権限で上記のシェルスクリプトを実行すると自動で再接続することが分かると思います。

サービスの作成

下記のサービス定義ファイルを新規作成します。書き込みにはroot権限が必要です。

/etc/systemd/system/R310.service
[Unit]
Description = R310 auto reconnect

[Service]
ExecStart = /home/pi/reconnect.sh
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target

サービスが認識されたか確認します。

$ sudo systemctl list-unit-files --type=service | grep R310

認識されていることがわかったらサービスを自動起動の有効化、起動をします。

sudo systemctl enable R310
sudo systemctl start R310

これでUSBテザリングの自動再接続させる為の設定が完了しました。OSを再起動させてサービスがちゃんと起動しているかどうかログを確認することを推奨します。

ブチ切りしたい

ラズパイをシャットダウンさせるためには毎回シャットダウンコマンドを実行しなければなりません。毎回キーボードから入力するのは面倒なので電源ブチ切りしても問題ないようにします。SDカードを書き込み禁止にすることで急な電源の切断によるファイルの破損を防ぎます。

イーサネットの設定を変更

原因は不明ですがSDカードを書き込み禁止にするとイーサネットがeth0としてちゃんと認識しなくなります。これを防ぐためにカーネルのパラメータを変更します。以下のパラメータをroot権限で追記します。追記する際の注意点がいくつかあります。

  • 既に書かれている文は消さないでください。最悪の場合OSが起動しなくなります。
  • パラメータは全て1行目に書かれている必要があります。
  • パラメータは1つ1つスペースで区切って下さい。
/boot/cmdline.txt
net.ifnames=0 biosdevname=0

SDカード書き込み禁止設定

Raspberry Pi OSの場合、SDカードの書き込み禁止設定は非常に楽です。
ラズパイの設定ツールを開きます。

sudo raspi-config

真っ青な背景のGUIが表示されたと思います。
4 Performance Optionsを選択、続いてP3 Overlay File Systemを選択します。
Would you like the overlay file system to be enabled?と聞かれたらyesと選択。
Would you like the boot partition to be write-protected?と聞かれたら上記と同様にyesを選択。

以上で書き込み禁止の設定が完了しました。
設定が完了したらraspi-configから抜け、OSを再起動させてください。以降はブチ切りしていただいて構いません。

結論

クレードル付きか5GHz対応のモバイルルーター買った方が楽

参考文献


  1. 筆者はWi-FiルーターではなくここにPlayStation4を直結しています。 

  2. Rakuten WiFi Pocket R310の取扱説明書に記載されていませんがUSBテザリング出来ます。ちなみにWindowsでもテザリング可能です。 

  3. Raspberry Pi OSのarm 64bit版はまだベータテストバージョンだそうです。 

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0