0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi 4B で USB Wi-Fi アンテナ(RTL8812BU)を使う方法

0
Last updated at Posted at 2026-04-08

はじめに

Wi-Fi CSI(Channel State Information:チャネル状態情報)に関する研究を行う中で、Nexmon_CSI を用いた CSI 収集環境を構築しています。

CSI 収集には送信機からの安定したパケット送信が不可欠ですが、Raspberry Pi 4B の**内蔵 Wi-Fi チップ(BCM43455)**を送信機として使用したところ、電波が不安定になるという問題が発生しました。

原因として考えられるのは、内蔵チップが SoC に近接実装されているため、CPU やメモリ動作に伴う回路ノイズ(EMI)が RF 信号に混入し、SN 比(Signal-to-Noise Ratio)が劣化してしまうことです。結果として、有効な CSI データがノイズに埋もれてしまう可能性が高いと考えました。

そこで、外付け USB Wi-Fi アダプタ(RTL8812BU) を導入し、SoC から物理的に距離を置いた安定した送信環境を構築することにしました。

本記事では、RTL8812BU の導入手順と「本当に使えているのか?」を確認する方法をまとめます。さらに、どの通信プロトコル(802.11b/g/n/ac)で接続しているかの確認方法もまとめます。

使用環境

項目 内容
デバイス Raspberry Pi 4B
OS Raspberry Pi OS
カーネル 6.12系
Wi-Fi アダプタ RTL8812BU(例:EP-AC1686)

カーネルが 6.12 以上の場合:外部ドライバ不要!

内蔵ドライバ rtw88 が RTL8812BU に対応しています。
むしろ外部ドライバは入れない方が安定します。


手順

① 必要パッケージのインストール

$ sudo apt update

② USB Wi-Fi アダプタを接続

  • Raspberry Pi の USB 3.0(青)ポート に接続

③ Wi-Fi チップが認識されているか確認

$ lsusb

認識されていれば以下のように表示されます。

Realtek Semiconductor Corp. RTL88x2bu

④ ドライバ(rtw88)が読み込まれているか確認

$ lsmod | grep rtw88

以下が表示されれば OK です(内蔵ドライバで動作中)。

rtw88_8822bu
rtw88_usb
rtw88_core

⑤ ネットワークインターフェースの確認

$ ip a
wlan0 → 内蔵 または USB
wlan1 → もう一方

⑥ どちらが USB アダプタか判別する

$ iw dev

MAC アドレスで内蔵と USB を判別できます。


⑦ 内蔵 Wi-Fi を無効化(重要)

USB アダプタを優先して使用するため、内蔵 Wi-Fi を無効化します。

$ sudo nano /boot/firmware/config.txt

末尾に以下を追加します。

dtoverlay=disable-wifi

再起動して設定を反映させます。

$ sudo reboot

⑧ USB アンテナが使われているか確認

$ ip a
$ iw dev

wlan0 が USB アダプタになっていれば OK です。


⑨ Wi-Fi 接続確認

$ iw wlan0 link

接続中であれば以下のように表示されます。

SSID: Buffalo-2G-xxxx
freq: 2432
tx bitrate: 144.4 MBit/s MCS 15 short GI

⑩ 通信プロトコルの確認(重要)

iw wlan0 link の出力から、接続中のプロトコルを判定できます。

表示内容(iw / iwconfig) 規格 周波数帯 判定ポイント
HE 802.11ax(Wi-Fi 6) 2.4 / 5 / 6 GHz High Efficiency 表記
VHT 802.11ac(Wi-Fi 5) 5 GHz Very High Throughput
HT または MCS 802.11n(Wi-Fi 4) 2.4 / 5 GHz MCS index が表示される
54 Mbps 前後(固定) 802.11g 2.4 GHz OFDM、MCS 表示なし
11 Mbps 以下 802.11b 2.4 GHz DSSS、低速

補足

  • 802.11n / ac / ax では「MCS(Modulation Coding Scheme)」が使用される
  • 802.11ac は VHT、802.11ax は HE と明示される
  • 802.11b/g はレガシー規格のため、単純なビットレート(Mbps)で表示される

MCS の詳細については以下の記事を参考にしてください。
https://www.silex.jp/library/blog/20250404

注意

  • MCS は 802.11n だけでなく ac / ax でも使用されるため、「MCS がある = n」とは限らない
  • 最終的な判定は「周波数(freq)」と併せて判断すること

今回の例:

tx bitrate: 144.4 MBit/s MCS 15
freq: 2432

👉 MCS あり + 2.4 GHz → 802.11n(Wi-Fi 4) で接続中

まとめ

  • カーネル 6.12 以上 → 外部ドライバ不要
  • rtw88 が自動で動作する
  • USB アンテナはそのまま使える
  • 内蔵 Wi-Fi は無効化推奨
  • 通信規格は iw wlan0 link で確認

おわりに

外付けアンテナを使うと、以下のようなメリットがあります。

  • 感度向上
  • CSI 取得の安定化
  • 長距離通信への対応

Wi-Fi センシングや IoT 用途では特に有効です。

ぜひ活用してみてください!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?