ネット上に、ElecomのWBD-433SU2M2用のドライバをコンパイルするチュートリアルがありましたが、結構壊れてたりNPMのバージョンが古かったりして使えなかったので、新たにまとめました。
1. ラズパイの設定
手持ちのラズパイは Model B Rev 2.0、Wi-Fiが内臓されていない結構初期のものです。ネットで Elecom WDB-433SU2M2 が900円とかで売っていたので買ってみましたが、公式サイトによるとWindowsのみで使えるそうです。
このドングルは Realtek RTL8821AU チップセットなので、ラズパイ用にドライバをコンパイルできます。
RPi setup
このチュートリアルでは、最新のRaspbianイメージを使います。(2019-09-26)
上記もろもろ終わったら、ラズパイをアップデート。
$ sudo su
$ apt update && apt upgrade -y
そしてデバイスのカーネルバージョンを確認。
$ uname -a
Linux raspberrypi 4.19.93+ #1290 Fri Jan 10 16:34:37 GMT 2020 armv6l GNU/Linux
4.19.93+ と書いてあるのを確認。このカーネルヘッダーを使います。
カーネルソースをインストール。
$ apt install raspberrypi-kernel-headers
$ cd /usr/src
$ sudo ln -s linux-headers-4.14.79-v7+ linux
$ ls -la
total 16
drwxr-xr-x 4 root root 4096 Jan 23 18:19 .
drwxr-xr-x 10 root root 4096 Jan 23 18:19 ..
lrwxrwxrwx 1 root root 25 Jan 23 18:23 linux -> linux-headers-4.14.79-v7+
drwxr-xr-x 24 root root 4096 Jan 23 18:23 linux-headers-4.14.79+
drwxr-xr-x 24 root root 4096 Jan 23 18:23 linux-headers-4.14.79-v7+
そしてgitからドライバーを入手。
$ git clone -b v5.6.4.2 https://github.com/aircrack-ng/rtl8812au.git
$ cd rtl*
Makefileのヘッダーを下記のように変更。
$ sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
$ sed -i 's/CONFIG_PLATFORM_ARM_RPI = n/CONFIG_PLATFORM_ARM_RPI = y/g' Makefile
終わったら、コンパイル。
$ make
// 15分ぐらいかかる
$ make install
それが終わったら、正しくインストールされてるか確認:
$ dmesg | tail