ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Ubuntu 20.04 Intel AX201无线网卡驱动安装与固件升级指南

2026/10/3 18:03:36 拓冰建站 浏览量
Ubuntu 20.04 Intel AX201无线网卡驱动安装与固件升级指南 新买的笔记本装了 Ubuntu 20.04结果开机进去WiFi图标直接消失蓝牙也找不到设备。网卡是 Intel AX201Windows 下明明一切正常一进 Linux 就变砖。这个场景我太熟了身边好几个朋友都问过同样的问题我自己那台机器也在这个坑里泡了两天。这篇文章就是把 Ubuntu 20.04 下 Intel AX201 网卡驱动从内核升级到固件更新的完整流程做个梳理。涵盖为什么会失灵、怎么确认硬件、内核选哪条路线、固件放哪个目录、以及我在实际操作中踩过的各种坑。如果你刚装了双系统或者正在被这块网卡折磨照着顺序做基本能救回来。1. 先别急着装驱动确认你手上的网卡到底是不是AX201很多人一上来就搜“AX201网卡驱动下载”下了一堆乱七八糟的包折腾半天结果方向就是错的。AX201 这块卡的情况比较特殊它不是缺一个 exe 或者 .deb 那么简单而是整个 Linux 内核的“识别能力”问题。在动手之前先花三分钟确认两件事网卡型号和当前系统状态。1.1 为什么“认卡”这一步最关键Intel 主流无线网卡里AX200、AX201、AX210 这三款外观几乎一样全是 M.2 2230 小卡但它们的接口逻辑完全不同。AX200 是走传统 PCIe 通道兼容性最好AX201 走的是 Intel CNVi 专用接口必须搭配 Intel 芯片组和特定 CPU 平台比如十代酷睿。AX210 是 Wi-Fi 6E又是另一套固件。如果你的机器是十代酷睿笔记本预装的网卡大概率是 AX201。但网上很多教程把 AX200 和 AX201 混在一起讲导致很多人拿着 AX201 的卡按 AX200 的方法去处理最后怎么搞都不对。所以说第一步永远是确认设备 ID用数据说话别猜。1.2 用三个命令摸清家底第一命令查硬件在终端里执行lspci | grep -i network正常会输出类似这样的行00:14.3 Network controller [0280]: Intel Corporation Device [8086:0a34]重点看末尾方括号里的ID8086是 Intel 厂商号0a34 或 0a58 就是 AX201 的典型设备 ID。如果显示的是 2723 那就是 AX2002725 是 AX21051f0 这类是 AX211。确认是 0a34/0a58就可以按 AX201 的路线继续。第二命令查询当前内核版本uname -aUbuntu 20.04 刚装完默认内核通常是 5.4.0-xxx-generic这个版本对 AX201 的支持非常不完整后面会详细说。第三命令看一下网卡相关的内核日志dmesg | grep -i iwlwifi如果你看到类似Direct firmware load for iwlwifi-cc-a0-63.ucode failed with error -2或者iwlwifi: undefined hardware这样的报错说明问题定位基本就清晰了——内核识别到了有 Intel 设备但驱动/固件根本没有正确加载。这一步能帮你确认到底是不是固件缺失而不是网卡硬件坏了。2. AX201在Ubuntu 20.04下“消失”的真相很多人以为网卡驱动就是下载一个驱动文件然后安装这样理解不能说错但在 Linux 下这套逻辑不太一样尤其是 AX201 这种新型网卡。想彻底解决得先弄明白内核、驱动、固件这三个东西之间是什么关系。2.1 内核、驱动、固件三者是什么关系打个比方内核是操作系统的大管家它负责调度硬件资源。iwlwifi 是内核中的一个驱动模块相当于“门卫”负责和网卡打招呼、建连接。固件则是网卡内部的微程序相当于网卡自己的“大脑”出厂时烧录在芯片里但 Linux 会在启动时把一份新的固件文件加载进网卡里用来修正 bug 和开启新功能。三者的关系是内核版本太老 → 门卫不认识这个牌子的新住客设备 ID 不在支持列表里驱动模块版本太老 → 即使看到设备也不知道怎么交互固件版本太老或缺失 → 网卡的大脑无法被正确启动。任何一个环节出问题表现都是“无线网卡消失”、“WiFi 开关是灰的”、“能搜到热点但连不上”。2.2 为什么Ubuntu 20.04默认状态救不了AX201Ubuntu 20.04 正式发布时默认内核是 5.4这个版本里的 iwlwifi 驱动并不包含 AX201 所需的全套支持。AX201 在 Linux 中的驱动代码虽然几经修改但完整可用的状态要到内核 5.8 以上才比较稳。再加上 5.4 内核自带的 iwlwifi 固件文件版本偏旧很多机器出厂时 /lib/firmware 目录里根本没有 iwlwifi-cc-a0-63.ucode 这个文件或者只有很旧的 55/59 版本驱动加载时照样失败。所以解决方案就两条主路把内核升级到支持 AX201 的版本同时把固件文件更新到匹配的新版本。两条腿一起走缺一不可。这也是整篇文章的核心思路。3. 动手前的准备更新系统、备份数据、选好内核路线内核升级属于系统级操作虽然现在 Ubuntu 下升级内核已经很成熟但为了不让自己手忙脚乱前置准备还是要做扎实。不要跳过这一节直接去敲命令我在实操里见过太多因为没做准备然后搞到系统起不来的人。3.1 系统更新先把系统现有包更新到最新状态这样能减少很多不必要的变量。终端执行sudo apt update sudo apt upgrade sudo apt autoremove这步可能会花几分钟期间会提示是否重启服务按需选择就行。更新完如果重启系统会进入一个相对干净的状态方便后续排查。3.2 备份重要数据网卡驱动安装不会直接影响磁盘分区但内核升级偶尔会和引导配置起冲突尤其是双系统用户grub 菜单出问题会导致 Ubuntu 进不去。虽然概率不高但一旦发生没有备份会非常难受。最简单的做法把 /home 下重要目录复制到 U 盘或者备份到 Windows 分区。另外记录一下当前的内核版本方便回退uname -r ~/old-kernel.txt如果之后新内核出了问题可以在开机 grub 菜单里选 Advanced options 进入旧内核再卸载新内核。3.3 HWE内核 vs Mainline内核怎么选Ubuntu 提供两条内核路线HWEHardware Enablement内核和 Mainline 内核。HWE 是 Ubuntu 官方专门为硬件支持推出的内核系列版本落后于上游 Linux 主线但经过 Ubuntu 团队大量测试和打补丁稳定性最好。Ubuntu 20.04 对应的 HWE 内核经历了 5.8、5.11、5.13、5.15 几个版本安装linux-generic-hwe-20.04这个元包就能拿到当前支持的内核。这是我认为大多数人的首选方案。Mainline 内核是 Ubuntu 上直接编译的上游内核版本新、功能全但不带 Ubuntu 的定制补丁也没有官方长期维护。适合想尝鲜、或者 HWE 都搞不定的时候再用。对 AX201 来说普通用户用 HWE 就够了没必要追求最新版给自己添麻烦。下表是两者的快速对比对比项HWE内核Mainline内核支持范围Ubuntu官方维护上游社区编译无长期维护稳定性高经大量测试中可能有兼容问题内核版本相对保守5.15左右可到6.x显卡驱动兼容已有适配容易和新驱动不兼容适合场景日常使用、生产环境硬件很新、非要最新内核才支持的情况4. 内核升级实操两条路线任选选好路线后就可以动手了。这里把 HWE 和 Mainline 两种方式都写完整你可以根据实际情况挑一条走。4.1 路线一一行命令搞定HWE内核这是最简单、最符合普通用户习惯的方式。终端执行sudo apt install --install-recommends linux-generic-hwe-20.04这个元包会自动拉取 HWE 内核和相关模块。Ubuntu 20.04.5 之前的老系统安装完 HWE 后内核会跳到 5.11 或 5.13如果你的镜像已经是 20.04.5 版本那么这个命令装的就是 5.15 内核。不同小版本对应关系可以参考Ubuntu 20.04 小版本安装HWE后默认内核20.04.15.4不含HWE20.04.25.820.04.35.1120.04.45.1320.04.55.15装完重启sudo reboot起来之后再查看内核版本uname -r看到 5.15 之类的新版本就说明内核升级成功了。这时候可以再跑一次dmesg | grep -i iwlwifi有可能无线网卡已经被驱动起来了。如果一切正常可以跳过第五和第六节里关于固件的操作直接看验证部分。不过我更建议你还是补一下固件性能会更稳定。4.2 路线二手动安装Mainline内核有些场景下HWE 内核对某些笔记本还是不够友好比如有人的 AX201 在 5.15 HWE 下能识别但蓝牙有问题非要 6.x 内核才行。这时候就需要用到 Mainline 内核。打开 kernel.ubuntu.com/~kernel-ppa/mainline/ 这个页面找到你想要的版本目录比如 v5.15.77 或 v6.0 等。每个版本目录下一般需要下载三个 deb 包linux-headers-*.deb、linux-headers-*-generic*.deb、linux-image-unsigned-*-generic*.deb、linux-modules-*-generic*.deb。下载完成后在终端进入下载目录一次性安装sudo dpkg -i linux-*.deb如果报依赖错误执行sudo apt -f install然后更新引导菜单sudo update-grub sudo reboot这里必须提醒一下Mainline 内核是未签名的如果你的电脑开了 Secure Boot内核会被拒绝加载开机直接黑屏或者回到 grub 界面。遇到这种情况要么进 BIOS 关闭 Secure Boot要么老老实实回到 HWE 路线。4.3 内核装好后别忘了update-grub很多新手升级完内核重启后还停留在旧内核里第一反应是“升级失败了”其实是引导菜单没有刷新。安装完内核后一定记得执行sudo update-grub这一步会把新内核写进 grub 配置。如果你想默认进入新内核可以修改 /etc/default/grub 里的 GRUB_DEFAULT但一般情况下 update-grub 已经会默认选中最新内核了。重启后可以用uname -r验证。5. 固件更新把Intel的微码放到正确的位置内核升级解决的是“驱动认不认识网卡”的问题但网卡能不能顺利工作还取决于固件加载。这一步就是很多教程容易略过的地方也是我最初排查很久才明白的关键点。5.1 先看看当前固件版本Intel AX201 需要的固件文件一般叫iwlwifi-cc-a0-XX.ucode其中 XX 是版本号比如 55、59、63、66、72 等等。先查看系统里有哪些固件ls /lib/firmware/ | grep iwlwifi如果只看到iwlwifi-cc-a0-55.ucode这种老版本或者根本没有 cc-a0 系列文件基本可以确定网卡无法启动的原因就是固件缺失。再用 dmesg 确认当前加载的固件版本dmesg | grep -i iwlwifi日志里会有一行类似iwlwifi 0000:00:14.3: Loaded firmware version: 72...的信息如果你看到的是 Failed to load 之类就需要手动更新固件。5.2 从linux-firmware仓库拉取最新固件最可靠的方式是从 linux-firmware 仓库直接拉取最新的 Intel 固件文件。执行cd /tmp git clone --depth 1 https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git sudo cp linux-firmware/iwlwifi-cc-a0-*.ucode /lib/firmware/复制完成后最好刷新一下 initramfs把固件打进系统启动镜像里sudo update-initramfs -u然后重启sudo reboot注意复制前建议先把旧固件做一个备份不要直接删。很多时候新固件在某些老内核上反而会有兼容问题留个旧版本方便回退。5.3 用apt安装linux-firmware的老实办法如果你不想从 git 拉取也可以直接用 Ubuntu 软件仓库里的 linux-firmware 包。这个包提供的是经过 Ubuntu 测试的固件集合版本落后于上游但足够日常使用。sudo apt install linux-firmware装完同样执行sudo update-initramfs -u然后重启。这个方法的好处是简单不会装到不兼容的固件坏处是版本可能不够新对个别新出厂的 AX201 批次支持不够。我一般先试这个方法不行再上 git 仓库拉新版。6. 驱动加载与最终验证确认WiFi真的活了内核和固件都更新完之后验证环节不能省略。不要只看右上角网络图标出现就以为大功告成建议按照下面的顺序完整确认一遍确保驱动模块、固件、网络接口、WiFi 连接全部正常。6.1 用lspci确认驱动模块挂载执行lspci -nnk | grep -A 3 -i network输出里如果能看到Kernel driver in use: iwlwifi说明这个设备已经被 iwlwifi 驱动接管链接成功。如果显示Kernel driver in use: N/A或者没有这一行说明驱动没有绑定成功需要回头看内核版本和固件是否匹配。6.2 用nmcli连接WiFiNetworkManager 是 Ubuntu 自带的网络管理工具用命令行的方式验证最直观。先看一下无线开关状态nmcli radio wifi返回enabled说明 WiFi 无线开关是打开的。然后扫描周围热点nmcli device wifi list能看到一堆 WiFi 列表说明扫描功能正常。接着连接你自己的热点nmcli device wifi connect 你的WiFi名称 password 你的密码这条命令比图形界面更可靠能直接返回连接成功或失败的具体原因。如果返回Device successfully activated无线连接就彻底恢复了。6.3 dmesg日志里的隐藏信息最后再看一眼 dmesg 输出重点看 iwlwifi 相关的加载信息是否干净dmesg | grep -i iwlwifi正常的日志会包含类似这样的行iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX201 160MHz iwlwifi 0000:00:14.3: Loaded firmware version: 77.xxx看到Detected和Loaded firmware两个关键词基本就可以确认驱动和固件都正常工作。如果日志里有 ERROR 或者 WARNING需要继续排查参考第七节。7. Linux下AX201的经典坑掉线、打不开、蓝牙失效就算内核和固件都正确处理了AX201 在 Linux 下依然可能遇到各种奇奇怪怪的问题。这里汇总几个我在实际使用中碰到的典型场景每个都给出排查思路和解决办法这些是官方文档里大概率查不到的东西。7.1 WiFi接口根本不出现如果你确认内核和固件都到位了但ip link命令里看不到无线接口甚至lspci里网卡设备有显示但没有驱动绑定优先检查这几个地方先看硬件射频开关。执行rfkill list如果输出显示Wireless LAN: blocked说明无线被软阻塞或硬阻塞了。软阻塞直接解掉sudo rfkill unblock all如果是硬阻塞说明笔记本的飞行模式快捷键把无线硬件关掉了需要在键盘上按一下无线开关的 Fn 组合键或者在 BIOS 里把 Wireless 设为 Enabled。还有一个双系统用户专属的大坑Windows 的 Fast Boot 会锁住硬件状态。如果你之前进过 Windows 且开启了快速启动Linux 下网卡就会异常。解决办法是在 Windows 里把“快速启动”关掉然后彻底关机再开机进 Ubuntu。这个坑我至少遇到三次每次都是找半天原因最后发现是 Windows 的锅。7.2 能搜到热点但一连接就断这种问题通常表现为能看到 WiFi 列表输入密码后提示连接成功但过几秒就掉线或者干脆一直转圈。原因很可能是 iwlwifi 驱动的电源管理策略和网卡硬件配合不好。解决办法是在模块加载参数里关闭电源管理和 802.11n 相关的激进特性echo options iwlwifi power_save0 | sudo tee /etc/modprobe.d/iwlwifi.conf echo options iwlwifi 11n_disable1 | sudo tee -a /etc/modprobe.d/iwlwifi.conf sudo update-initramfs -u sudo rebootpower_save0禁用电源管理属于最常用的稳定手段11n_disable1会禁用 802.11n 协议质量会降到 802.11a/g 水平换来的是连接稳定性。如果你的路由器在 5GHz 下频繁掉线可以先试禁用 11n能连上了再逐步放开。这个方法不是最优解但作为应急方案相当有效。7.3 蓝牙也挂了怎么办AX201 的蓝牙和 WiFi 是合在一起的驱动走的是 btusb 和 btintel。如果你升级内核和固件后 WiFi 正常但蓝牙没反应先检查蓝牙服务状态systemctl status bluetooth如果没有启动sudo systemctl enable bluetooth --now再看蓝牙识别到的设备信息dmesg | grep -i blue如果一切正常你会在日志里看到 Intel 蓝牙固件加载成功的记录。如果日志里有报错大概率是缺蓝牙固件。此时同样需要从 linux-firmware 仓库拉取ibt-*相关文件放到 /lib/firmware/intel/ 目录下代码和 5.2 节类似。蓝牙和 WiFi 用的固件文件是分开的更新 WiFi 固件并不会自动更新蓝牙固件这点需要注意。7.4 升级内核后显卡驱动没了升级内核这个动作可能会触发 N 卡驱动失效因为 N 卡驱动是以内核模块形式编译的旧内核下的模块不能直接用于新内核。如果你发现升级内核后进入桌面卡死、分辨率异常多半是这个原因。解决办法很简单在新的内核下重新安装一次 N 卡驱动sudo apt install --reinstall nvidia-driver-535 sudo reboot如果你的显卡比较新需要安装更高版本驱动可以改成对应版本号。这一步建议在升级内核后顺手做掉免得重启后桌面环境出问题。8. 实操总结与个人经验这两年大改动前前后后处理了不下五台 AX201 机器有笔记本也有准系统有干净安装 Ubuntu 的也有双系统的。总体来说最省心的组合就是 Ubuntu 20.04.5 官方镜像 HWE 内核 最新 linux-firmware基本覆盖 90% 的场景。如果设备 ID 是 0a58 或者比较奇怪的 OEM 定制批次才需要考虑上 Mainline 内核。我个人在实际操作中的体会是AX201 的问题本质上不是“驱动下载”问题而是 Linux 内核和 Intel 固件版本的匹配问题。养成一个习惯遇到网卡不工作第一步永远是看 dmesg 和 lspci不要凭感觉去下载什么驱动包。把内核升稳、固件升新90% 的问题在五分钟内就能解决。最后再分享一个小技巧如果你在折腾过程中把固件目录玩坏了别慌。删掉整个 /lib/firmware 其实不至于让系统起不来系统引导时缺固件顶多是某些功能不可用。最保险的办法是先把当前文件全部打包备份sudo tar -czf ~/firmware-backup.tar.gz /lib/firmware之后再怎么改都有退路。这样无论后续测试哪个版本的固件心里都有底。