news 2026/7/22 7:30:59

新内核固件缺失修复案例:WiFi + 声卡

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
新内核固件缺失修复案例:WiFi + 声卡

电脑信息
项目 详情
型号 Lenovo 小新 Pro 16c IAH10 (XiaoXinPro-16c-IAH10)
系统 Ubuntu 22.04.5 LTS (Jammy)
内核 6.12.95-061295-generic(自行升级的主线内核)
网卡 Intel Wi-Fi 6 AX201 160MHz (8086:7740)
声卡 Intel Arrow Lake Audio (8086:7728),Conexant SN6140 解码器
通用根因
两个问题本质相同:新内核的驱动需要新版固件,但 Ubuntu 22.04 的固件包太旧。

┌────────────────────────────────────────────────────┐
│ Ubuntu 22.04 LTS (2022.04 发布) │
│ ├── linux-firmware → 2022.03 版本 │
│ ├── firmware-sof-signed → 2.0 (2022 年) │
│ └── 内核 6.12 (2024.12) │
│ ├── iwlwifi 需要 API v90+ 固件 → 缺失! │
│ └── SOF 需要 Arrow Lake 固件 → 缺失! │
└────────────────────────────────────────────────────┘
一、WiFi 修复:Intel AX201 固件缺失 (bz-b0-hr-b0)
故障现象
系统只有有线网卡 (enx0a10d7dd5f41),完全没有 WiFi 接口
nmcli device status 看不到任何 wlan0 / wlp* 设备
ip link show 无无线网卡
rfkill list 显示 ideapad_wlan 未被软/硬屏蔽
排查过程

  1. 确认硬件存在
    $ lspci -nn -s 00:14.3
    00:14.3 Network controller [0280]: Intel Corporation Device [8086:7740]
    设备存在,PCI ID 为 8086:7740。

  2. 检查驱动状态
    $ lsmod | grep iwlwifi
    iwlwifi 647168 0 # ← 0 users,驱动没有绑定到设备
    cfg80211 1413120 1 iwlwifi

$ nmcli device status
DEVICE TYPE STATE CONNECTION
enx0a10d7dd5f41 ethernet 已连接 有线连接 1
lo loopback 未托管 –

没有任何 WiFi 设备

iwlwifi 模块已加载但未被任何设备使用 — 驱动识别了设备但固件加载失败后退出了。

  1. 查看内核日志(关键!)
    $ cat /var/log/syslog | grep iwl
    输出关键信息:

iwlwifi 0000:00:14.3: Detected Intel® Wi-Fi 6 AX201 160MHz
iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-bz-b0-hr-b0-93.ucode failed with error -2
iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-bz-b0-hr-b0-92.ucode failed with error -2
iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-bz-b0-hr-b0-91.ucode failed with error -2
iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-bz-b0-hr-b0-90.ucode failed with error -2
iwlwifi 0000:00:14.3: no suitable firmware found!
iwlwifi 0000:00:14.3: minimum version required: iwlwifi-bz-b0-hr-b0-90
iwlwifi 0000:00:14.3: maximum version supported: iwlwifi-bz-b0-hr-b0-93
iwlwifi 0000:00:14.3: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
驱动需要 bz-b0-hr-b0 固件 API 版本 v90-v93
内核按 93→92→91→90 顺序尝试加载,全部失败(error -2 = 文件不存在)
4. 确认本地固件缺失
$ ls /lib/firmware/iwlwifi-bz*
iwlwifi-bz-b0-fm-c0-92.ucode iwlwifi-bz-b0-fm-c0.pnvm
iwlwifi-bz-b0-fm-c0-94.ucode iwlwifi-bz-b0-gf-a0-92.ucode
iwlwifi-bz-b0-fm-c0-96.ucode iwlwifi-bz-b0-gf-a0-94.ucode
iwlwifi-bz-b0-gf-a0-96.ucode
iwlwifi-bz-b0-gf-a0.pnvm
系统只有 fm-c0(FM Radio)和 gf-a0(Gale Force)变体固件,缺少 hr-b0(Harrison Peak)变体。

$ apt-cache policy linux-firmware
已安装:20220329.git681281e4-0ubuntu3.42 # 2022 年 3 月版本,太旧
5. 尝试过的失败方案
方案 结果 原因
git clone linux-firmware.git ❌ 超时 kernel.org 在国内极慢,100s 仅下载 280KB,总量 >1GB
curl kernel.org /plain/ 端点 ❌ 404 git.kernel.org 的 cgit 不给二进制固件文件返回 200
curl GitHub 镜像 ❌ 无法访问 github.com 无响应
Symlink gf-a0→hr-b0 ❌ 超时 Failed to start RT ucode: -110 (ETIMEDOUT),RF 模块硬件不兼容
6. 成功方案
从 Debian testing 下载 firmware-iwlwifi 包(仅 23MB,Tsighua 镜像速度快):

下载

curl -L “https://mirrors.tuna.tsinghua.edu.cn/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-iwlwifi_20260519-1_all.deb”
-o /tmp/firmware-iwlwifi.deb

提取

dpkg-deb -x /tmp/firmware-iwlwifi.deb /tmp/fw-extract/

安装正确变体 + 版本的固件

sudo cp /tmp/fw-extract/usr/lib/firmware/intel/iwlwifi/iwlwifi-bz-b0-hr-b0-93.ucode /lib/firmware/
sudo cp /tmp/fw-extract/usr/lib/firmware/intel/iwlwifi/iwlwifi-bz-b0-hr-b0.pnvm /lib/firmware/

重载驱动

sudo modprobe -r iwlwifi
sudo modprobe iwlwifi
修复验证
$ dmesg | grep iwl | tail -10
iwlwifi: loaded firmware version 93.26a2cb89.0 bz-b0-hr-b0-93.ucode op_mode iwlmvm
iwlwifi: Detected RF HR B3, rfid=0x10a100
iwlwifi: base HW address: f8:cf:52:bc:41:ed
wlp0s20f3: renamed from wlan0
iwlwifi: Registered PHC clock: iwlwifi-PTP, with index: 0

$ nmcli device status
DEVICE TYPE STATE CONNECTION
enx0a10d7dd5f41 ethernet 已连接 有线连接 1
wlp0s20f3 wifi 已断开 – # ← WiFi 接口出现!
p2p-dev-wlp0s20f3 wifi-p2p 已断开 –
lo loopback 未托管 –
WiFi 根因分析
┌─────────────────────────────────────────────────────┐
│ Intel AX201 网卡有 3 种 RF 模块变体: │
│ │
│ FM (FM Radio) → iwlwifi-bz-b0-fm-c0-.ucode │
│ GF (Gale Force) → iwlwifi-bz-b0-gf-a0-
.ucode │
│ HR (Harrison Peak) → iwlwifi-bz-b0-hr-b0-.ucode ← 这台机器 │
│ │
│ 不同 RF 变体固件互不兼容(硬件射频前端不同) │
└─────────────────────────────────────────────────────┘
层级 问题
直接原因 硬盘上没有 iwlwifi-bz-b0-hr-b0-
.ucode 固件文件
为什么其它 AX201 机器没问题 大多数 AX201 使用 FM 或 GF 射频模块,Ubuntu 22.04 的 linux-firmware 包含这些变体,但没包含 HR 变体
根本原因 自行升级的 6.12 主线内核需要新版固件(API v90+),Ubuntu 22.04 官方 linux-firmware 包版本为 2022 年 3 月,太旧且缺 HR 变体
WiFi 固件命名规则解读
以 iwlwifi-bz-b0-hr-b0-93.ucode 为例:

字段 含义
iwlwifi Intel WiFi 固件前缀
bz 平台代号:Bz (Bazaar),对应 AX201/AX211 系列
b0 硅晶片步进版本 B0
hr RF 射频模块类型:HR = Harrison Peak
b0 RF 模块步进版本 B0
93 固件 API 版本号

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/22 7:28:49

深入解析TI EDMA3:中断、队列与传输控制器核心机制与实战

1. 项目概述与核心价值在嵌入式系统开发,尤其是基于德州仪器(TI)C6000系列DSP或Sitara系列处理器的项目中,数据搬运的效率直接决定了整个系统的实时性和吞吐量。CPU亲自搬运数据,就像让一个高级工程师去干贴发票、搬箱…

作者头像 李华
网站建设 2026/7/22 7:24:40

NVIDIA Rubin平台:AI工厂机架级协同设计与性能突破

在 AI 基础设施快速演进的当下,NVIDIA Rubin 平台的发布标志着 AI 工厂正式进入机架级协同设计时代。传统以单个 GPU 或服务器为单位的优化模式,在面对长上下文推理、混合专家模型训练和持续智能体交互等新型工作负载时已显现瓶颈。Rubin 平台通过将 GPU…

作者头像 李华
网站建设 2026/7/22 7:20:21

PyTorch CUDA镜像自动配置方法详解 便捷实现环境快速部署指南

链接链接刚进实验室,你可能认为找文献就是打开知网或Google Scholar,输入关键词,然后一篇篇下载、阅读。如果这是你主要的科研方式,那么一个隐形的天花板已经形成:你的认知深度和广度,将被你使用的工具牢牢…

作者头像 李华
网站建设 2026/7/22 7:18:13

前后端分离架构:核心优势与实战优化策略

1. 前后端分离的本质与核心优势1.1 架构哲学的演进历程传统单体架构就像一家小餐馆,厨师既要炒菜又要端盘子。而前后端分离更像是现代化餐厅的后厨与前厅分工——厨师专注火候调味,服务员专注顾客体验。这种分工带来的效率提升在Web开发领域尤为明显。我…

作者头像 李华
网站建设 2026/7/22 7:14:04

卖家工具怎么搭配?从选品到售后的工具矩阵搭建指南

很多卖家不是没有工具,而是工具太多但用不起来。我见过一个卖家,工具列表里装了十一款软件,但每天真正打开的不超过三款。不是工具不好,是他没有想清楚每款工具在业务流程中的位置。如果你需要一个打通多工具数据、帮你在一张看板…

作者头像 李华
网站建设 2026/7/22 7:13:52

不再“盲人摸象”,中翰软件给企业数据拼出了全景地图

数据治理常让人感觉“盲人摸象”,各部门定义不一,数据质量反复波动。中翰软件近日发布AI原生治理方案,旨在终结这一混乱局面。 新方案直指五大传统困境:技术导向忽视业务含义、管理与需求脱节、被动式“先污染后治理”、治理成果1…

作者头像 李华