CentOS7驱动Realtek 8188EU无线网卡:从抓包到上网,一篇就够
CentOS7驱动Realtek 8188EU无线网卡

笔记本装上CentOS7,插网线能认,拆下网线就抓瞎,无线列表空空荡荡,八成是Realtek 8188EU这小东西没驱动。别急着换系统,也别急着砸鼠标,跟着下面这一串操作,半小时内让它乖乖连Wi-Fi。
先确认是不是8188EU
终端里敲lsusb,看到0bda:8179或2357:010c字样,基本就是8188EU。再跑lspci -k如果啥都没抓到,那更坐实是USB接口的8188EU。确认完型号再往下走,省得装错驱动白忙活。
把系统先喂饱
CentOS7最小化装完常缺头文件,直接yum groupinstall "Development Tools" -y,再yum install kernel-devel kernel-headers elfutils-libelf-devel -y。内核版本和头文件必须对上号,uname -r与ls /usr/src/kernels/里出现的文件夹同名才算齐活,对不上就升级内核重启再来。
下载驱动源码

GitHub搜rtl8188eu,选星最多的那个仓库,地址里带lwfinger的就行。终端里git clone https://github.com/lwfinger/rtl8188eu.git,没装git先yum install git -y。下载完别急着编译,先进目录看一眼README,确认分支没大改。
编译三板斧
cd rtl8188eu,make all,make install。如果报error: implicit declaration of function ‘strncpy’,打开osdep/osdepservice.c,把strncpy换成strscpy,或者加#define GNUSOURCE再编译,保存后重新make clean && make。这一步卡的人最多,报错直接复制英文去搜,基本都有补丁。
载入模块并锁死
modprobe 8188eu,没报错就成功一半。lsmod | grep 8188能看到模块,ip link里出现wlan0或wlp0s20u1就算硬件被认领。为防止更新内核后掉驱动,把模块写死:echo '8188eu' > /etc/modules-load.d/8188eu.conf,再把刚编译出的8188eu.ko复制到/lib/modules/$(uname -r)/extra/,然后depmod -a,重启不掉算过关。
NetworkManager还是wpa_supplicant?

桌面版默认用NetworkManager,最小化版常靠wpa_supplicant。NM用户直接右上角点图标,找到自家路由输密码即可。命令行党先nmcli dev wifi list看列表,再nmcli dev wifi connect 自家SSID password 自家密码,一次成功就能记住。如果提示Secrets were required, but not provided,八成是密码里带特殊字符,用单引号包起来完事。
信号弱、断流怎么调
8188EU天生功率低,iwconfig wlan0看到Link Quality常年二三十,先换USB延长线把网卡怼到桌面,别闷在机柜背后。再echo 'options 8188eu rtwpowermgnt=0 rtw_enusbss=0' > /etc/modprobe.d/8188eu.conf,关掉省电模式,断流能缓解一半。路由开20 MHz频段、固定信道6或11,别用13,兼容性最好。
开机不自动连怎么办
NM用户打开/etc/NetworkManager/system-connections/,找到对应配置,把autoconnect=true写死,权限600别动。wpa_supplicant用户写个service:vi /etc/systemd/system/wifi8188.service
[Unit]Description=Realtek 8188EU WiFi
After=network-pre.target
[Service]
Type=oneshot
ExecStart=/sbin/wpasupplicant -iwlan0 -c/etc/wpasupplicant.conf -B
ExecStartPost=/sbin/dhclient wlan0
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
然后systemctl enable wifi8188.service,开机自启稳如老狗。
更新内核后掉驱动怎么救
CentOS7一次yum update内核升到3.10-1160,重启发现Wi-Fi又失踪,别慌。重新进驱动目录,make clean && make && make install,再depmod -a,重启即可。懒得每次都手动,写个DKMS:yum install dkms -y,dkms add -m 8188eu -v 1.0,dkms build -m 8188eu -v 1.0,dkms install -m 8188eu -v 1.0,以后内核升级自动重编,一劳永逸。
常见坑汇总
1. SecureBoot没关:UEFI主板开了SecureBoot,模块签名不过,直接拒绝载入,进BIOS关掉即可。
2. 双系统时间错乱:Win10默认把硬件时钟当local time,CentOS当UTC,导致每次进Linux时间差八小时,装完驱动顺手timedatectl set-local-rtc 1,两边时间统一。
3. USB3.0口干扰:蓝屏断流怪病,把网卡插USB2.0延长线,远离USB3硬盘口,信号立刻稳。
到此收工
CentOS7驱动Realtek 8188EU无线网卡,说难其实就三板斧:装头文件、编译、载入模块。照着上面一步步敲,半小时内无线图标就能亮起来。以后换内核、搬家、升级系统,记得回来看一眼DKMS那一节,保你Wi-Fi不再掉链子。
