温馨提示×

centos如何编译无线驱动

小樊
44
2026-10-23 19:17:29
栏目: 智能运维

在 CentOS 上编译无线网卡驱动,通常遵循 “装内核开发包 → 下载驱动源码 → 编译安装 → 加载模块” 的流程。下面给你一个通用、可操作的步骤说明(以常见 USB/PCI 无线网卡为例,如 RTL8812AU、RTL8821CE、Intel/ath 系列等)。


一、准备工作(必须)

1. 更新系统

sudo yum update -y

2. 安装编译工具和内核头文件

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 等)


三、获取无线驱动源码

常见来源

  • 官方 GitHub(最常见)
  • 网卡厂商官网
  • ELRepo / RPM Fusion

例如(示例):

git clone https://github.com/torvalds/linux.git  # 不推荐新手
# 或
git clone https://github.com/aircrack-ng/rtl8812au.git

四、编译并安装驱动

一般流程(90% 驱动适用)

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

七、常见问题排查

1. 编译报错:missing kernel headers

→ kernel-devel 版本不匹配

2. 无法识别网卡

dmesg | tail

看是否有 unknown device

3. Secure Boot 阻止

→ 关闭 Secure Boot 或签名模块


八、CentOS 7 / 8 差异说明

  • CentOS 7:用 yum
  • CentOS 8(已停更):建议用 Alma / Rocky
  • CentOS Stream:用 dnf

九、我可以更具体帮你

如果你愿意,可以告诉我:

  1. CentOS 版本
  2. 无线网卡型号(lspci / lsusb 输出)
  3. 报错信息

我可以直接给你 针对你网卡的编译命令。

0 踩