LoginSignup
2
3

More than 1 year has passed since last update.

Raspberry Pi に無線LAN USBドングル用8812auドライバーをインストールする

Last updated at Posted at 2022-11-26

この記事について

自分用の構築手順メモです。

基本的にGitHubで公開されているrepositoryのREADMEの手順通りに導入すれば動くのですが、たまに実行する時に嵌って時間を溶かすので備忘録を残します。

補足

自分の確認(2022.11.26)した範囲で、2021年10月まではfars-robotics.net/wifi-driversにbuild済みドライバーを提供下さっている方がいましたが現在は更新されていません。

利用可能な構築方法は多くの記事で紹介されていますが(例えばこちらの「Ubuntu 22.04のWIFIドライバ設定(rtl8812au)」など)、2022年2月より本稿執筆点までの期間においてはaircrack-ng@GitHubで公開されている手順に従うのが一番確実でした。

作業環境

Raspberry Pi: Raspberry Pi 4 Model B Rev 1.2
OS: Raspberry Pi OS Lite 64-bitまたは32-bit (Raspbian GNU/Linux 11 (bullseye))
USB Wifi adapter(NIC): Archer T2U Nano

導入手順

パッケージ導入

Raspberry Pi OSはLiteを使う場合はgitのインストールが必要になります。

$ sudo apt install git -y

カーネルのソースツリーの外にソースが存在する Linux カーネルモジュールを生成するにはDynamic Kernel Module Support (DKMS)が必要になります。

$ sudo apt install dkms -y

更新して一度再起動します。

$ sudo apt update && sudo apt upgrade -y
$ sudo reboot

8812au diver source code取得

aircrack-ng@GitHubからcloneします。

$ git clone -b v5.6.4.2 https://github.com/aircrack-ng/rtl8812au.git

依存関係

カーネルソースを取得します。

$ cd rtl8812au
$ sudo apt install raspberrypi-kernel-headers -y
$ CURRENT_VER=$(uname -r)
$ sudo ln -s /usr/src/linux-headers-${CURRENT_VER}/arch/arm/ /usr/src/linux-headers-${CURRENT_VER}/arch/armv7l

Makefile

プラットフォームをARM architectureに変更します。

32bit OS
$ 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
64bit OS
$ sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
$ sed -i 's/CONFIG_PLATFORM_ARM64_RPI = n/CONFIG_PLATFORM_ARM64_RPI = y/g' Makefile

errorが表示された場合は次のコマンドを実行します。

32bit OS
$ export ARCH=arm
$ sed -i 's/^MAKE="/MAKE="ARCH=arm\ /' dkms.conf
64bit OS
$ export ARCH=arm64
$ sed -i 's/^MAKE="/MAKE="ARCH=arm64\ /' dkms.conf

install/build

$ sudo make dkms_install
$ make && sudo make install

再起動

$ sudo reboot

確認

Archer T2U Nanoがwlan1でAPとして機能していることが確認できました。

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 2357:011e TP-Link AC600 wireless Realtek RTL8811AU [Archer T2U Nano]
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ ip a
               ・
               ・
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 192.168.XX.XXX/24 brd 192.168.XX.255 scope global noprefixroute wlan0
               ・
               ・
4: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 192.168.XX.XXX/24 brd 192.168.XX.255 scope global noprefixroute wlan1
               ・
               ・
$ iw dev
phy#1
        Interface wlan1
                ifindex 4
                wdev 0x100000001
                addr XX:XX:XX:XX:XX:XX
                ssid TP-Link_XXXX
                type AP
                txpower 19.00 dBm
phy#0
        Unnamed/non-netdev interface
                wdev 0x2
                addr XX:XX:XX:XX:XX:XX
                type P2P-device
                txpower 31.00 dBm
        Interface wlan0
                ifindex 3
                wdev 0x1
                addr XX:XX:XX:XX:XX:XX
                ssid TP-Link_XXXX
                type managed
                channel 40 (5200 MHz), width: 80 MHz, center1: 5210 MHz
                txpower 31.00 dBm
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3