Files
chromebox_10th_audio_driver/docs/WORK_PROGRESS.md
2026-04-04 07:45:01 +00:00

116 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 工作进度与源码获取说明(换机交接)
面向机型:**Google KaisaChromebox 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.15kernel.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常见遇阻**磁盘空间不足**(建议 **≥3550GB**);勿在同一源码树混用裸 `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/` 下的计划文件。*