ラズパイZeroで5GHz帯対応の無線LAN子機 (TP-LINK AC600 Archer T2U Nano) を使う

ラズパイZeroで5GHz帯対応の無線LAN子機 (TP-LINK AC600 Archer T2U Nano) を使う
Page content

はじめに

自室の机のそばに置いているラズパイ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 NanoAmazon.co.jp
TP-Link WiFi 無線LAN 子機 AC600 433Mbps + 200Mbps Windows/Mac OS 対応 ナノ設計 デュアルバンド 3年保証 Archer T2U Nano

TP-Link WiFi 無線LAN 子機 AC600 433Mbps + 200Mbps Windows/Mac OS 対応 ナノ設計 デュアルバンド 3年保証 Archer T2U Nano

TP-LINK

ELECOM OTGケーブル microB-Aメス-USB2.0 ブラック 0.1m TB-MAEMCBN010BK

ELECOM OTGケーブル microB-Aメス-USB2.0 ブラック 0.1m TB-MAEMCBN010BK

エレコム

ちなみに、ラズパイZero WHは元々2.4GHz帯対応の無線LANを内蔵しているものの、なぜか私の環境ではうまく駆動できておらず。2.4GHz帯の接続には、これまでUSB接続タイプの子機 (PLANEX GW-USMicro300) を別途用いていました。

Archer T2U Nanoのドライバインストール方法

対象環境

項目内容
マシンRaspberry Pi Zero WH (ARMv6: 32bitアーキテクチャ)
OSRaspberry Pi OS (Raspbian GNU/Linux 10 (buster))
Raspberry Pi Zero W - ヘッダー ハンダ付け済み - ラズベリー・パイ ゼロ W ワイヤレス

Raspberry Pi Zero W - ヘッダー ハンダ付け済み - ラズベリー・パイ ゼロ W ワイヤレス

ブランド: Pi Zero

$ 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 WiFi 無線LAN 子機 AC600 433Mbps + 200Mbps Windows/Mac OS 対応 ナノ設計 デュアルバンド 3年保証 Archer T2U Nano

TP-LINK

ELECOM OTGケーブル microB-Aメス-USB2.0 ブラック 0.1m TB-MAEMCBN010BK

ELECOM OTGケーブル microB-Aメス-USB2.0 ブラック 0.1m TB-MAEMCBN010BK

エレコム

参考リンク