ubuntu & centos RTL88x2BU 无线网卡驱动(v5.1.7_19806) 安装
前提
大部分情况都是因为当前系统的内核不满足驱动文件的编译条件,可以通过驱动文件中的文档来确定是否要升级内核还是降级内核,
对于升级内核只需要下载指定的内核版本安装即可,降级内核(暂时不清楚是否会引发其他问题)
找到适合自己的内核
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
升级指定版本
# 内核文件
kernel-lt-4.4.197-1.el7.elrepo.x86_64.rpm
# 编译驱动需要的文件
kernel-lt-devel-4.4.197-1.el7.elrepo.x86_64.rpm
# 安装
rpm -ivh kernel-lt*.rpm
# 查看内核插入顺序
awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
# 查看当前实际启动顺序
grub2-editenv list
# 设置默认启动
# grub2-set-default 0 // 0代表 是 awk 查询的结果,根据实际需要选择,也可以使用名称,如下
grub2-set-default 'CentOS Linux (4.xx.xx-1.el7.elrepo.x86_64) 7 (Core)'
grub2-editenv list
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
apt安装
# 安装
sudo apt-get install linux-image-4.4.0-179-generic linux-headers-4.4.0-179 linux-headers-4.4.0-179-generic
# 查看是否安装成功
dpkg -l | grep 3.16.0-43-generic
# 编辑grub文件
sudo vim /etc/default/grub
# GRUB_DEFAULT=0
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-179-generic"
# 更新 Grub 引导
sudo update-grub
ohers(删除多于的内核)
# 查看多余的内核
dpkg --get-selections| grep linux
# 删除其他版本的内核(deinstall的需要使用dpkg卸载)
sudo apt-get remove linux-headers-4.15.0-33
sudo dpkg -P linux-image-4.8.0-36-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