Ubuntu WiFi无法连接时,90%问题可按四步定位:一查网卡是否被识别(ip link show、lspci/lsusb);二查rfkill软封锁;三查NetworkManager是否运行;四查驱动固件及IP/DNS配置。

Ubuntu上WiFi无法连接,绝大多数情况不是系统坏了,而是某个环节卡住了。先别改配置、别重装,按顺序检查这四个关键点,90%的问题当场就能定位。
确认无线网卡是否被系统识别
这是所有问题的起点。如果系统根本没“看见”你的无线硬件,后面所有操作都是徒劳。
- 运行
ip link show,找名字含wlan或wlx的接口(比如wlan0)。如果列表里压根没有这类接口,说明硬件未识别 - 进一步验证:运行
lspci | grep -i wireless(内置网卡)或lsusb(USB网卡),看是否有无线设备输出 - 常见卡点:
rfkill list显示Soft blocked: yes—— 这表示无线被软件禁用,执行sudo rfkill unblock all即可 - 树莓派用户注意:
ls /sys/class/net/看不到wlan0?很可能是固件缺失或brcmfmac模块没加载,试sudo modprobe brcmfmac
NetworkManager 是否在运行
Ubuntu桌面版默认靠 NetworkManager 管理WiFi,它挂了,图形界面就“失明”,命令行连 nmtui 都打不开。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 查状态:
systemctl status NetworkManager,若显示inactive (dead)或failed,就是它的问题 - 启动它:
sudo systemctl start NetworkManager;设开机自启:sudo systemctl enable NetworkManager - 服务器版用户注意:Ubuntu Server 默认不装
NetworkManager,你得手动装:sudo apt install network-manager,否则nmcli和nmtui都不可用 - 冲突警告:如果同时启用了
systemd-networkd,它会和NetworkManager抢控制权,必须停掉前者:sudo systemctl stop systemd-networkd
扫描不到WiFi网络或连不上特定SSID
能看见网卡、NetworkManager 也活了,但扫描不到信号,或连上后立刻断开,大概率是驱动/固件或频段兼容性问题。
- 手动扫描:
sudo iwlist wlan0 scan | grep ESSID。如果返回空,先排除路由器设置(是否隐藏SSID?是否只开5GHz而网卡只支持2.4GHz?) - Intel网卡常见报错:
dmesg | grep iwlwifi出现Failed to load firmware—— 说明固件缺失,需更新linux-firmware包:sudo apt update && sudo apt install --reinstall linux-firmware - Realtek RTL88x2BU等USB网卡:Ubuntu原生驱动支持差,必须装第三方驱动(如
rtl88x2bu-aircrack-dkms),且依赖内核头文件:sudo apt install linux-headers-$(uname -r) - 树莓派BCM43455:Ubuntu 22.04+已内置支持,但若
sudo dmesg | grep brcm报firmware not found,要手动复制固件到/lib/firmware/brcm/
连上了却无法上网(IP/DNS/路由问题)
右上角WiFi图标显示已连接,但浏览器打不开、ping 8.8.8.8 失败——这是典型的“连得上,通不了”。
- 先测纯IP连通性:
ping -c 4 8.8.8.8。成功 → 问题在DNS;失败 → 问题在IP获取或路由 - 查IP:
ip addr show wlan0。若只有169.254.x.x(链路本地地址),说明DHCP没拿到IP,试sudo dhclient wlan0 - 查默认网关:
ip route | grep default。若无输出,手动加:sudo ip route add default via 192.168.1.1(换成你路由器的实际IP) - DNS故障最常见:检查
/etc/resolv.conf是否为空或内容异常;临时修复:echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
真正容易被忽略的是驱动与内核版本的隐性不匹配——比如升级Ubuntu后,旧固件不再被新内核信任,dmesg 里可能只有一行模糊的 firmware request failed,不细看根本发现不了。遇到反复失败,务必先跑一遍 dmesg | grep -i wifi 和 journalctl -u NetworkManager -n 50,错误源头往往就藏在前几行里。

















