WDB-433SU2M2のドライバをRaspberry Pi 1 Model B用にコンパイルする方法

ネット上に、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