代码先锋网
apt-get update && apt-get upgrade
Kali Linux 安装无线网卡驱动解决办法
我的Github主页
(文章是以前写的,从旧号搬过来,顺便改改格式)
由于布线的限制,公司的台式机要连接无线网。采购回来的无线网卡是USB接口的,芯片型号是Realtek RTL8811AU的,这款无线网卡要是放在Windows环境下的话,即插即用,不用安装驱动。但若是放在linux下的话,可能涉及到重装驱动,至少来说,在kali下是如此,本人习惯了这款linux,也不想换其他的,当时想着无论怎样也得给弄出来,由于驱动盘上的驱动搞不定,折腾了好久,终于皇天不负有心人,解决了。以下方法完全适用于rtl8812AU、rtl8821AU和rtl8811AU安装于linux,其他USB无线网卡驱动应该也类似,解决的详细过程如下(以下操作请用root权限):
安装linux-headers
因为Kali Linux系统本身的内核不是很完整,缩减了一些东西,在此处体现的就是内核头文件linux-headers,需要手动安装,其它操作系统也类似。这个文件一会儿安装驱动的时候要用。以下是安装的命令
apt-get install linux-headers-$(uname -r)
apt-get install git
在安装之前可能需要更新软件源。如果软件仓库里边儿没有对应头文件,可能下一步不会成功。这意味着必须要为自己选一个合适的软件源。通过以上步骤,我们已经讲内核头文件安装成功。
下载驱动源代码
要下载源代码,首先需要在自己的linux下安装git工具(kali自带),当然了,我们也可以直接去网上download,但是方法有点太low了,我不推荐。我们可以直接去官网下载来安装,但是此处偷个懒,使用命令即可:
git clone https://github.com/diederikdehaas/rtl8812AU.git
apt-get install dkms
所有的apt-get安装一定要个自己选一个合适的软件源,不然不是版本太旧就是没有。
接下来,要做的是克隆源代码:
安装DKMS
DKMS是一个自动编译和安装内核模块的工具。其它地方怎么用我不清楚,但是这里得用,所以我们需要安装:
DRV_NAME=rtl8812AU
DRV_VERSION=4.3.14
mkdir /usr/src/${DRV_NAME}-${DRV_VERSION}
git archive driver-${DRV_VERSION} | tar -x -C /usr/src/${DRV_NAME}-${DRV_VERSION}
dkms add -m ${DRV_NAME} -v ${DRV_VERSION}
dkms build -m ${DRV_NAME} -v ${DRV_VERSION}
dkms install -m ${DRV_NAME} -v ${DRV_VERSION}
modprobe 8812au
DRV_NAME=rtl8812AU
DRV_VERSION=4.3.14
dkms remove ${DRV_NAME}/${DRV_VERSION} --all
安装驱动
接下来进入安装驱动的正题,首先我们需要进入先前git clone的目录,每个人克隆下来的目录不一样不就不说怎么cd了,然后我们执行以下操作:
启用驱动
卸载驱动
如果我们不用了的话,我们可以卸载驱动,卸载方法如下:
#! /bin/bash
sudo apt-get update && apt-get upgrade
sudo apt-get install linux-headers-$(uname -r)
if [ ! -d rtl8812AU ]; then
if [ `dpkg -l | grep git | wc -l` -eq 0 ];then
sudo apt-get install git -y
fi
git clone https://github.com/diederikdehaas/rtl8812AU.git
cd rtl8812AU
else
cd rtl8812AU
make clean
fi
sudo apt-get install dkms -y
DRV_NAME=rtl8812AU
DRV_VERSION=4.3.14
if [ ! -d /usr/src/${DRV_NAME}-${DRV_VERSION} ];then
sudo mkdir /usr/src/${DRV_NAME}-${DRV_VERSION}
sudo git archive driver-${DRV_VERSION} | tar -x -C /usr/src/${DRV_NAME}-${DRV_VERSION}
fi
sudo dkms add -m ${DRV_NAME} -v ${DRV_VERSION}
sudo dkms build -m ${DRV_NAME} -v ${DRV_VERSION}
sudo dkms install -m ${DRV_NAME} -v ${DRV_VERSION}
sudo modprobe 8812au
DRV_NAME=rtl8812AU
DRV_VERSION=4.3.14
sudo dkms remove ${DRV_NAME}/${DRV_VERSION} --all
sudo rm -rf /usr/src/${DRV_NAME}-${DRV_VERSION}