前提
大部分情况都是因为当前系统的内核不满足驱动文件的编译条件,可以通过驱动文件中的文档来确定是否要升级内核还是降级内核,
对于升级内核只需要下载指定的内核版本安装即可,降级内核(暂时不清楚是否会引发其他问题)
找到适合自己的内核
github 搜索 RTL88x2BU,会出现很多大神维护的驱动文件,然后检查自己的设备是否符合驱动的编译条件,如果自己系统的内核版本和gcc都符合要求,那就是皆大欢喜,直接按照要求编译安装就可以了;如果不满足要求,调整自己的内核和gcc版本;
https://github.com/cilynx/rtl88x2BU_WiFi_linux_v5.3.1_27678.20180430_COEX20180427-5959
https://github.com/cilynx/rtl88x2BU_WiFi_linux_v5.2.4.4_26334.20180126_COEX20171012-5044
https://github.com/its-izhar/rtl88x2bu-driver
升级内核
关于版本的要求并没有测试出来,实际测试可用的内核
驱动文件
https://pan.baidu.com/s/1xC2i3JtPoaYlLMbP7Op8Fg&shfl=sharepset
centos
uname -r
4.4.197-1.el7.elrepo.x86_64
ubuntu
uname -r
4.4.0-148-generic
具体升级步骤
centos
# 更新yum源仓库
yum -y update
# 导入ELRepo仓库的公共密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装ELRepo仓库的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
# 查看可用的系统内核包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# 选择lt版本(其它版本应该也可以)
yum --enablerepo=elrepo-kernel install kernel-lt -y
## 以下步骤可能让你的电脑无法正常开机,请谨慎操作!!!
# 查看系统上的所有可用内核:
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
# 设置新的内核为grub2的默认版本(“0” 是上一步查出来的刚安装内核的序号,请根据自己的实际情况填写)
grub2-set-default 0
# 生成 grub 配置文件并重启
grub2-mkconfig -o /boot/grub2/grub.cfg
# 验证
uname -r
4.4.197-1.el7.elrepo.x86_64
ubuntu
# 下载自己需要的内核版本
http://kernel.ubuntu.com/~kernel-ppa/mainline/
# 需要三个 all 、headers、image
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.148/linux-headers-4.4.148-0404148_4.4.148-0404148.201808151240_all.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.148/linux-headers-4.4.148-0404148-generic_4.4.148-0404148.201808151240_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.148/linux-image-4.4.148-0404148-generic_4.4.148-0404148.201808151240_amd64.deb
# 安装内核文件
sudo dpkg -i *.deb
# 查看内核版本
uname -r
4.4.0-148-generic
编译
centos
cd rtl88x2BU_WiFi_linux_v5.2.4.1_22719_COEX20170518-4444.20170613/
make
# 提示 /lib/modules/4.4.197-1.el7.elrepo.x86_64/build 不存在
cd /lib/modules/4.4.197-1.el7.elrepo.x86_64/
ls -l build
lrwxrwxrwx 1 root root 44 10月 18 15:35 build -> /usr/src/kernels/4.4.197-1.el7.elrepo.x86_64
# 发现软连接对应的文件夹不存在,安装 kernel-lt-devel
yum --enablerepo=elrepo-kernel install kernel-lt-devel
# 安装完后,再查看一下
ls -l build
# 然后继续编译驱动,得到“88x2bu.ko”
cd rtl88x2BU_WiFi_linux_v5.2.4.1_22719_COEX20170518-4444.20170613/
make
sudo make install