この度、自宅のLinuxサーバのWifiアダプターをWi-Fi6にしたいと考え、お値段もお手頃なELECOMのWDC-X1201DU3-Bを購入しました。
しかし、このWi-FiアダプターはWindows 10/11のみのサポートなので、Linuxでは通常利用することができませんでした。
ネットを探してもなかなか情報が見つからず、途方にくれていましたが、Windowsのデバイスドライバを見たときに、このアダプターは「Realtek 8832AU Wireless LAN WiFi6 USB NIC」が内蔵されていることがわかりました。そして、Realtek 8832AUのドライバを調査したところ、rtl8852au
というLinux用のドライバがサポートしていることがわかり、無事WDC-X1201DU3-BをLinuxで使うことができました。
この記事では、このrtl8852auをインストールして利用できるようにする方法について書きたいと思います。といっても、rtl8852auをREADMEに従ってインストールするだけです。
※なお、動作確認はUbuntu23.04で行いました。
1. 認識しているか確認する
まず、そもそもWiFiドライバが認識しているか確認してみます。
$ lsusb
...
Bus 003 Device 006: ID 056e:4020 Elecom Co., Ltd 802.11ax WLAN Adapter
この、「056e:4020 Elecom...」みたいなやつがWDC-X1201DU3-Bです。これが表示できていたらOKです。
2. 必要なパッケージのインストール
ドライバインストールの前に、インストールに必要なパッケージをインストールします。
$ sudo apt-get update
$ sudo apt-get install make gcc linux-headers-$(uname -r) build-essential git
3. rtl8852auをクローンする
次に、rtl8852auをGithubからクローンします。
$ git clone https://github.com/lwfinger/rtl8852au.git
4. make & make install
クローンしたリポジトリをビルドします。
$ cd /path/to/rtl8852au
$ make
$ sudo make install
※/path/to/rtl8852au
はクローンしたリポジトリのURLを表してます
ビルドが終わったら後、Ubuntuを再起動するとWifi6が使えるようになると思います!
dkmsを使って自動更新
上記のmakeコマンドを実行することでWifiルーターは使えるようになりますが、カーネルがアップデートされたら再度ドライバをインストールしないといけなくなります。
なので、dkmsというソフトウェアを使って、カーネルが更新されてもrtl8852auが使えるように設定しておきましょう。
$ sudo apt install dkms
$ cd /path/to/rtl8852au
$ sudo dkms add .
$ sudo dkms build rtl8852au -v 1.15.0.1
$ sudo dkms install rtl8852au -v 1.15.0.1
$ modinfo 8852au
$ modprobe 8852au
おまけ
実は、当初rtl8852auは元々WDC-X1201DU3に対応していませんでしたが、この記事を書く前に自分のプルリクが採用されたので、今はめでたくインストールするだけで使えるようになっているはずです
でもその結果、この記事はREADMEのインストール手順をそのまま書くだけになってしまった・・・。