Files
chromebox_10th_audio_driver/audio_topology/collected/README_TRACE_KAISA.md
2026-04-05 08:30:54 +08:00

6.2 KiB
Raw Blame History

KaisaSOF 观测日志存放说明

本目录用于存放 jack-Kaisa 真机 在开启 dynamic_debugsnd_sof sof_debug=0x800 后采集的 dmesg用于分析 STREAM_PCM_PARAMS 失败时的 IPC 载荷。

症状基线计划「下一处修改」分叉用2026-04-05

维度 当前仓库内结论
内核 IPC dmesg_verify_ipc_minus5_jack-Kaisa_6.17.0-20-generic_20260405_043947.txt三条 HDMIplughw:0,2/3/4)均无 ipc tx error / -5,属 IPC 成功路径
主诉分叉 仍偶发 -5:采失败当次 ring优先 §6.1 link 层 ftrace / 0003 dev_dbg(见 patches/ubuntu-hwe-6.17)。若 IPC 一直成功但显示器无声:优先 PipeWire 默认 sink / 物理口与 PCM 编号,并行 Chrome vs 6.17 sof_rt5682 diff(见 patches/ubuntu-hwe-6.17/reference/diff-u_*boards*.txt)。

命名建议

dmesg_sof_TRACE_STREAM_PCM_PARAMS_jack-Kaisa_<uname -r>_<YYYYMMDD_HHMMSS>.txt

示例:dmesg_sof_TRACE_STREAM_PCM_PARAMS_jack-Kaisa_6.17.0-19-generic_20260404_153000.txt

已有基线(无载荷 dump

  • dmesg_sof_STREAM_PCM_PARAMS_HDMI3_jack-Kaisa_6.17.0-19-generic_20260404.txt — 含 ipc tx error / pcm4(HDMI3) / stream_tag 1
  • uname_dpkg_linux-image_jack-Kaisa_6.17.0-19_20260404.txt — 自编 unsigned 内核生效证明

2026-04-04A 步dynamic_debug + 尚未重启)

  • 已写入 /etc/modprobe.d/sof-ipc-payload.confoptions snd_sof sof_debug=0x800重启后 cat /sys/module/snd_sof/parameters/sof_debug 应为 2048 方有 IPC 载荷十六进制)。
  • 已执行 scripts/collect-kaisa-sof-trace.sh(开启 sound/soc/sof/ipc3*.chda-pcmhda-daidynamic_debug +p)。
  • 采集:dmesg_sof_TRACE_AB_stepA_6.17.0-20-generic_20260404_210012.txt — 可见 ipc tx: 0x60010000pcm2 (HDMI1)cmd=1 dai iDisp1 Pin 等(重启前 sof_debug 仍为 0Message payload hex

2026-04-04带 IPC 载荷(sof_debug=2048

  • dmesg_sof_TRACE_PAYLOAD_jack-Kaisa_6.17.0-20-generic_20260404_210954.txt — 含 Size of payloadMessage payload: 十六进制;0x60010000STREAM_PCM_PARAMS载荷 100 字节;可与 struct sof_ipc_pcm_paramsSTREAM_PCM_PARAMS_CHROME_UBUNTU_NOTES.md 对照解码。
  • h3-topology-check-jack-Kaisa_20260404.md — 真机 alsatplg -d 解码 sof-cml-rt5682.tplg.zst:核对 PCM2 / HDMI1 / iDisp1 与 IPC comp_id=0x14Story B / H3
  • dmesg_storyC_STOCK_6.17.0-20-generic_jack-Kaisa_20260405_025700.txtStory C 基线:官方 signed 6.17.0-20 下 SOF/HDMI 相关 dmesg 摘录 + 末尾上下文(试 HDMI 后采集更佳;若需「仅本次播放」可先 sudo dmesg -C 再播再采)。
  • dmesg_storyC_STOCK_6.17.0-20-generic_jack-Kaisa_20260405_032031.txtcollect-storyc-dmesg.sh clearsave STOCK;若文件几乎无 SOF 行,请 clear 后务必试播 HDMIsave 一次。
  • dmesg_storyC_PATCHED_*_042242.txt / …_042458.txt — 早期 PATCHED042458 曾因 sudo 不继承 环境变量仍为 0,2
  • …_042627.txtplughw:0,3…_042637.txt0,4…_042646.txt0,2auto PATCHED plughw:… 全测;dmesg -C 后 ring 仍常为空(短测未必打 SOF 到 printkH2 对照见 stories-hdmi-kaisa-bp-2026-04-04.md
  • dmesg_hda_link_trace_jack-Kaisa_6.17.0-20-generic_20260405_043735.txtdmesg -Cspeaker-test -D plughw:0,3pcm3 / HDMI2。含 STREAM_PCM_PARAMSipc tx: 0x60010000 与后续 0x60040000 / 0x60050000 / 0x60030000未见 ipc tx error / -5(当次为成功路径)。comp_id=0x1adai iDisp2 Pin

  • dmesg_hda_link_trace_jack-Kaisa_6.17.0-20-generic_pcm4_20260405_043745.txt — 同上,plughw:0,4pcm4 / HDMI3comp_id=0x20同样无 -5

  • 说明:已对 sound/hda/core/ext/controller.cfile … +psnd_hdac_ext_bus_link_set_stream_id() 内无 dev_dbgdmesg 中不会出现该函数名。若要观察 link/stream_idftrace临时 printk 补丁,见 STREAM_PCM_PARAMS_CHROME_UBUNTU_NOTES.md §6.1

  • dmesg_verify_ipc_minus5_jack-Kaisa_6.17.0-20-generic_20260405_043947.txtdmesg -C 后依次 speaker-test plughw:0,2 / 0,3 / 0,4HDMI1/2/3 ipc tx error / STREAM_PCM_PARAMS ipc failed / -5;每条 HDMI 在 0x60010000 后均有后续 IPC成功路径当次会话验证)。

  • hda_link_ftrace_6.17.0-20-generic_20260405_044331.txtscripts/collect-hda-link-ftrace.shplughw:0,3)采集的 function_graphhda_link_dma_hw_paramssnd_hdac_ext_bus_link_set_stream_id → … → sof_ipc3_pcm_hw_params,用于 §6.1 时序对照。

  • 上游投递索引UPSTREAM_REPRO_PACKAGE_INDEX.md(与 docs/linux-hdmi/UPSTREAM_SOF_Kaisa_HDMI_REPRO.md 配套)。

操作步骤

见仓库 docs/linux-hdmi/OPERATION_Kaisa_SOF_HDMI_Trace.md;一键辅助脚本:scripts/collect-kaisa-sof-trace.sh(需 root

Story C「仅本次 HDMI 试播」的 dmesg先清空再采

一键(推荐)clear → 自动对 aplay -l 中首个 HDMIspeaker-test(约 10s 超时)→ 保存。

sudo /path/to/repo/scripts/collect-storyc-dmesg.sh auto STOCK
sudo /path/to/repo/scripts/collect-storyc-dmesg.sh auto PATCHED plughw:0,3

分步

sudo /path/to/repo/scripts/collect-storyc-dmesg.sh clear
# 紧接着用 speaker-test / 播放器只走 HDMI 一次
sudo /path/to/repo/scripts/collect-storyc-dmesg.sh save STOCK
# 换自编 unsigned 内核并重启后,同样流程再执行 save PATCHED

产出:audio_topology/collected/dmesg_storyC_<STOCK|PATCHED>_<uname -r>_<主机>_<时间戳>.txt

指定 HDMI 设备(避免 sudo 丢环境):sudo …/collect-storyc-dmesg.sh auto PATCHED plughw:0,3(第 3 参数)。勿依赖 VAR=value sudo … 除非 sudo -E