资讯详情

Ubuntu 20.04 连不上 Wi-Fi?驱动安装与 Netplan 配置排查指南

📅 2026/10/6 1:20:51 | 华诺云谱 👁 阅读
Ubuntu 20.04 连不上 Wi-Fi?驱动安装与 Netplan 配置排查指南
简介解决Ubuntu 20.04无法连接WiFi、无无线图标等常见问题这份PDF收录了两种实用方案适合刚装系统的新手以及遇到无线网卡驱动或网络配置异常的运维人员。方案一通过安装bcmwl-kernel-source驱动修复Broadcom无线网卡识别失败的情况并覆盖apt更新至安装和重启的完整驱动安装流程方案二通过编辑Netplan配置文件手动写入WiFi的SSID与密码再执行netplan try/apply使配置生效适合驱动正常但网络设置异常的场合。资源为单个PDF文档大小仅36KB内容紧凑、步骤清晰配合终端命令可边看边操作。目前已有20724人学习下载说明该问题在Ubuntu 20.04用户中较为普遍。读者能从中学到完整的驱动安装命令、Netplan配置示例以及应用后的验证方法遇到类似连接故障时可快速定位并解决避免在论坛和教程间反复搜寻有效节省排错时间。1. Ubuntu 20.04 连接 Wi-Fi 连不上先说结论再动手装完 Ubuntu 20.04 发现桌面右上角根本没有 Wi-Fi 图标网线一拔就只能当单机用。这个“ubuntu20.04 连接 wifi”的问题根源就两类要么无线网卡驱动没装上要么系统网络管理根本没接管无线接口。驱动问题九成出现在 Broadcom 博通网卡上装一个bcmwl-kernel-source就能救配置问题则要改/etc/netplan下的 YAML 文件。下面两种方法我都实测过第一种适合急着联网装驱动第二种适合在没图形界面的服务器上把 Wi-Fi 配出来。新手照着做能通熟手可以直接跳到第 5 章看踩坑记录省得在玄学问题上浪费时间。2. 为什么连不上先查清网卡型号和驱动栈很多人一上来就照着网上的教程敲sudo apt install bcmwl-kernel-source结果装完重启还是没 Wi-Fi。原因很简单你的网卡可能根本不是博通的或者驱动装上了但被系统层面的其他机制挡住了。先花五分钟定位问题比盲目试命令靠谱得多。2.1 先确认无线网卡型号和驱动状态在终端执行下面三条命令分别查看网卡硬件信息、驱动加载情况和无线接口状态# 查看 PCI 设备中带 Network 字样的条目 lspci | grep -i network # 查看网卡更详细的信息包括驱动模块名 lspci -vnn | grep -A 3 -i network # 查看已加载的无线驱动模块 lsmod | grep -E wl|b43|brcm|iwl第一条命令的输出会告诉你网卡品牌比如 Intel、Realtek、Broadcom 或 Qualcomm Atheros。第二条命令能看到Kernel driver in use字段如果显示wl说明博通驱动已经在工作如果显示b43或者什么都没有说明驱动没加载或者没装。第三条命令是确认模块是否真的进了内核。这一步的目的就是搞清楚硬件是否被系统识别、驱动缺失属于哪一层。注意lspci | grep -i network如果没有任何输出不代表没有无线网卡可能是 USB 无线网卡或者接口名字不是标准 PCI 设备需要配合lsusb再查一次。2.2 分清“没驱动”和“没配置”这是 20.04 里最容易混淆的两个场景。执行ip a看输出如果有wlan0或wlx开头的接口说明驱动已经工作连不上纯粹是配置问题直接跳到第 4 章如果只有lo和eth0说明驱动没生效先走第 3 章。# 列出所有网络接口和 IP 地址 ip a # 查看无线接口的协议状态旧工具但信息更直观 iwconfigiwconfig的输出里如果能看到IEEE 802.11字样说明无线网卡已被驱动接管如果报No such device就是驱动层面翻车了。还有一个熟人容易忽略的检查点是rfkill很多笔记本有硬件开关或功能键控制 Wi-Fi 模块供电# 查看射频硬件的软硬阻塞状态 rfkill list如果看到Wireless LAN Soft blocked: yes说明系统层面的软开关把它禁用了执行sudo rfkill unblock wifi再试不需要重装驱动。2.3 有线网络是唯一的后悔药无论走哪条路前提都是机器能上网。Ubuntu 20.04 默认用 Netplan 管理网络有线网口一般自动开启 DHCP插上网线就能通。如果你是在虚拟机里装的系统需要在虚拟机设置里把网卡模式改成 NAT 或桥接否则连有线网络都拿不到 IP。我遇到过好几次用户卡在sudo apt update报错最后发现是虚拟机忘了开有线网络这种问题跟 Ubuntu 本身毫无关系。3. 方法一Broadcom 网卡装bcmwl-kernel-source驱动如果你的网卡是博通 BCM43xx 系列Ubuntu 默认内核自带的b43驱动对部分型号支持很烂表现出来就是 Wi-Fi 图标消失、iwconfig报错、扫描不到热点。这时候直接装博通官方闭源驱动一次解决。3.1 为什么首选bcmwl-kernel-source这个包是 Broadcom 官方驱动的 Ubuntu 封装版内核模块名叫wl支持 BCM4311、BCM4312、BCM4313、BCM43224、BCM43225、BCM43228、BCM4331、BCM4360 等一大批常见型号。它跟开源的b43驱动互斥装完会自动屏蔽冲突模块省去手动黑名单的麻烦。如果你的网卡是 Intel 或 Realtek这个包装了也没用反而可能因为模块冲突把系统搞出新的网络问题。在能上网的前提下先刷新软件源索引# 更新软件源列表必须保证当前网络可达 sudo apt update这一步出错就回头看 2.3 节先把网络通起来。更新成功后安装驱动# 安装博通闭源驱动 sudo apt-get install bcmwl-kernel-source安装过程中会编译内核模块需要dkms支持Ubuntu 20.04 默认有。如果提示缺依赖sudo apt-get install dkms build-essential补上再重新装。装完重启# 重启让内核加载新模块 sudo reboot重启后执行ip a应该能看到wlan0接口出现桌面右上角也会有 Wi-Fi 图标了。在 GNOME 设置里点开无线网络扫描到热点就能直接连不需要写任何配置文件。注意部分笔记本型号比如老款 Dell、HP 的博通网卡装完驱动后如果蓝牙也走同一个芯片可能需要额外安装rfkill来协调射频开关遇到的话参考 5.3 节。3.2 安装后必须做的验证不要装完重启就完事至少做三步确认驱动真正工作# 1. 确认 wl 模块已加载 lsmod | grep wl # 2. 确认无线接口存在 ip a | grep wlan # 3. 确认能扫描到热点 sudo iwlist wlan0 scan | grep SSID第三条命令如果输出一堆 ESSID说明无线网卡收发功能正常剩下就是连接密码或加密方式的问题。如果iwlist报Failed to read scan data大概率是驱动虽然加载了但固件没初始化试试重新sudo modprobe -r wl sudo modprobe wl再扫。4. 方法二Netplan YAML 配置 Wi-Fi适合驱动没问题但没图标的场景如果在第 2 章确认驱动工作正常但系统就是没有图形化 Wi-Fi 图标或者你连的是 Ubuntu Server 这种没有桌面的版本那就直接改 Netplan 配置。Ubuntu 20.04 用 Netplan 接管网络配置YAML 文件改对了一样能上 Wi-Fi。4.1 先看懂/etc/netplan/50-cloud-init.yaml默认情况下20.04 的配置文件叫/etc/netplan/50-cloud-init.yaml但有的版本可能是01-netcfg.yaml或00-installer-config.yaml。直接看目录里有什么# 列出 netplan 目录下所有配置文件 ls /etc/netplan/用cat查看内容默认的有线配置长这样network: ethernets: eth0: dhcp4: true optional: true version: 2ethernets下面定义有线接口dhcp4: true表示自动获取 IPoptional: true表示这个接口不是必需项。你要做的是在version: 2下面加一个wifis块把无线接口配置写进去。4.2 修改配置文件参数表与完整 YAML用sudo nano /etc/netplan/50-cloud-init.yaml打开文件改成下面这个结构network: ethernets: eth0: dhcp4: true optional: true version: 2 wifis: wlan0: dhcp4: true optional: true access-points: 你的wifi的ssid: password: 你的密码保存后先别急着apply对照参数表检查一遍参数作用常见踩坑点wifis无线接口配置块的顶层关键字必须放在version: 2之后缩进对齐ethernetswlan0无线接口名如果实际接口不是 wlan0ip a看到什么就填什么dhcp4: true开启 IPv4 自动分配在无 DHCP 的热点环境要改成false并手动配addressesoptional: true允许接口在找不到网络时不阻塞启动服务器场景强烈建议保留否则开机可能卡两分钟access-points要连接的热点列表SSID 带特殊字符要加引号password热点密码仅支持 WPA/WPA2 个人版企业版 802.1X 需要额外写auth块特别注意SSID 和密码都必须用英文引号包裹如果密码里有单引号外层用双引号。缩进只能用空格不能用 TabYAML 解析器对缩进极其敏感一个空格错位就整个配置失效。4.3netplan try和netplan apply的区别改完配置后的操作顺序是# 先试用配置如果连接失败会自动回滚 sudo netplan try # 确认没问题后正式应用 sudo netplan applynetplan try是一个后悔药机制执行后会有 120 秒倒计时如果在倒计时内没有确认配置会自动回滚到上一个可用状态。所以千万别跳过try直接apply万一你把网卡名字写错了有线网络上不了就彻底失联了。netplan apply会重新生成 systemd-networkd 或 NetworkManager 的配置并重启网络服务。如果用的是桌面版 Ubuntu 20.04默认渲染器是 NetworkManagerapply后可以打开右上角网络菜单确认是否出现 Wi-Fi 列表。如果用的是 Server 版无线连接是静默建立的需要用ip a看wlan0是否拿到了 IP。5. 避坑Ubuntu 20.04 Wi-Fi 连不上的常见问题排查这一章的每一条都是我在实际装机过程中翻过车、或者帮别人排错时遇到过的真实案例。按“现象 → 原因 → 解决”的顺序写你对照着自己的情况找对应条目就行。5.1 现象ip a里看不到wlan0接口原因驱动没加载或者网卡被硬开关禁用。解决先跑lspci -vnn | grep -A 3 -i network确认网卡型号Broadcom 就装bcmwl-kernel-sourceIntel 就装iwlwifiUbuntu 20.04 默认已带Realtek 就比较麻烦可能需要去 GitHub 拉驱动源码编译。硬件开关方面rfkill list看到Hard blocked: yes就是硬开关笔记本 F 键上有天线图标按一下再查。我做虚拟机实验时最常翻车的就是忘了在 VM 设置里给虚拟机加无线网卡导致ip a永远只有eth0和lo。5.2 现象netplan apply后连接不上try阶段就回滚原因YAML 缩进错误或 SSID 拼写不精确。解决注意 SSID 是区分大小写的你手机上显示的名字是MyWifi配置里写成mywifi就肯定连不上。另外检查引号是否成对密码是否多打了空格。我习惯在改完配置后先执行sudo netplan try如果它提示Invalid YAML用python3 -c import yaml; yaml.safe_load(open(/etc/netplan/50-cloud-init.yaml))单独解析这个文件哪一行报错会精确到行列号比肉眼看缩进高效得多。5.3 现象装完bcmwl-kernel-source后网卡彻底消失原因内核模块和系统现有的b43或brcmsmac冲突两个驱动打架导致设备未被任何驱动接管。解决sudo modprobe -r b43 brcmsmac bcma先卸载冲突模块然后重新加载wlsudo modprobe wl。如果重启后问题复现就把冲突模块加入黑名单# 创建黑名单配置文件 echo -e blacklist b43\nblacklist brcmsmac\nblacklist bcma | sudo tee /etc/modprobe.d/blacklist-broadcom.conf # 重新生成内核模块依赖 sudo depmod -a # 重启验证 sudo reboot这个坑在装有双系统Windows Ubuntu的笔记本上更容易触发因为 Windows 驱动和 Linux 驱动对硬件寄存器状态的预期不一样冷启动时状态残留容易让wl模块初始化失败。5.4 现象netplan配置没问题但重启后 Wi-Fi 不自动连原因桌面版用的是 NetworkManagerNetplan 虽然生成了配置但 NetworkManager 里没有保存这个热点的凭据。解决在 GNOME 桌面环境里最简单的方法是打开“设置 → Wi-Fi”手动点一下你的热点并输入密码NetworkManager 会自行接管后续的自动连接。如果你的 Ubuntu 是 Server 版需要确认 systemd-networkd 接管了接口# 查看 networkd 管了哪些接口 networkctl list # 确认 wlan0 状态 networkctl status wlan0如果是unmanaged状态说明 Netplan 的渲染器设置有问题改/etc/netplan/50-cloud-init.yaml添加renderer: networkd再sudo netplan apply。这块的玄学在于桌面版默认渲染器和 Server 版不一样同一份 YAML 在两个环境下的行为可能不同。6. 验证连接与进阶技巧诊断命令和后台自动重连配置写完了、驱动装好了最后再教你一套验证和加固的流程确保不是“碰运气式”联网。6.1 三步验证 Wi-Fi 真正可用# 第一步检查接口是否拿到 IP重点看 wlan0 有没有 inet 地址 ip a show wlan0 # 第二步ping 网关确认局域网通 ip route | grep default # 第三步解析外部域名确认 DNS 正常 ping -c 4 archive.ubuntu.com如果第一步有 IP 但 ping 不通网关多半是密码不对或者加密方式不匹配如果 ping 网关通但解析域名失败检查/etc/resolv.conf或 Netplan 里的nameservers配置。我见过不少用户卡在第三步其实问题是公司或校园网的 Wi-Fi 需要网页认证Web Portal连上热点但没做认证相当于网络层不可达跟 Ubuntu 自身设置无关。6.2 进阶双网卡同时存在时指定默认路由如果你插着网线又连了 Wi-Fi系统默认走有线网口因为 Netplan 里eth0的dhcp4会让它拿到默认路由。想让 Wi-Fi 作为默认出口可以给 netplan 配置加一个routes优先级wifis: wlan0: dhcp4: true dhcp4-overrides: route-metric: 100route-metric值越小优先级越高网线接口默认通常是 100 以上把 Wi-Fi 设为 50 就能让流量优先走无线。这个技巧在笔记本从有线环境切到无线环境时特别有用避免出现“Wi-Fi 连着但网页打不开”的假故障。6.3 把排查流程固化成习惯自从第一次在 Ubuntu 20.04 上折腾 Wi-Fi 浪费了半个下午之后我现在遇到任何无线连接问题都强制走一遍固定流程先lspci确认网卡型号再rfkill list排除软硬开关接着ip a看接口状态最后才动配置文件或装驱动。顺序反了容易把问题搞混——明明硬件开关没开却折腾了半天 Netplan 配置最后发现无线网卡压根没通电。这套流程每次能帮我省掉至少二十分钟的排查时间希望帮到你。本文还有配套的精品资源点击获取
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑