ラズパイZeroで5GHz帯対応の無線LAN子機 (TP-LINK AC600 Archer T2U Nano) を使う
はじめに
自室の机のそばに置いているラズパイZero (Raspberry Pi Zero WH) を、2.4GHz帯のWi-Fiで接続してきましたが、次のような問題と欲が出てきたので、5GHz帯での接続に切り替えようと考えました。
- 近くのデスクトップPCで使う2.4GHz帯のマウスの反応が途絶えることが時々あり、このマウスの通信とラズパイZeroのWi-Fiとの混信を避けたい
- 5GHz帯しかないWi-Fi環境でもラズパイZeroを接続したい (ラズパイZeroにはCO2濃度などの環境センサーを接続しており、モバイルバッテリーとともに持ち運んで各所で趣味の環境測定を行うことがある)
そこで、5GHz帯に対応しているUSB接続タイプの無線LAN子機「TP-LINK AC600 Archer T2U Nano」を約1,500円で購入。今回は、この子機に適合するLinuxドライバーをラズパイZeroでbuildしてインストールし、無線LAN子機を利用できるようにするまでの作業内容をメモします。
分類 | 品名 | 備考 |
---|---|---|
無線LAN子機 | TP-LINK Archer T2U Nano | Amazon.co.jp |
TP-Link WiFi 無線LAN 子機 AC600 433Mbps + 200Mbps Windows/Mac OS 対応 ナノ設計 デュアルバンド 3年保証 Archer T2U Nano
TP-Link
エレコム(ELECOM) ELECOM OTGケーブル microB-Aメス-USB2.0 ブラック 0.1m TB-MAEMCBN010BK
エレコム(ELECOM)
ちなみに、ラズパイZero WHは元々2.4GHz帯対応の無線LANを内蔵しているものの、なぜか私の環境ではうまく駆動できておらず。2.4GHz帯の接続には、これまでUSB接続タイプの子機 (PLANEX GW-USMicro300) を別途用いていました。
Archer T2U Nanoのドライバインストール方法
対象環境
項目 | 内容 |
---|---|
マシン | Raspberry Pi Zero WH (ARMv6: 32bitアーキテクチャ) |
OS | Raspberry Pi OS (Raspbian GNU/Linux 10 (buster)) |
Raspberry Pi Zero W - ヘッダー ハンダ付け済み - ラズベリー・パイ ゼロ W ワイヤレス
Raspberry Pi
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ uname -a
Linux raspi0 5.10.60+ #1449 Wed Aug 25 14:59:20 BST 2021 armv6l GNU/Linux
ドライバー入手元
TP-LINK AC600 Archer T2U NanoにはRealtekの「RTL8812AU」系のチップが載っているとのこと。そこで、GitHubで公開されている下記リポジトリのドライバーを導入することにしました。
このリポジトリ以外にも「RTL8812AU」用ドライバーのリポジトリは複数あるようで、日本語情報に限って調べてみても、多くの方が色々なリポジトリを試しています (参考リンクを参照)。私が上記の「aircrack-ng/rtl8812au」を選択した理由は、このリポジトリにはラズパイ「0/Zero」への言及があったことと、なんとなくメジャーさを感じたからです。
インストール手順
https://github.com/aircrack-ng/rtl8812au にあるREADMEにしたがって進めます。本記事執筆時点でのラズパイZero (OS: Raspberry Pi OS) では、具体的には次の手順となります。
$ sudo apt-get install dkms
$ git clone -b v5.6.4.2 https://github.com/aircrack-ng/rtl8812au.git
$ cd rtl*
$ sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/' Makefile
$ sed -i 's/CONFIG_PLATFORM_ARM_RPI = n/CONFIG_PLATFORM_ARM_RPI = y/' Makefile
## 下記makeには60分以上かかりました。別端末にてログを眺めて待ちましょう。
## tail -F /var/lib/dkms/8812au/5.6.4.2_35491.20191025/build/make.log
$ sudo make dkms_install
mkdir -p /usr/src/8812au-5.6.4.2_35491.20191025
cp -r * /usr/src/8812au-5.6.4.2_35491.20191025
dkms add -m 8812au -v 5.6.4.2_35491.20191025
Creating symlink /var/lib/dkms/8812au/5.6.4.2_35491.20191025/source ->
/usr/src/8812au-5.6.4.2_35491.20191025
DKMS: add completed.
dkms build -m 8812au -v 5.6.4.2_35491.20191025
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...
'make' -j1 KVER=5.10.60+ KSRC=/lib/modules/5.10.60+/build...(途中省略)...
cleaning build area...
DKMS: build completed.
dkms install -m 8812au -v 5.6.4.2_35491.20191025
88XXau.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.10.60+/updates/
depmod.....
DKMS: install completed.
dkms status
8812au, 5.6.4.2_35491.20191025, 5.10.60+, armv6l: installed
動作確認
動作確認の際にはあらかじめ、5GHz帯の無線アクセスポイントとの接続設定を/etc/wpa_supplicant/wpa_supplicant.conf
に追加しておきます。
次に、ラズパイZeroを再起動したあとに、次のようにdmesg
でrtl88XXauというドライバーの読み込みが確認でき、Archer T2U Nanoに対応するwlanN
が5GHz帯の無線アクセスポイントと接続できていれば動作確認完了です。
$ lsusb
Bus 001 Device 003: ID 2357:011e TP-Link
Bus 001 Device 002: ID 0409:0059 NEC Corp. HighSpeed Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ dmesg | grep '88XXau'
[ 19.510954] 88XXau: loading out-of-tree module taints kernel.
[ 25.169614] usb 1-1.3: 88XXau c0:06:c3:00:00:00 hw_info[107]
[ 25.287166] usbcore: registered new interface driver rtl88XXau
$ iwconfig wlan0
wlan0 IEEE 802.11AC ESSID:"5GHz帯の無線AP" Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency:5.18 GHz Access Point: D8:07:B6:00:00:00
Bit Rate:434 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=81/100 Signal level=62/100 Noise level=0/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
まとめ
今回のインストール方法には、1次情報源を元にした成功例しか書いておりませんが、実は他の情報を元にして何度か失敗もしています。私が参照した情報が古かったか、ラズパイZeroとは合わない情報だったのかもしれません。
結果的には数時間を要しましたが、ラズパイZeroの無線LANを狙い通りに5GHz帯対応できたことと、私はあまりやったことがない、Linux環境でドライバをbuildしてからインストールする例を、経験とブログ記事に追加できたことは良かったです。
TP-Link WiFi 無線LAN 子機 AC600 433Mbps + 200Mbps Windows/Mac OS 対応 ナノ設計 デュアルバンド 3年保証 Archer T2U Nano
TP-Link
エレコム(ELECOM) ELECOM OTGケーブル microB-Aメス-USB2.0 ブラック 0.1m TB-MAEMCBN010BK
エレコム(ELECOM)