Raspberry Pi2の無線LANについて
Raspberry Pi2には無線LANインタフェースが搭載されていない。夏休みの宿題としてRaspberry Pi2を使った作業のついでにUSBの2.4GHz/5GHz無線LANアダプタを設定したけれども意外に手こずったので、記録を残しておきます。
2020.6.14 追記修正
Raspberry Pi OS のリリーズ10にアップグレードし、再コンパイルが必要になって確認したところ、少し変更点がありました。
- rtl8812au.gitのブランチは、5.7.0です。
git clone -b v5.7.0 https://github.com/aircrack-ng/rtl8812au.git
- airmon-ngはなくなりました。
TP-LINK Archer T2U Nano ドライバ
2019年8月15日現在、Respberry Pi2 の最新モジュールは 4.19.58-v7+ になっています。ネットにいくつかのドライバーソースがありますが、最新モジュールではうまくコンパイルが進みませんでした。
結局、ドライバーの情報については、WikiDevi TP-LINK Archer T2U Nanoの右側のProbable Linux driver欄にある情報が正しいです。
(2024/03/12追記:現在上記のwikiサイトに到達できません。代わりのアーカイブサイトはインターネットアーカイブにあります。)
GitHubのaircrack-ng/rtl8812auにある通りにダウンロードとコンパイルを行います。
コンパイル手順
コンパイルは dmksと通常のmakeの2つが準備されていますが、makeを使用しました。
Readme.mdにあるとおり、Raspberry Piのカーネルヘッダファイルをインストールします。
git clone -b v5.7.0 https://github.com/aircrack-ng/rtl8812au.git
cd rtl8812au
sudo apt-get install bc raspberrypi-kernel-headers
ブランチをv5.3.4からv5.7.0に変更しました。
Makefile内のパラメータを書き換えます。
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RPI = y
Raspberry Pi3 の場合は次の通りです。
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM64_RPI = y
コンパイルを実行し、インストールを行います。
make clean
make
make install
インストール後、WiFiのモニターモードを設定します。
airmon-ng check kill
sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up
Raspberry Pi OS 10 と v5.7.0のドライバの場合、airmon-ngインストールされないので、上記処理は必要なくなったと思われます。
なぜT2U Nanoつかっちゃったのか
USBの2.4GHz/5GHz無線LANアダプタは多くの種類が発売されていて、近所の電気屋さんで手に入るもので一番速そうなT2U Nanoを選んでみました(無知とは怖いものです)
T2U NanoはRealTek8812auを使用しており、Raspberry Pi2でドライバをインストールする記事はいくつかありましたが、記載が古く現在のカーネルにはソースコードが対応てきていなかったり、かなり手を入れてもコンパイルできなかったりでした。(涙)
最終的に、ここに記載されたソースと、rtl8812AU_8821AU_linuxというソースがあり、先にrtl8812AU_8821AU_linuxを試したのですが、5GHzを拾えなかったので再度色々と調べた結果、このソースにたどり着きました。
このドライバーですが、初期設定では、TX出力は低めに設定されています。使用環境によっては、SSIDを洗濯してもアクセスポイントに接続できない場合があり、TX出力を上げる必要があるかもしれません。
sudo iw wlan0 set txpower fixed 3000
で解決できるかもしれません。