Rasbian-Busterでもrtl8812auが稼働
ラズパイZEROのupgrade操作でシステムのバージョンが上がってしまい、これまでつかってきたrtl8812auのドライバーが動かなくなった。
色々試したが結局ダメでシステムのバージョンの古いものを再インストールして使う羽目となった。
しかし、このままではバージョンが上げられないので出来れば最新のBusterで稼働するドライバが有ればと思っており、暇暇にネットを検索しているうちについに見つけることが出来たので以下に詳細を書いておく。
参考にさせて頂いたホームページはhttps://yaplog.jp/shizuka2/archive/256 偶然出会った。
使ったドライバー https://github.com/aircrack-ng/rtl8812au
にあるrtl8812au-5.6.4.2.zipである。
コンパイルの方法は今までやってきた方法と同じである。
$ sudo apt-get update
$ sudo apt-get install raspberrypi-kernel-headers
でインストール後
$ cd /usr/src
$ sudo ln -s linux-headers-4.19.75+ linux
でリンクを張る。rtl8812au-5.6.4.2.zipをunzipで展開後
$ cd rtl8812au-5.6.4.2
で移動後、Makefileをviで読み込み以下の修正
CONFIG_PLATFORM_I386_PC = n ## y -> n
CONFIG_PLATFORM_ARM_RPI = y ## n -> y
$ sudo make
でこれまでのコンパイルより二倍の40分程度を要した。
作成されたドライバーは88XXau.koでこれまでのrtl8812au.koとは名前も異なっている。
$ sudo insmod 88XXau.ko で組み込みドングルを挿すと動作した。
pi@raspberrypi:~/rtl8812au-5.6.4.2 $ iwconfig
wlan0 IEEE 802.11 ESSID:"0024A511B049"
Mode:Managed Frequency:2.462 GHz Access Point: 00:24:A5:11:B0:49
Bit Rate=65 Mb/s Tx-Power=31 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=70/70 Signal level=-27 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
lo no wireless extensions.
wlan1 IEEE 802.11bgn ESSID:"0024A511B049" Nickname:""
Mode:Managed Frequency:2.462 GHz Access Point: 00:24:A5:11:B0:49
Bit Rate:150 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=100/100 Signal level=88/100 Noise level=0/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
pi@raspberrypi:~/rtl8812au-5.6.4.2 $ ifconfig
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 18 bytes 1348 (1.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 18 bytes 1348 (1.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163 mtu 1500
inet 192.168.0.67 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::ccd3:e437:2433:5e0f prefixlen 64 scopeid 0x20
ether b8:27:eb:78:10:b7 txqueuelen 1000 (Ethernet)
RX packets 424 bytes 56601 (55.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 327 bytes 49686 (48.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan1: flags=4163 mtu 2312
inet 192.168.0.68 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::9135:621a:23d1:2d60 prefixlen 64 scopeid 0x20
ether 00:0f:00:73:eb:96 txqueuelen 1000 (Ethernet)
RX packets 16 bytes 6086 (5.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 38 bytes 7777 (7.5 KiB)
TX errors 0 dropped 3 overruns 0 carrier 0 collisions 0
wlan1が今回組み込んだrtl8812auを使ったものである。
このドライバーにはCONFIG_PLATFORM_ARM_RPにarm64の項目もあり、ラズパイ4や3B+等にも対応できそうである。rtl8812au-5.6.4.2.zipに出会ったのは幸運であった。これで当分安心してrtl8812auを使う事が出来そうである。