# 工作进度与源码获取说明(换机交接) 面向机型:**Google Kaisa(Chromebox 10 代)**;核心问题:**Linux HDMI 无声(`STREAM_PCM_PARAMS` IPC 约 -5)**、**Windows 3.5mm 无声**;对照:**ChromeOS 上 HDMI / 3.5mm 正常**。 --- ## 一、当前结论与状态 | 方向 | 状态 | |------|------| | 固件(intel-signed vs community) | 已实验:**单独换固件不能恢复 HDMI**;可能影响插拔检测,需按 OPERATION 文档回退 | | 拓扑 | 与 ChromeOS **等效**(采集结论见 `audio_topology/ANALYSIS_Audio.md`) | | Ubuntu HWE 6.17 补丁 | **0001** 在 `patches/ubuntu-hwe-6.17/`(FREE/trigger 路径;**不解决** `STREAM_PCM_PARAMS`)。**STREAM_PCM_PARAMS** 对照见 `patches/ubuntu-hwe-6.17/STREAM_PCM_PARAMS_CHROME_UBUNTU_NOTES.md`;真机 IPC 载荷观测见 **`docs/OPERATION_Kaisa_SOF_HDMI_Trace.md`**、`audio_topology/collected/README_TRACE_KAISA.md`。上游复现包清单见 **`docs/UPSTREAM_SOF_Kaisa_HDMI_REPRO.md`**。另见 `DIFF_SUMMARY.txt`、`docs/OPERATION_ChromeOS_Kernel_Deep_Diff.md`、`docs/REANALYSIS_Linux_HDMI_Audio_Kaisa.md` | | Mainline 5.15(kernel.ubuntu.com,如 v5.15.201) | 真机:**HDMI 仍无声**;**3.5mm、WiFi 也异常**(相对 6.17)。**不等于** ChromeOS 5.15;**不建议**作修复主线,应 **GRUB 回 6.17** 并装全 HWE 模块包 | 见 `docs/REANALYSIS_Linux_HDMI_Audio_Kaisa.md` | | 全量内核编译 `fakeroot debian/rules binary-generic` | **已在具备足够磁盘的环境完成**(`kernel-src/` 下产出 `linux-image-unsigned-*`、`linux-modules-*` 等 deb);常见遇阻:**磁盘空间不足**(建议 **≥35~50GB**);勿在同一源码树混用裸 `make` 与 `debian/rules`(需 `make ARCH=x86 mrproper` 清根目录后再打包) | | Windows 侧 | 以 **CoolStar / Chrultrabook 成套驱动** 与设备管理器排错为主;见 `audio_topology/OPERATION_Windows_Audio.md` | --- ## 二、源码一:ChromiumOS / ChromeOS 内核(对照「HDMI 正常」) **用途**:对照 **SOF / Intel boards / ACPI match** 等与 HDMI 相关的驱动差异(分支示例:`release-R144-16503.B-chromeos-5.15`)。 **官方仓库(HTTPS)**: - `https://chromium.googlesource.com/chromiumos/third_party/kernel` **克隆示例(浅克隆 + 指定分支)**: ```bash mkdir -p /path/to/chromiumos_kernel && cd /path/to/chromiumos_kernel git clone --depth 1 -b release-R144-16503.B-chromeos-5.15 \ https://chromium.googlesource.com/chromiumos/third_party/kernel.git v5.15 ``` **可选:只检出音频相关目录(减小体积)**(在 `v5.15` 内执行): ```bash cd v5.15 git sparse-checkout init --cone git sparse-checkout set sound/soc/intel sound/soc/sof include/sound ``` **本仓库内路径(若已存在)**:`chromiumos_kernel/v5.15/`(以你机器实际为准)。 --- ## 三、源码二:Ubuntu HWE 6.17 内核(与当前运行内核一致) **用途**:与 ChromeOS 5.15 做 diff / 打补丁 / 编译验证(与当前 Ubuntu 包版本一致)。 **注意**:二进制包名可能是 `linux-image-*`,但**源码包名**为 `linux-hwe-6.17`,**不是** `linux`(`apt source linux=6.17...` 会失败)。 **启用源码仓库**(Noble 示例): ```bash sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources sudo apt update ``` **查本机内核对应的源码包与版本**: ```bash dpkg -s "linux-image-$(uname -r)" | grep -E '^Source:|^Version:' apt-cache showsrc linux-hwe-6.17 | grep -E '^Package:|^Version:' | head ``` **下载源码(把 `Version:` 换成 `apt-cache showsrc` 里与当前内核一致的那一行)**: ```bash mkdir -p /path/to/chromebox_10th_audio_driver/kernel-src && cd /path/to/chromebox_10th_audio_driver/kernel-src apt source linux-hwe-6.17=6.17.0-19.19~24.04.2 ``` 解压得到目录类似:`linux-hwe-6.17-6.17.0/`,以及 `.dsc` / `.orig.tar.gz` / `.diff.gz`(大文件已被 `.gitignore` 忽略,不提交仓库;见 `kernel-src/README.md`)。 **编译 generic 包(需足够磁盘与依赖)**: ```bash sudo apt build-dep linux-hwe-6.17 cd /path/to/chromebox_10th_audio_driver/kernel-src/linux-hwe-6.17-6.17.0 export CONCURRENCY_LEVEL="$(nproc)" fakeroot debian/rules clean fakeroot debian/rules binary-generic ``` **仓库内辅助脚本**:`scripts/ubuntu-hwe-617-build.sh`、`scripts/ubuntu-hwe-617-deps-packages.txt`;**README** 中有入口。 --- ## 四、换机后建议最短路径 1. 克隆本仓库 `chromebox_10th_audio_driver`。 2. 按需在本仓库 **`kernel-src/`** 下重新拉取 **Ubuntu 源码**(用新机器上的 `uname -r` / `dpkg -s` / `apt-cache showsrc` 核对版本号;**24.04** 上可直接 `apt build-dep linux-hwe-6.17`)。 3. 按需重新克隆 **ChromiumOS kernel** 分支(或从旧机拷贝 `chromiumos_kernel/` 目录)。 4. 阅读:`audio_topology/REPAIR_Plan_Audio.md`、`audio_topology/ANALYSIS_Audio.md`。 --- ## 五、文档索引 | 文档 | 说明 | |------|------| | `audio_topology/REPAIR_Plan_Audio.md` | Linux / Windows 修复总览 | | `audio_topology/ANALYSIS_Audio.md` | 三平台对比与 dmesg 要点 | | `audio_topology/OPERATION_Force_Intel_Signed_Firmware.md` | Linux SOF 固件与回退 | | `audio_topology/OPERATION_Windows_Audio.md` | Windows CoolStar / ALC5682 | | `README.md` | 任务列表与参考链接 | | `docs/OPERATION_Kaisa_SOF_HDMI_Trace.md` | Kaisa:`dynamic_debug` + `sof_debug=0x800`、采集 dmesg | | `docs/SOF_FIRMWARE_TOPO_Kaisa_CHECKLIST.md` | 固件/tplg 与基线核对 | | `docs/UPSTREAM_SOF_Kaisa_HDMI_REPRO.md` | 上游 issue/邮件复现包与模板 | --- *本文档随工作机迁移更新;不修改 `.cursor/plans/` 下的计划文件。*