この記事について
構築手順の備忘録です。
自宅ネットワークを構築する際に高出力のアダプターを使いたくて、こちらのrepository(cilynx/rtl88x2bu)を使わせて頂きました。
なお、8812auで利用したrepositoryと異なり64bitOSでの利用もできます。(記事作成時は上手く動かなかったのですがいつごろからか動くように、詳細は記録していません)はできません。
作業環境
Raspberry Pi: Raspberry Pi 4 Model B Rev 1.2
OS: Raspberry Pi OS DesktopまたはLite 32-bit (Raspbian GNU/Linux 11 (bullseye))
USB Wifi adapter: Realtek Semiconductor Corp. RTL88x2bu [AC1200 Techkey]
導入手順
パッケージ導入
Raspberry Pi OSはLiteを使う場合はgitのインストールが必要になります。
$ sudo apt install git -y
カーネルのソースツリーの外にソースが存在する Linux カーネルモジュールを生成するにはDynamic Kernel Module Support (DKMS)が必要になります。
$ sudo apt install dkms -y
packageの依存関係をインストールします。この構成だとlibssl-devとlibffi-devは不要かもしれません。オリジナルではbcが必要と書かれていましたが無くてもbuild/installが通りました 【2022.12.20訂正】 bcもあった方がよさそうです、libssl-dev libffi-devは無くても通ってるので消しておきます(2022.12.20)。
$ sudo apt install build-essential bc -y
更新して一度再起動します。
$ sudo apt update && sudo apt upgrade -y
$ sudo reboot
88x2bu diver source code取得
cilynx@GitHubからcloneします。
$ git clone https://github.com/cilynx/rtl88x2bu
依存関係
カーネルソースを取得します。
$ cd rtl88x2bu/
$ sudo apt install raspberrypi-kernel-headers -y
Makefile
プラットフォームをARM architectureに変更します。
$ sed -i 's/I386_PC = y/I386_PC = n/' Makefile
$ sed -i 's/ARM_RPI = n/ARM_RPI = y/' Makefile
install/build
$ VER=$(sed -n 's/\PACKAGE_VERSION="\(.*\)"/\1/p' dkms.conf)
$ sudo rsync -rvhP ./ /usr/src/rtl88x2bu-${VER}
$ sudo dkms add -m rtl88x2bu -v ${VER}
$ sudo dkms build -m rtl88x2bu -v ${VER} # Takes ~3-minutes on a 3B+
$ sudo dkms install -m rtl88x2bu -v ${VER}
再起動
$ sudo reboot
確認
wlan0とwlan1が起動できました。
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0bda:b812 Realtek Semiconductor Corp. RTL88x2bu [AC1200 Techkey]
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