1. 为什么我们需要手动编译这个驱动?
如果你最近给自己的电脑,特别是台式机或者迷你主机,新装了一块支持WiFi6的无线网卡,然后兴冲冲地装上了麒麟系统,结果发现网络列表空空如也,连不上WiFi,那大概率就是遇到我今天要说的这个问题了。我自己的办公机就踩过这个坑,当时为了追求高速网络,买了块Realtek 8852BE的网卡,结果麒麟系统直接不认,那种感觉就像买了辆跑车却发现没钥匙。
问题的根源在于,Realtek RTL8852BE是一款比较新的WiFi6网卡,它的性能确实不错,但对应的驱动进入主流Linux内核版本的时间相对较晚。像麒麟V10 SP1这类基于较老稳定内核(比如5.4)的发行版,其官方仓库里自然就没有预装这个驱动。操作系统内核就像一个庞大的“硬件翻译官”库,它不认识你的新网卡,就没法指挥它工作。所以,我们没办法像安装普通软件那样,简单地 sudo apt install 一个驱动就完事。
那怎么办?等系统更新?可能有点慢。最直接、最能自己掌控的方法,就是手动编译安装驱动。听起来有点“硬核”,但别怕,这个过程其实就像按照一份详细的食谱做菜,步骤清晰,只要跟着来,成功率非常高。手动编译的好处是,你能立刻用上最新的驱动版本,解决兼容性问题,甚至有时候性能比后续内核集成的通用驱动还要好一些。这篇文章,我就会把我自己成功在麒麟V10 SP1上搞定RTL8852BE驱动的全过程,掰开了、揉碎了讲给你听,保证即使你是第一次接触编译,也能跟着做下来。
2. 动手前的准备工作:打好地基
编译驱动不是变魔术,它需要一个合适的“工作车间”。这个车间就是你的系统编译环境。如果环境没准备好,后面肯定会报各种奇怪的错误。所以,这一步千万别跳过,我们一步步来检查。
2.1 确认你的网卡型号
首先,我们得百分之百确定网卡型号就是RTL8852BE。虽然标题已经说了,但自己验证一下更放心。打开你的终端(Terminal),输入下面这条命令:
sudo lspci | grep -i network
或者,你也可以用更详细的命令查看所有PCI设备,然后慢慢找:
sudo lspci -vnn | grep -i realtek -A 10
执行后,你应该会看到类似这样的输出:
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device [10ec:b852] (rev ff)
这里的关键是 [10ec:b852],10ec 是Realtek的厂商ID,b852 就是8852BE这个设备的ID。看到这个,就说明系统识别到了硬件,只是没有驱动。如果连这一行都没有,那你可能需要检查一下网卡是否插牢,或者是不是其他型号。
2.2 检查系统与内核版本
驱动编译和内核版本紧密相关。我们使用的开源驱动项目 rtw89,对内核版本有要求。在终端输入:
uname -r
这会输出你当前正在运行的内核版本,比如 5.4.18-35-generic。同时,我们也需要知道系统更详细的信息,麒麟系统可以这样看:
cat /etc/.kyinfo
这会显示你的麒麟系统具体是哪个发行版本,比如 Kylin-Desktop-V10-SP1-Release-2107。记录下这些信息,万一后面遇到问题,方便排查。
2.3 安装必备的编译工具和头文件
这是准备工作的核心步骤。我们需要安装编译驱动所必须的软件包,包括编译器、构建工具,以及最重要的——与你当前运行内核完全匹配的内核头文件。
打开终端,依次执行以下命令:<


7274

被折叠的 条评论
为什么被折叠?



