みなさん、こんにちは。
Raspberry Piを使っていると、「WiFiの感度があまり良くない」という不満に直面することがありませんか?
特に、他のデバイスでは問題なく通信できる環境なのに、Raspberry Piだけ通信が不安定だったり、電波が弱かったりする場合、原因は内蔵のWiFiモジュールにある可能性が高いです。
今回は、そんな悩みを解決するために、外付けUSB WiFiドングルを利用して通信環境を改善する方法を解説します。
内蔵WiFiの問題点と外付けモジュールへの切り替え
Raspberry Piの内蔵WiFiモジュールは、小型化や低消費電力を重視した設計のため、必ずしも強力なアンテナや高感度の受信回路が搭載されているとは限りません。
その結果、設置環境によっては通信が不安定になったり、遠距離のアクセスポイントとの接続が難しかったりするケースが見受けられます。
こうした問題を解消するためのシンプルかつ効果的な手段が、外付けWiFiドングルの導入です。
実際、私も内蔵モジュールの感度に不満を感じ、使っていなかったUSBドングルを試してみました。
今回ご紹介するのは、BUFFALO社の「WI-U2-433DM」という製品を例にした手順です。
BUFFALO WI-U2-433DMを使った環境改善の手順
1. 必要なパッケージのインストール
まずは、ドライバのビルドやDKMS(Dynamic Kernel Module Support)機能を利用するために、以下のパッケージをインストールします。ターミナルを開いて、次のコマンドを実行してください。
sudo apt-get install -y bc build-essential dkms git
2. Linux用ドライバの取得
次に、BUFFALO WI-U2-433DMに対応したLinux用ドライバをGitHubからcloneします。以下のリポジトリには、Raspberry Pi向けのドライバソースコードが用意されています。
git clone https://github.com/morrownr/8821au-20210708.git
3. ブート設定の変更
一部のドライバは32bit環境での動作を前提としているため、Raspberry Piのブート設定を変更する必要があります。/boot/config.txt ファイルをエディタで開き、以下の行を追加してください。
arm_64bit=0
この設定により、システムは32bitモードで起動します。設定を反映させるために、一度システムを再起動しましょう。
sudo reboot
4. ドライバのビルドとインストール
再起動後、cloneしてきたソースディレクトリに移動し、インストールスクリプトを実行します。
cd 8821au-20210708
sudo ./install-driver.sh
インストールスクリプトは、自動的に必要なドライバモジュールをビルドし、DKMSに登録します。
これにより、カーネルのアップデート後もドライバが再ビルドされ、安定した動作が期待できます。
インストール完了後、再びシステムを再起動してください。
sudo reboot
再起動後、外付けのBUFFALO WI-U2-433DMが正常に認識され、利用可能な状態になっているはずです。
電波強度の測定 – wavemonの活用
改善後の通信環境を確認するために、Raspberry Pi上で電波強度を測定するツールとして「wavemon」を利用します。wavemonは、リアルタイムで無線LANの電波状況をモニターできる便利なツールです。
まずは、wavemonをインストールします。
sudo apt-get install wavemon
インストールが完了したら、ターミナルで「wavemon」と入力してください。
すると、グラフィカルなインターフェースで電波強度(RSSI)やノイズレベル、リンク品質などが確認できます。
実際に試してみると、BUFFALO WI-U2-433DMを利用した場合、内蔵WiFiモジュールに比べて明らかに強い電波を受信できていることが分かりました。
他のおすすめWiFiドングル – TPlink T3Uの場合
現在、市場で購入しやすいWiFiドングルとしては、TPlink社の「T3U」も非常におすすめです。この製品は、高速通信と安定性を兼ね備えており、Raspberry Piでの利用に適しています。
TPlink T3Uに関しては、以下のリンクからLinux用のドライバを入手できます。
また、Raspberry Pi向けにDKMSを用いたドライバも提供されており、より簡単に導入できるよう工夫されています。
詳しいインストール手順や設定方法については、Qiitaの記事
「Raspberry Pi にAC1300規格無線LANドライバー(rtl88x2bu)をインストールする」
が分かりやすく解説されているので、そちらも参考にしてみてください。
内蔵WiFiモジュールの無効化
外付けドングルを導入する場合、内蔵WiFiモジュールが干渉する可能性があるため、これを無効化しておく方が望ましいです。無効化するための手順は以下の通りです。
/etc/modprobe.d/raspi-blacklist.conf ファイルをエディタで開きます。
sudo vi /etc/modprobe.d/raspi-blacklist.conf
ファイル内に、以下の行を追加してください。
# wifi
blacklist brcmfmac
blacklist brcmutil
これにより、内蔵WiFi用のドライバ(brcmfmacおよびbrcmutil)がカーネル起動時に読み込まれなくなります。
変更を反映させるため、システムを再起動します。
sudo reboot
再起動後、内蔵WiFiは無効化され、外付けUSBドングルのみで通信が行われる状態となります。
まとめ
以上の手順を実施することで、Raspberry Piの通信環境は大幅に改善されます。
内蔵WiFiの感度に不満を感じていた方は、BUFFALO WI-U2-433DMやTPlink T3Uなどの外付けWiFiドングルを活用することで、より強力で安定した通信を実現できるはずです。
ポイントをまとめておきましょう。
- 内蔵WiFiの問題点
小型で省電力な設計ゆえに、電波感度や安定性に課題がある場合がある。 - 外付けドングルの導入
BUFFALO WI-U2-433DMやTPlink T3Uなど、性能の高いWiFiドングルを利用することで、通信環境が改善される。 - ドライバのインストールと設定
必要なパッケージのインストール、GitHubからのドライバ取得、ブート設定の変更(arm_64bit=0)、そしてインストールスクリプトの実行という流れで進める。 - 電波強度の確認
「wavemon」を用いて、実際の電波状況や通信品質を確認する。 - 内蔵WiFiの無効化
/etc/modprobe.d/raspi-blacklist.confファイルにおける設定で、内蔵モジュールを無効化し、干渉を防止する。
各作業は、各種ドライバのREADMEや公式ドキュメントに沿って実施してください。
OSのバージョンや利用するドングルによっては、設定や手順が若干異なる場合もありますので、最新の情報を必ず確認してから作業してくださいね。
外付けUSB WiFiドングルのみでの通信環境を構築することで、Raspberry Piを用いたIoTプロトタイピングや各種プロジェクトがより快適に進められるようになります。
みなさんもぜひ、今回ご紹介した方法を試してみて、通信感度の向上によるメリットを実感してください!