Files
chromebox_10th_audio_driver/audio_topology/REPAIR_Plan_Audio.md

6.8 KiB
Raw Blame History

Chromebox 10 代Kaisa声音驱动修复方案

Coreboot 刷机后Linux 与 Windows 的音频问题表现相反,需分平台处理。本文给出目标、原因概要、推荐执行顺序;细节与命令见各专项文档。

对比分析ANALYSIS_Audio.md


目标状态

平台 HDMI 3.5mm 插拔提示
目标
Linux当前典型
Windows当前典型

一、Linux修复思路

1.1 问题拆分

输出 现象 主要方向
3.5mm 一般已有声 保持默认输出为模拟/耳机;勿误用打不开的 HDMI 为默认
HDMI STREAM_PCM_PARAMS IPC 失败(约 -5SOF + DisplayPort 路径 内核 / SOF 驱动 与 6.x 行为;同机 ChromeOS 5.15 正常

1.2 推荐顺序(由易到难)

  1. 确认物理口与 ALSA 设备 aplay -L,用 speaker-test -D plughw:卡号,设备号 逐个试 HDMIpcm2/3/4 与物理 HDMI1/2/3 对应关系以实测为准)。
  2. 以 ChromeOS 5.15 为「有声」参照(优先)
    同机 ChromeOS 上 HDMI 已验证正常,对照意义大于通用发行版 Live。开发上用仓库中的 ChromiumOS 5.15 内核源码chromiumos_kernel/v5.15,克隆说明见 WORK_PROGRESS.md)与当前 Ubuntu HWE 6.17 源码(如 kernel-src/linux-hwe-6.17-6.17.0/,见 kernel-src/README.md)对 sound/soc/sof/sound/soc/intel/boards/ 等做 diff定位 iDisp/HDMI 与 SOF IPC 差异;必要时再 git bisect 或向 SOF 上游反馈。详见 ANALYSIS_Audio.md 第六节。
  3. 固件实验(预期有限) 用 intel-signed 覆盖 community 的 sof-cnl.ri.zst 在本项目已实测不能单独恢复 HDMI;若仍要试参数/路径,见 OPERATION_Force_Intel_Signed_Firmware.md,并注意回退清单。
  4. 自行维护内核(进阶 / 当前实验补丁) 对照 ChromeOS 5.15 与 Ubuntu HWE 6.17set_idisp_hdmi_link() 在 ChromeOS 使用 dpcm_playback,在 6.17 使用 playback_only——这是上游对 struct snd_soc_dai_link 的重命名,不能再把 dpcm_playback 写回 6.17(会编译失败)。历史说明见 patches/ubuntu-hwe-6.17/0001-*.patch勿在 6.17 上应用)。 当前可在 6.17 上应用的实验补丁为 0002:在 iDisp HDMI BE 上显式设置 link->trigger[] = SND_SOC_DPCM_TRIGGER_POST(与部分 Intel 板级驱动一致),用于真机验证能否缓解 STREAM_PCM_PARAMS ipc failed (-5)。摘要见 patches/ubuntu-hwe-6.17/DIFF_SUMMARY.txt

应用与编译(在已解压的 kernel-src/linux-hwe-6.17-6.17.0/ 下;或用脚本,默认 SRC 已指向该路径):

cd /path/to/chromebox_10th_audio_driver/kernel-src/linux-hwe-6.17-6.17.0
patch -p1 < /path/to/chromebox_10th_audio_driver/patches/ubuntu-hwe-6.17/0002-ASoC-intel-sof-idisp-hdmi-dpcm-trigger-post.patch
# 或:在仓库根目录执行 ./scripts/ubuntu-hwe-617-build.sh apply

# 出包(需足够磁盘与 apt build-dep见 scripts/ubuntu-hwe-617-build.sh deps / build

若 HDMI 打开或 dmesg 中 IPC 错误明显变化,可再收敛为上游可接受的修复或 bisect。 5. 自行维护内核(进阶 / 回归定位) 在 ChromeOS 5.15 参照树与当前发行版内核之间对 sound/soc/sof/sound/soc/intel/boards/git bisect(或跨树人工对比),定位回归后 revert 或打最小补丁;适合能自行编译内核的维护者。 6. 上游协同thesofproject/sof / alsa-devel 反馈机型Google Kaisa、内核版本、dmesg 中 IPC 错误、ChromeOS 对照正常。

1.3 若「原来有声现在无声」

ANALYSIS_Audio.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


三、采集与回归对比

  • Linuxcollect_linux_audio_topology.shcollected/
  • Windowscollect_windows_audio_topology.ps1collected/
  • 修复前后各采一份,便于对比 dmesg、设备与驱动版本。

四、文档索引

文档 内容
ANALYSIS_Audio.md 三平台对比、原因分析、ChromeOS 对照与第六节排查、第八节无声排查
OPERATION_Force_Intel_Signed_Firmware.md Linux SOF 固件路径与回退
OPERATION_Windows_Audio.md Windows CoolStar / ALC5682
README.md 仓库任务列表