在 CentOS 上编译无线网卡驱动,通常遵循 “装内核开发包 → 下载驱动源码 → 编译安装 → 加载模块” 的流程。下面给你一个通用、可操作的步骤说明(以常见 USB/PCI 无线网卡为例,如 RTL8812AU、RTL8821CE、Intel/ath 系列等)。
sudo yum update -y
sudo yum groupinstall "Development Tools" -y
sudo yum install kernel-devel kernel-headers -y
⚠️ 重点:
kernel-devel 的版本必须和当前运行内核一致!
查看当前内核:
uname -r
查看安装的 kernel-devel:
rpm -qa | grep kernel-devel
如果不一致,重启选择对应内核,或安装对应版本:
sudo yum install kernel-devel-$(uname -r)
lspci | grep -i wireless
# 或 USB 网卡
lsusb
记录 芯片型号(如 RTL8821CE、RTL8812AU、MT7601U 等)
例如(示例):
git clone https://github.com/torvalds/linux.git # 不推荐新手
# 或
git clone https://github.com/aircrack-ng/rtl8812au.git
cd 驱动目录
make
sudo make install
或(DKMS 方式,推荐):
sudo make dkms_install
sudo modprobe 驱动名
示例:
sudo modprobe rtl8821ce
查看是否加载成功:
lsmod | grep 无线驱动名
iwconfig
echo 驱动名 | sudo tee /etc/modules-load.d/wifi.conf
→ kernel-devel 版本不匹配
dmesg | tail
看是否有 unknown device
→ 关闭 Secure Boot 或签名模块
yumdnf如果你愿意,可以告诉我:
lspci / lsusb 输出)我可以直接给你 针对你网卡的编译命令。