はじめに
RaspberryPi2で5GHz-WiFiに接続しようと思い、事前の雑な調査でlinuxでさくっと使えそうに見えたtp-linkのAC1300(T4U Plus)というWi-Fi子機を購入した。ところが、実際にはドライバ導入に難儀してしまった。導入までのメモを記す。
使用チップに諸説あり?
T4U Plusのチップとして、rtl8812au/rtl8814auを使っているという記述やrtl8822buを使っているという記述があり、非常に混乱してドライバ導入に手間取ってしまった。私の購入した表題の商品(アンテナが2本ついていてUSB3.0に接続できるもの)は、rtl8822buのドライバが正解だった。
ドライバの導入方法
基本的にはこちらに書いてある通りに行うが、一応自分で行った手順を記す。
https://gist.github.com/primaryobjects/f723b966d5f42094619f9c1048c7838b
$ sudo apt install dkms
$ git clone https://github.com/Mephysto666/rtl8822bu
$ cd rtl8822bu/
$ vi Makefile
$ sudo dkms add .
$ sudo dkms install -m 88x2bu -v 1.1
環境によっては、ドライバ構築に必要なパッケージを更に追加でインストールする必要があるかもしれない(コンパイル関係のツールやカーネルヘッダファイル等。私の環境で追加が必要だったのはdkmsのみ)。また、今回はRaspberryPi用にドライバをビルドするため、Makefileを以下のように変更する。未変更のままdkms installすると、コンパイルエラーで先に進まない。PC環境では変更の必要はないと思う(未確認)。
変更前のMakefile(抜粋):
###################### Platform Related #######################
CONFIG_PLATFORM_I386_PC = y
CONFIG_PLATFORM_ARM_RPI = n
変更後のMakefile(抜粋):
###################### Platform Related #######################
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RPI = y
導入後はRaspberryPiを再起動して動作を確認する。再起動後に子機をUSBポートに接続すると、子機の緑のLEDがチカチカするようになった。STAモードで5GHz-APに接続した際のiwconfigの出力は以下のようになった。5GHzで接続されていることがわかる。
wlan0 IEEE 802.11AC ESSID:"XXXXXXXXXXXX-XX" Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency:5.26 GHz Access Point: XX:XX:XX:XX:XX:XX
Bit Rate:867 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=89/100 Signal level=35/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
最後に
とりあえずドライバは導入することができたが、動作の安定性や実際の通信速度等は適宜確認する必要がある。ドライバをdkmsに登録したのでカーネル更新とドライバ更新は連動するはず(dkmsの仕組は知らなかった)。