# Chromebox 10 代(Kaisa)声音驱动修复方案 Coreboot 刷机后,Linux 与 Windows 的音频问题**表现相反**,需**分平台**处理。本文给出目标、原因概要、推荐执行顺序;细节与命令见各专项文档。 **对比分析**:[ANALYSIS_Audio.md](ANALYSIS_Audio.md) --- ## 目标状态 | 平台 | HDMI | 3.5mm | 插拔提示 | | ------------- | ---- | ----- | ---- | | **目标** | 有 | 有 | 有 | | Linux(当前典型) | 无 | 有 | 有 | | Windows(当前典型) | 有 | 无 | 无 | --- ## 一、Linux:修复思路 ### 1.1 问题拆分 | 输出 | 现象 | 主要方向 | | --------- | ----------------------------------------------------- | -------------------------------------------- | | **3.5mm** | 一般已有声 | 保持默认输出为模拟/耳机;勿误用打不开的 HDMI 为默认 | | **HDMI** | `STREAM_PCM_PARAMS` IPC 失败(约 -5),SOF + DisplayPort 路径 | **内核 / SOF 驱动** 与 6.x 行为;同机 ChromeOS 5.15 正常 | ### 1.2 推荐顺序(由易到难) 1. **确认物理口与 ALSA 设备** `aplay -L`,用 `speaker-test -D plughw:卡号,设备号` 逐个试 HDMI(pcm2/3/4 与物理 HDMI1/2/3 对应关系以实测为准)。 2. **以 ChromeOS 5.15 为「有声」参照(优先)** 同机 **ChromeOS 上 HDMI 已验证正常**,对照意义大于通用发行版 Live。开发上:用仓库中的 **ChromiumOS 5.15 内核源码**(`chromiumos_kernel/v5.15`,克隆说明见 [WORK_PROGRESS.md](../docs/WORK_PROGRESS.md))与当前 **Ubuntu HWE 6.17** 源码(如 `kernel-src/linux-hwe-6.17-6.17.0/`,见 [kernel-src/README.md](../kernel-src/README.md))对 `sound/soc/sof/`、`sound/soc/intel/boards/` 等做 diff,定位 iDisp/HDMI 与 SOF IPC 差异;必要时再 **git bisect** 或向 SOF 上游反馈。详见 [ANALYSIS_Audio.md](ANALYSIS_Audio.md) 第六节。 3. **固件实验(预期有限)** 用 intel-signed 覆盖 community 的 `sof-cnl.ri.zst` **在本项目已实测不能单独恢复 HDMI**;若仍要试参数/路径,见 [OPERATION_Force_Intel_Signed_Firmware.md](OPERATION_Force_Intel_Signed_Firmware.md),并注意回退清单。 4. **自行维护内核(进阶 / 新补丁设计)** 对照 ChromeOS 5.15 与 Ubuntu HWE 6.17:`set_idisp_hdmi_link()` 在 ChromeOS 使用 `dpcm_playback`,在 6.17 使用 **`playback_only`**——这是上游对 `struct snd_soc_dai_link` 的重命名,**不能**把 `dpcm_playback` 写回 6.17。历史上曾试 **0001/0002**(已自仓库移除;0002 真机未恢复 HDMI)。新补丁应基于 **`ipc3.c` / `pcm.c` / `hda-dai.c`** 等与 `STREAM_PCM_PARAMS` 链路的差异再写,见 [patches/ubuntu-hwe-6.17/DIFF_SUMMARY.txt](../patches/ubuntu-hwe-6.17/DIFF_SUMMARY.txt)、[ChromeOS 深度 diff 流程](../docs/OPERATION_ChromeOS_Kernel_Deep_Diff.md)、[Linux HDMI 重新分析](../docs/REANALYSIS_Linux_HDMI_Audio_Kaisa.md)。 应用补丁与编译(**必须**显式指定 `PATCH`;无预置补丁时跳过 `apply`): ```bash export SRC="/path/to/chromebox_10th_audio_driver/kernel-src/linux-hwe-6.17-6.17.0" export PATCH="/path/to/your/0001-new.patch" # 有补丁时 /path/to/chromebox_10th_audio_driver/scripts/ubuntu-hwe-617-build.sh apply /path/to/chromebox_10th_audio_driver/scripts/ubuntu-hwe-617-build.sh deps /path/to/chromebox_10th_audio_driver/scripts/ubuntu-hwe-617-build.sh build ``` 5. **自行维护内核(进阶 / 回归定位)** 在 ChromeOS 5.15 参照树与当前发行版内核之间对 `sound/soc/sof/` 与 `sound/soc/intel/boards/` 做 **git bisect**(或跨树人工对比),定位回归后 revert 或打最小补丁;适合能自行编译内核的维护者。 6. **上游协同** 向 [thesofproject/sof](https://github.com/thesofproject/sof) / alsa-devel 反馈:机型(Google Kaisa)、内核版本、dmesg 中 IPC 错误、ChromeOS 对照正常。 ### 1.3 若「原来有声现在无声」 见 [ANALYSIS_Audio.md](ANALYSIS_Audio.md) **第八节**;固件实验后务必按 [OPERATION_Force_Intel_Signed_Firmware.md](OPERATION_Force_Intel_Signed_Firmware.md) **回退检查清单** 恢复。 --- ## 二、Windows:修复思路 ### 2.1 问题拆分 | 输出 | 现象 | 主要方向 | | --------- | --------------------------------------------------- | --------------------------------------------------- | | **HDMI** | 通常正常(英特尔显示器音频) | 一般无需改动 | | **3.5mm** | Realtek ALC5682 I2S 显示 OK 但无声;CoolStar SOF 常为 Error | **CoolStar / Chrultrabook 成套驱动**,非桌面机通用 Realtek 安装包 | ### 2.2 推荐顺序 1. **先消除「CoolStar SOF Audio (WDM)」设备管理器中的 Error** 按 CoolStar 包内说明与机型(Kaisa/puff)重装或更新;记录错误码便于论坛检索。 2. **再安装/更新「Realtek ALC5682 I2S Audio」** 使用 CoolStar 提供的 INF,避免第三方「万能 Realtek」覆盖。 3. **系统声音** 默认播放设备选 **耳机/模拟**,不要只选显示器音频。 4. **仍无声** Chrultrabook 论坛搜机型 + ALC5682 + headphone;插拔提示属进阶(README W4),见专项文档。 ### 2.3 专项文档 全流程步骤:[OPERATION_Windows_Audio.md](OPERATION_Windows_Audio.md) --- ## 三、采集与回归对比 - **Linux**:`collect_linux_audio_topology.sh` → `collected/` - **Windows**:`collect_windows_audio_topology.ps1` → `collected/` - 修复前后各采一份,便于对比 dmesg、设备与驱动版本。 --- ## 四、文档索引 | 文档 | 内容 | | ------------------------------------------------------------------------------------ | -------------------------- | | [ANALYSIS_Audio.md](ANALYSIS_Audio.md) | 三平台对比、原因分析、ChromeOS 对照与第六节排查、第八节无声排查 | | [OPERATION_Force_Intel_Signed_Firmware.md](OPERATION_Force_Intel_Signed_Firmware.md) | Linux SOF 固件路径与回退 | | [OPERATION_Windows_Audio.md](OPERATION_Windows_Audio.md) | Windows CoolStar / ALC5682 | | [README.md](../README.md) | 仓库任务列表 | | [OPERATION_ChromeOS_Kernel_Deep_Diff.md](../docs/OPERATION_ChromeOS_Kernel_Deep_Diff.md) | ChromeOS 与 6.17 音频关键文件 diff / unshallow / git log | | [REANALYSIS_Linux_HDMI_Audio_Kaisa.md](../docs/REANALYSIS_Linux_HDMI_Audio_Kaisa.md) | Linux HDMI 重新分析与补丁重设流程 |