手动编译 rtl8812AU 使适配Raspbian(Raspberry pi 3)
本文为原创文章,转载或引用时必须保留本文链接和此版权声明信息:
最近新添了一个alaf的AWUS036ACH无线网卡,芯片是RTL8812AU 支持AC/B/G/N 十分诱人。这块网卡配上kali/raspbian+raspberry十分适合搞事情
好消息是kali 2017.1以后的版本可以适配这个设备。坏消息是,raspberry需要手动编译。
步骤如下:
PS1:本文用的此芯片的驱动的版本是4.3.14。如果有新版本,你需要变更git clone的地址和DRV_VERSION的版本号。
PS2:本文使用的是Raspbian 4.9.59-v7+。没有现成的linux-headers,偷懒直接把大包安装了
PS3:使用root权限并执行以下命令(假设你没有安装dkms):
配置OS:
1 2 3 4 5 |
apt update apt upgrade apt dist-upgrade apt-get install raspberrypi-kernel-headers apt-get install linux-headers-4.9.0-4-all-armhf |
安装DKMS: 一个自动重编译;当一个新的内核被安装或者升级,安装内核模组的系统。
1 |
apt-get install dkms |
配置DKMS:
1 2 3 4 5 6 7 |
DRV_NAME=rtl8812AU DRV_VERSION=4.3.14 mkdir /usr/src/${DRV_NAME}-${DRV_VERSION} cd /usr/src/${DRV_NAME}-${DRV_VERSION} git clone https://github.com/diederikdehaas/rtl8812AU.git cd rtl8812AU git archive driver-${DRV_VERSION} | tar -x -C /usr/src/${DRV_NAME}-${DRV_VERSION} |
重点来了:
1 2 |
cd /usr/src/${DRV_NAME}-${DRV_VERSION} vim Makefile |
你需要重新Makefile文件中的的两项:
1 2 |
CONFIG_PLATFORM_I386_PC = y 改成 CONFIG_PLATFORM_I386_PC = n CONFIG_PLATFORM_ARM_RPI = n 改成 CONFIG_PLATFORM_ARM_RPI = y |
编译:
1 2 3 |
dkms add -m ${DRV_NAME} -v ${DRV_VERSION} dkms build -m ${DRV_NAME} -v ${DRV_VERSION} dkms install -m ${DRV_NAME} -v ${DRV_VERSION} |
重启:
1 |
reboot |
重启后使用ifconfig就可以看见了。
目前不确定monitor mode and frame injection是否可以使用。等有时间测试下
附上从dkms上卸载的命令,如果你想重新编译添加这个版本,或者单纯的想移除,这个命令可以帮助你
1 2 3 |
DRV_NAME=rtl8812AU DRV_VERSION=4.3.14 dkms remove ${DRV_NAME}/${DRV_VERSION} --all |