一、准备工作:确认无线网卡信息 在安装驱动前,需先明确无线网卡的型号和系统内核版本,确保驱动兼容。
ls /sys/class/net/,若输出中包含wlan0(或类似无线接口名),则说明系统已识别无线网卡;若仅显示eth0(有线网卡)、lo(本地回环),则需进一步确认无线网卡是否存在。lspci | grep -i network(PCI无线网卡)或lsusb(USB无线网卡),输出中会显示网卡型号(如Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter)。uname -r,获取系统内核版本(如3.10.0-1160.el7.x86_64),驱动需与内核版本匹配。二、安装基础依赖包 驱动编译需要编译工具和内核头文件,需提前安装:
sudo yum install -y gcc make kernel-devel-$(uname -r) kernel-headers-$(uname -r) wget
gcc/make:编译驱动源码的工具;kernel-devel/kernel-headers:对应内核版本的开发包,驱动编译时需引用内核头文件。三、下载并安装无线网卡驱动 驱动安装方式因网卡型号而异,以下以Realtek RTL8188CE(常见于老款设备)和RTL8188EU(常见于USB无线网卡)为例说明:
realtek.com.tw)下载对应型号和内核版本的驱动(如内核为2.6.32,选择“Linux driver for kernel 2.6.23 (and earlier)”版本);或从可信开源社区获取(如GitHub上的realtek-rtl8188ce-linux-driver仓库)。tar -zxvf rtl8192ce_linux_2.6.0006.0321.2011.tar.gz # 解压驱动包(根据实际文件名调整)
cd rtl8192ce_linux_2.6.0006.0321.2011
sudo make # 编译驱动
sudo make install # 安装驱动
sudo modprobe rtl8192ce # 加载驱动模块(模块名根据驱动包名称调整,如rtl8188ce)
iwconfig,若输出中出现wlan0且有802.11bgn等无线标识,则说明驱动安装成功。https://github.com/lwfinger/rtl8188eu)克隆最新代码:git clone https://github.com/lwfinger/rtl8188eu.git
cd rtl8188eu
make # 编译驱动(需提前安装依赖)
sudo make install # 安装驱动
sudo modprobe rtl8188eu # 加载驱动模块
iwconfig,确认wlan0存在且驱动加载成功。四、配置无线网络 驱动安装完成后,需配置无线网络连接:
sudo nano /etc/sysconfig/network-scripts/ifcfg-wlan0 # 若接口名为wlan0(根据实际情况调整)
添加以下内容(替换SSID和PASSWORD为你的WiFi名称和密码):TYPE=Wireless
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp # 自动获取IP(若需静态IP,改为static并配置IPADDR等参数)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=wlan0 # 接口名(需与配置文件名一致)
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx # 可选,自动生成或保留原有
DEVICE=wlan0 # 接口名
ONBOOT=yes # 开机自动启动
SSID=Your_WiFi_SSID # WiFi名称
MODE=Managed
KEY_MGMT=WPA-PSK # 加密方式(如WPA2-PSK)
PSK=Your_WiFi_Password # WiFi密码
sudo systemctl restart network # CentOS 7及以下
# 或(CentOS 8及以上)
sudo systemctl restart NetworkManager
nmcli工具(需安装NetworkManager):sudo nmcli con up id Your_WiFi_SSID # 激活连接(SSID替换为你的WiFi名称)
ping www.baidu.com # 测试网络连通性
若返回数据包,则说明无线网络连接成功。五、常见问题排查
lsmod | grep rtl(或对应驱动模块名),若无输出,说明驱动未加载,执行sudo modprobe rtl8188ce(或rtl8188eu)手动加载。rfkill list,若显示“blocked”,执行rfkill unblock all解除禁用)。