この手順に従いました。
https://github.com/abperiasamy/rtl8812AU_8821AU_linux
手順
- sudo apt-get install linux-image-rpi-rpfv linux-headers-rpi-rpfv dkms build-essential bc
- /boot/config.txtの変更
- makefileの変更
- make, make install, modprobeの実行
詳細
まず、apt-getで必要なアプリをインストールします
ここでハマったのが、/bootの領域。一時的に、60Mbyteくらい使うようで、途中で、領域不足で、止まりました。
うちの環境は、/bootに64Mしか割り当てていなかった
/bootと/の容量変換は、別のLinuxマシン上で、gpartedを実施して、変更して、再度実施
128Mを割り当てたところ、無事に通過
その後、再起動
unameを実施して、カーネルのバージョンを確認
$ uname -a
Linux pisan 4.9.0-4-rpi #1 Raspbian 4.9.51-1+rpi1~jessie (2017-10-12) armv6l GNU/Linux
このバージョンを/boot/config.txtへ記入。参照元は、文末で良さそうでしたが、冒頭に載せました。
当方の環境では、この記入をせずに、makeを実行したところ、異なるライブラリを参照しに行ったので、必要でした。
kernel=vmlinuz-4.9.0-4-rpi
initramfs initrd.img-4.9.0-4-rpi followkernel
再び、再起動
その後、ソースファイルのダウンロード
git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux
Makefileを書き換えます
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RPI = y
Raspberry Pi用のオプションへ変更して、make cleanと、makeの実行
$ make
make ARCH=arm CROSS_COMPILE= -C /lib/modules/4.9.0-4-rpi/build M=/home/pi/rtl8812AU_8821AU_linux modules
make[1]: Entering directory '/usr/src/linux-headers-4.9.0-4-rpi'
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_cmd.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_security.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_debug.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_io.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_ioctl_query.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_ioctl_set.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_ieee80211.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_mlme.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_mlme_ext.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_wlan_util.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_vht.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_pwrctrl.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_rf.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_recv.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_sta_mgt.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_ap.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_xmit.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_p2p.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_tdls.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_br_ext.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_iol.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_sreset.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_btcoex.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_beamforming.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_odm.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/efuse/rtw_efuse.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/osdep_service.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/linux/os_intfs.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/linux/usb_intf.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/linux/usb_ops_linux.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_linux.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/linux/xmit_linux.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/linux/mlme_linux.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/linux/recv_linux.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/linux/ioctl_cfg80211.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/linux/rtw_cfgvendor.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/linux/wifi_regd.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/linux/rtw_android.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/os_dep/linux/rtw_proc.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/hal_intf.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/hal_com.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/hal_com_phycfg.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/hal_phy.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/hal_dm.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/hal_btcoex.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/hal_hci/hal_usb.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/led/hal_usb_led.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/HalPwrSeqCmd.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/Hal8812PwrSeq.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/Hal8821APwrSeq.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/rtl8812a_xmit.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/rtl8812a_sreset.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/rtl8812a_hal_init.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/rtl8812a_phycfg.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/rtl8812a_rf6052.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/rtl8812a_dm.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/rtl8812a_rxdesc.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/rtl8812a_cmd.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/usb/usb_halinit.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/usb/rtl8812au_led.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/usb/rtl8812au_xmit.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/usb/rtl8812au_recv.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/usb/usb_ops_linux.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/rtl8812a/rtl8812a_mp.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/efuse/rtl8812a/HalEfuseMask8812A_USB.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/efuse/rtl8812a/HalEfuseMask8821A_USB.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_debug.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_AntDiv.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_AntDect.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_interface.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_HWConfig.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/HalPhyRf.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_EdcaTurboCheck.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_DIG.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_PathDiv.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_RaInfo.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_DynamicBBPowerSaving.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_PowerTracking.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_DynamicTxPower.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/PhyDM_Adaptivity.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_CfoTracking.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_NoiseMonitor.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/phydm_ACS.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8812a/HalHWImg8812A_FW.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8812a/HalHWImg8812A_MAC.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8812a/HalHWImg8812A_BB.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8812a/HalHWImg8812A_RF.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8812a/HalPhyRf_8812A.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8812a/phydm_RegConfig8812A.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8812a/phydm_RTL8812A.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8821a/HalHWImg8821A_FW.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8821a/HalHWImg8821A_MAC.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8821a/HalHWImg8821A_BB.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8821a/HalHWImg8821A_RF.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8821a/HalPhyRf_8821A.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8821a/phydm_RegConfig8821A.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8821a/phydm_RTL8821A.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/hal/OUTSRC/rtl8821a/PhyDM_IQK_8821A.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/platform/platform_ops.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_mp.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_mp_ioctl.o
CC [M] /home/pi/rtl8812AU_8821AU_linux/core/rtw_bt_mp.o
LD [M] /home/pi/rtl8812AU_8821AU_linux/rtl8812au.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/pi/rtl8812AU_8821AU_linux/rtl8812au.mod.o
LD [M] /home/pi/rtl8812AU_8821AU_linux/rtl8812au.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.9.0-4-rpi'
そして、インストール
$ sudo make install
install -p -m 644 rtl8812au.ko /lib/modules/4.9.0-4-rpi/kernel/drivers/net/wireless/
/sbin/depmod -a 4.9.0-4-rpi
最後に、ドライバを登録して、終わり
$ sudo modprobe -a rtl8812au
再起動すると、次のように認識されます
[ 19.979481] rtl8812au: loading out-of-tree module taints kernel.
[ 20.478821] RTL871X: module init start
[ 20.478835] RTL871X: rtl8812au v4.3.14_13455.20150212_BTCOEX20150128-51
[ 20.478839] RTL871X: rtl8812au BT-Coex version = BTCOEX20150128-51
[ 20.764421] random: crng init done
[ 20.932216] systemd-journald[176]: Received request to flush runtime journal from PID 1
[ 21.591709] usbcore: registered new interface driver rtl8192cu
[ 22.042452] RTL871X: rtw_ndev_init(wlan0)
[ 22.056043] usbcore: registered new interface driver rtl8812au
[ 22.056064] RTL871X: module init ret=0
無事に、wlan0として認識された
'''
$ ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:192.168.XX.1 Bcast:192.168.XX.255 Mask:255.255.255.0
inet6 addr: XXXX::XXXX:XXXX:XXXX:XXXX/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:984 errors:0 dropped:0 overruns:0 frame:0
TX packets:786 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:186316 (181.9 KiB) TX bytes:505524 (493.6 KiB)
いちおう、5Ghz帯も引っかかる。
$ sudo iwlist wlan0 scan | grep Channel
Frequency:2.412 GHz (Channel 1)
Frequency:2.412 GHz (Channel 1)
Frequency:2.412 GHz (Channel 1)
Frequency:2.412 GHz (Channel 1)
Frequency:2.437 GHz (Channel 6)
Frequency:2.437 GHz (Channel 6)
Frequency:2.437 GHz (Channel 6)
Frequency:2.442 GHz (Channel 7)
Frequency:2.447 GHz (Channel 8)
Frequency:2.462 GHz (Channel 11)
Frequency:2.452 GHz (Channel 9)
Frequency:2.457 GHz (Channel 10)
Frequency:2.457 GHz (Channel 10)
Frequency:2.462 GHz (Channel 11)
Frequency:2.462 GHz (Channel 11)
Frequency:2.462 GHz (Channel 11)
Frequency:2.462 GHz (Channel 11)
Frequency:2.462 GHz (Channel 11)
Frequency:2.462 GHz (Channel 11)
Frequency:2.412 GHz (Channel 1)
Frequency:2.472 GHz (Channel 13)
Frequency:2.472 GHz (Channel 13)
Frequency:2.472 GHz (Channel 13)
Frequency:5.18 GHz (Channel 36)
Frequency:5.18 GHz (Channel 36)
Frequency:5.18 GHz (Channel 36)
Frequency:5.18 GHz (Channel 36)
Frequency:5.22 GHz (Channel 44)
Frequency:5.22 GHz (Channel 44)
Frequency:5.24 GHz (Channel 48)
おしまい