Raspberry Pi 3 BでBUFFALO WI-U2-433DM/NをMonitorモードで使うための手順を紹介します。
*モニターモードは自宅でのみ使用してください。
環境
raspberry pi os lite(64bit)
pi@raspberrypi2:~$ uname -a
Linux raspberrypi2 5.15.84-v8+ #1613 SMP PREEMPT Thu Jan 5 12:03:08 GMT 2023 aarch64 GNU/Linux
インストール手順
SDカードにOSを書き込み、起動後。以下をインストール。
sudo apt update
sudo apt install git
sudo apt install dkms
git clone -b v5.6.4.2 https://github.com/aircrack-ng/rtl8812au.git
cd rtl8812au/
cloneしたリポジトリに入り、設定をraspberry pi 64bit用に変更。32bitだと別の設定になります。
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
export ARCH=arm64
sed -i 's/^MAKE="/MAKE="ARCH=arm64\ /' dkms.conf
ここまででインストールしようとすると、kernel headerが見つからないエラーが出ます。そのため、kernel headerをインストール。
sudo apt install raspberrypi-kernel-headers
*次の項目は、実際にやらなくてよいです。困った際は、以下の手順を実行してみてください。
kernel headerがない状態でインストールすると以下のようになる。
pi@raspberrypi2:~/rtl8812au$ sudo make dkms_install
dkms build -m 8812au -v 5.6.4.2_35491.20191025
Error! Your kernel headers for kernel 5.15.84-v8+ cannot be found.
Please install the linux-headers-5.15.84-v8+ package,
or use the --kernelsourcedir option to tell DKMS where it's located
make: *** [Makefile:1790: dkms_install] Error 1
そのため、kernel headerをインストールします。
sudo apt install raspberrypi-kernel-headers
再度インストール。途中でdkms_installを実行した場合、すでにあるといわれます。
pi@raspberrypi2:~/rtl8812au$ sudo make dkms_install
cp -r * /usr/src/8812au-5.6.4.2_35491.20191025
dkms add -m 8812au -v 5.6.4.2_35491.20191025
Error! DKMS tree already contains: 8812au-5.6.4.2_35491.20191025
You cannot add the same module/version combo more than once.
make: *** [Makefile:1789: dkms_install] Error 3
dkms_removeを実行します。
pi@raspberrypi2:~/rtl8812au$ sudo make dkms_remove
これでインストールできるようになります。
sudo make dkms_install
これで、ドライバのインストールが完了しました。
再起動すると設定が反映されます。
sudo reboot
次に、monitorモードを使えるようにします。
sudo apt-get install aircrack-ng
sudo airmon-ng check kill
sudo airmon-ng start wlan1
pi@raspberrypi2:~$ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=31 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
wlan1 unassociated ESSID:"" Nickname:"<WIFI@REALTEK>"
Mode:Monitor Frequency=2.457 GHz Access Point: Not-Associated
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=0/100 Signal level=0 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
monitorモードで監視してみる。
sudo airodump-ng wlan1
元に戻す手順は以下です。
sudo airmon-ng stop wlan1
pi@raspberrypi2:~$ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=31 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
wlan1 IEEE 802.11AC ESSID:"Buffalo-A-D6A0" Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency:5.64 GHz Access Point: 58:27:8C:AE:D6:A4
Bit Rate:434 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=90/100 Signal level=-14 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
sudo systemctl restart NetworkManager