diff --git a/README.md b/README.md index a20f4e0c90..4fbf774ad9 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ ### 一、共通与文档(优先) - [ ] **C1**: 整理 Chromebox 10 代音频硬件拓扑(HDMI、3.5mm、codec 型号) - - [ ] C1a: 在 Linux 下收集硬件拓扑信息(如 `aplay -l`、`cat /proc/asound/*` 等) + - [ ] C1a: 在 Linux 下收集硬件拓扑信息(运行 `audio_topology/collect_linux_audio_topology.sh`,输出到 `audio_topology/collected/`) - [ ] C1b: 在 Windows 下收集硬件拓扑信息(如设备管理器、`msinfo32` 等) - [ ] **C2**: 记录 Coreboot 下与原生 ChromeOS 固件的音频差异 - [ ] **C3**: 编写分平台操作步骤文档(Linux / Windows) diff --git a/audio_topology/README.md b/audio_topology/README.md new file mode 100644 index 0000000000..419f272090 --- /dev/null +++ b/audio_topology/README.md @@ -0,0 +1,20 @@ +# 音频拓扑收集 + +用于 C1a 任务:收集 Chromebox 10 代在 Linux 下的音频硬件拓扑信息。 + +## 目录结构 + +- `collect_linux_audio_topology.sh` - 收集脚本 +- `collected/` - 收集结果输出目录 + +## 用法 + +```bash +# 从项目根目录运行,输出默认到 audio_topology/collected/ +sudo ./audio_topology/collect_linux_audio_topology.sh + +# 或指定输出文件 +sudo ./audio_topology/collect_linux_audio_topology.sh /path/to/output.txt +``` + +建议用 `sudo` 运行以获取 dmesg、journalctl 等完整信息。 diff --git a/audio_topology/collect_linux_audio_topology.sh b/audio_topology/collect_linux_audio_topology.sh new file mode 100755 index 0000000000..b2f78b3c20 --- /dev/null +++ b/audio_topology/collect_linux_audio_topology.sh @@ -0,0 +1,267 @@ +#!/bin/bash +# +# Chromebox 10 代 - Linux 音频硬件拓扑收集脚本 +# 用于 C1a 任务:在 Linux 下收集硬件拓扑信息 +# +# 用法: ./collect_linux_audio_topology.sh [输出文件] +# 默认输出到: audio_topology/collected/audio_topology_linux_$(hostname)_$(date).txt +# +# 建议: 用 sudo 运行以获取 dmesg/journalctl;pactl/wpctl 需图形会话, +# 若用 sudo 会尝试以 SUDO_USER 身份调用,否则可在桌面终端直接运行 + +set -e + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +OUTPUT_DIR="${SCRIPT_DIR}/collected" +mkdir -p "$OUTPUT_DIR" +OUTPUT="${1:-${OUTPUT_DIR}/audio_topology_linux_$(hostname)_$(date +%Y%m%d_%H%M%S).txt}" + +TMP_DIR=$(mktemp -d) +trap "rm -rf $TMP_DIR" EXIT + +log() { + echo "[$(date +%H:%M:%S)] $*" +} + +section() { + echo "" >> "$OUTPUT" + echo "========================================" >> "$OUTPUT" + echo "### $1" >> "$OUTPUT" + echo "========================================" >> "$OUTPUT" + echo "" >> "$OUTPUT" +} + +run_cmd() { + local desc="$1" + shift + echo "# $desc" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + if "$@" >> "$OUTPUT" 2>&1; then + true + else + echo "(命令返回非零,可能部分信息缺失)" >> "$OUTPUT" + fi + echo "\`\`\`" >> "$OUTPUT" + echo "" >> "$OUTPUT" +} + +log "开始收集 Linux 音频硬件拓扑..." +log "输出文件: $OUTPUT" + +: > "$OUTPUT" +echo "# Chromebox 10 代 - Linux 音频硬件拓扑" >> "$OUTPUT" +echo "# 收集时间: $(date -Iseconds)" >> "$OUTPUT" +echo "# 主机: $(hostname)" >> "$OUTPUT" +echo "" >> "$OUTPUT" + +# --- 系统信息 --- +section "系统信息" +run_cmd "uname -a" uname -a +run_cmd "内核版本" uname -r +if command -v alsactl &>/dev/null; then + run_cmd "ALSA 版本" alsactl --version 2>/dev/null || echo "alsactl 无版本信息" +fi + +# --- PCI 音频设备 --- +section "PCI 音频相关设备" +if command -v lspci &>/dev/null; then + run_cmd "lspci -nn | grep -i audio (含设备 ID,便于查驱动/quirks)" bash -c "lspci -nn | grep -i audio || echo '(无匹配)'" + run_cmd "lspci | grep -i audio" bash -c "lspci | grep -i audio || echo '(无匹配)'" + run_cmd "lspci -v | grep -A 15 -i audio" bash -c "lspci -v 2>/dev/null | grep -A 15 -i audio || echo '(无匹配)'" +fi + +# --- 播放/录音设备列表 --- +section "ALSA 设备列表" +if command -v aplay &>/dev/null; then + run_cmd "aplay -l (播放设备)" aplay -l + run_cmd "aplay -L (ALSA 设备描述)" aplay -L 2>/dev/null || true +else + echo "# aplay 未安装" >> "$OUTPUT" +fi +if command -v arecord &>/dev/null; then + run_cmd "arecord -l (录音设备)" arecord -l +fi +run_cmd "cat /proc/asound/cards" cat /proc/asound/cards +run_cmd "cat /proc/asound/pcm (PCM 设备明细)" cat /proc/asound/pcm + +# --- /proc/asound 目录结构 --- +section "/proc/asound 目录结构" +run_cmd "ls -la /proc/asound" ls -la /proc/asound +for card_dir in /proc/asound/card[0-9]*; do + if [ -d "$card_dir" ]; then + card=$(basename "$card_dir") + echo "# $card 目录内容:" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + ls -la "$card_dir" 2>/dev/null >> "$OUTPUT" || true + echo "\`\`\`" >> "$OUTPUT" + fi +done + +# --- Codec 信息 (HDA) --- +section "HDA Codec 信息" +for codec in /proc/asound/card*/codec*; do + if [ -f "$codec" ]; then + echo "# $codec" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + cat "$codec" >> "$OUTPUT" 2>/dev/null || echo "(无法读取)" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + fi +done +if ! ls /proc/asound/card*/codec* &>/dev/null; then + echo "(未找到 codec 文件)" >> "$OUTPUT" +fi + +# --- ELD 内容 (HDMI 显示器音频能力,对 HDMI 无声排查很重要) --- +section "HDMI ELD 内容" +for eld in /proc/asound/card*/eld*; do + if [ -f "$eld" ]; then + echo "# $eld" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + cat "$eld" >> "$OUTPUT" 2>/dev/null || echo "(无法读取,或 ELD 为空/未连接)" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + fi +done + +# --- /sys/class/sound 拓扑 --- +section "/sys/class/sound 设备" +if [ -d /sys/class/sound ]; then + run_cmd "ls -la /sys/class/sound" ls -la /sys/class/sound + for card in /sys/class/sound/card[0-9]*; do + if [ -d "$card" ]; then + name=$(basename "$card") + echo "# $name 设备属性:" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + for f in id number; do + if [ -f "$card/$f" ]; then + echo "$f: $(cat "$card/$f" 2>/dev/null)" >> "$OUTPUT" + fi + done + echo "\`\`\`" >> "$OUTPUT" + fi + done +fi + +# --- 内核日志中的音频相关信息 --- +section "内核日志 (dmesg) 音频相关" +echo "# dmesg | grep -iE 'snd|hda|audio|codec|hdmi'" >> "$OUTPUT" +echo "# 提示: 若此处显示「需要 root」,请用 sudo 重新运行本脚本以获取完整日志" >> "$OUTPUT" +echo "\`\`\`" >> "$OUTPUT" +dmesg 2>/dev/null | grep -iE 'snd|hda|audio|codec|hdmi' >> "$OUTPUT" || echo "(需要 root 或 dmesg 不可用)" >> "$OUTPUT" +echo "\`\`\`" >> "$OUTPUT" +echo "" >> "$OUTPUT" + +# --- 可选: journalctl 内核日志 (补充 dmesg,含启动后日志) --- +section "journalctl 内核日志 (SOF/音频,可选补充)" +if command -v journalctl &>/dev/null; then + echo "# journalctl -b -k --no-pager | grep -iE 'sof|snd|hda|audio|hdmi' | tail -80" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + journalctl -b -k --no-pager 2>/dev/null | grep -iE 'sof|snd|hda|audio|hdmi' | tail -80 >> "$OUTPUT" || echo "(journalctl 需 root 或不可用)" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" +else + echo "(journalctl 未安装)" >> "$OUTPUT" +fi + +# --- 可选: ACPI NHLT 表 (Coreboot 下常缺失,影响 SOF) --- +section "ACPI NHLT 表" +if [ -d /sys/firmware/acpi/tables ]; then + echo "# ls /sys/firmware/acpi/tables/ | grep -i nhlt" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + ls /sys/firmware/acpi/tables/ 2>/dev/null | grep -i nhlt >> "$OUTPUT" || echo "(未找到 NHLT 表,Coreboot 下常见)" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" +else + echo "(/sys/firmware/acpi/tables 不可用)" >> "$OUTPUT" +fi + +# --- 可选: sof-logger (若已安装,可查看 SOF 固件 trace) --- +section "sof-logger (可选)" +# sudo 下同时检查 SUDO_USER 的 ~/.local/bin(用户可能安装于此) +if [ -n "${SUDO_USER:-}" ]; then + USER_HOME=$(getent passwd "$SUDO_USER" 2>/dev/null | cut -d: -f6) + [ -n "$USER_HOME" ] && [ -d "$USER_HOME/.local/bin" ] && export PATH="$USER_HOME/.local/bin:$PATH" +fi +if command -v sof-logger &>/dev/null; then + echo "# sof-logger -t 2>/dev/null | tail -30 (DMA trace,无需 ldc 文件)" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + SOF_LOG=$(timeout 3 sof-logger -t 2>/dev/null | tail -30) || true + if [ -z "$SOF_LOG" ]; then + echo "(sof-logger 执行超时或需 root/debugfs)" >> "$OUTPUT" + elif echo "$SOF_LOG" | grep -q "Usage sof-logger"; then + echo "(sof-logger 输出 Usage:通常表示 debugfs 未挂载或需 root 权限读取 /sys/kernel/debug/sof/)" >> "$OUTPUT" + else + echo "$SOF_LOG" >> "$OUTPUT" + fi + echo "\`\`\`" >> "$OUTPUT" +else + echo "(sof-logger 未安装,可从 thesofproject/sof-bin 或发行版 firmware-sof 相关包安装)" >> "$OUTPUT" +fi + +# --- 音频服务/会话 --- +section "音频服务 (PulseAudio / PipeWire)" +echo "# 提示: sudo 下会以原用户身份调用 pactl/pw-cli,需设置 XDG_RUNTIME_DIR 以连接用户会话" >> "$OUTPUT" +RUN_PACTL() { + if [ -n "${SUDO_USER:-}" ] && [ -d "/run/user/$(id -u "$SUDO_USER" 2>/dev/null)" ]; then + runuser -u "$SUDO_USER" -- env XDG_RUNTIME_DIR="/run/user/$(id -u "$SUDO_USER")" "$@" + else + "$@" + fi +} +if command -v pactl &>/dev/null; then + run_cmd "pactl info" RUN_PACTL pactl info 2>/dev/null || run_cmd "pactl info (直接调用)" pactl info 2>/dev/null || true + run_cmd "pactl list cards (含 HDMI/3.5mm 等 profile)" RUN_PACTL pactl list cards 2>/dev/null || true + run_cmd "pactl list sinks short" RUN_PACTL pactl list sinks short 2>/dev/null || true +fi +if command -v pw-cli &>/dev/null; then + run_cmd "pw-cli list-objects Device" RUN_PACTL pw-cli list-objects Device 2>/dev/null || true +fi +if command -v wpctl &>/dev/null; then + run_cmd "wpctl status (WirePlumber)" RUN_PACTL wpctl status 2>/dev/null || true +fi + +# --- 已加载的音频相关内核模块 --- +section "音频相关内核模块" +run_cmd "lsmod | grep -iE 'snd|hda|sound'" bash -c "lsmod | grep -iE 'snd|hda|sound' || echo '(无匹配)'" + +# --- 混音器状态 --- +section "ALSA 混音器状态" +if command -v amixer &>/dev/null; then + run_cmd "amixer -c 0 contents (或 -c default)" amixer -c 0 contents 2>/dev/null || amixer contents 2>/dev/null || echo "(amixer 执行失败)" >> "$OUTPUT" +fi + +# --- SOF 固件与拓扑 --- +section "SOF 固件 (Intel Sound Open Firmware)" +if [ -f /sys/kernel/debug/sof/fw_version ]; then + echo "# /sys/kernel/debug/sof/fw_version (需 root)" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + cat /sys/kernel/debug/sof/fw_version 2>/dev/null >> "$OUTPUT" || echo "(无法读取)" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + echo "" >> "$OUTPUT" +fi +if [ -d /lib/firmware/intel ]; then + echo "# ls -la /lib/firmware/intel/ (sof 相关)" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + ls -la /lib/firmware/intel/ 2>/dev/null | grep -E 'sof|avs' >> "$OUTPUT" || ls -la /lib/firmware/intel/ >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + for tplg_dir in /lib/firmware/intel/sof /lib/firmware/intel/sof-tplg; do + if [ -d "$tplg_dir" ]; then + echo "# SOF 拓扑: $tplg_dir" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + find "$tplg_dir" -type f -name '*tplg*' 2>/dev/null | head -30 >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + fi + done +else + echo "(未找到 /lib/firmware/intel)" >> "$OUTPUT" +fi + +# --- 机器/主板识别 (ACPI) --- +section "机器识别 (主板/机型)" +if [ -f /sys/class/dmi/id/board_name ]; then + echo "# DMI 主板信息:" >> "$OUTPUT" + echo "\`\`\`" >> "$OUTPUT" + for f in /sys/class/dmi/id/board_name /sys/class/dmi/id/product_name /sys/class/dmi/id/sys_vendor; do + [ -f "$f" ] && echo "$(basename $f): $(cat "$f" 2>/dev/null)" >> "$OUTPUT" + done + echo "\`\`\`" >> "$OUTPUT" +fi + +log "收集完成,结果已保存到: $OUTPUT" diff --git a/audio_topology/collected/audio_topology_linux_jack-Kaisa_20260213_202044.txt b/audio_topology/collected/audio_topology_linux_jack-Kaisa_20260213_202044.txt new file mode 100644 index 0000000000..d5aaf6156d --- /dev/null +++ b/audio_topology/collected/audio_topology_linux_jack-Kaisa_20260213_202044.txt @@ -0,0 +1,1414 @@ +# Chromebox 10 代 - Linux 音频硬件拓扑 +# 收集时间: 2026-02-13T20:20:44+08:00 +# 主机: jack-Kaisa + + +======================================== +### 系统信息 +======================================== + +# uname -a +``` +Linux jack-Kaisa 6.17.0-14-generic #14~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Jan 15 15:52:10 UTC 2 x86_64 x86_64 x86_64 GNU/Linux +``` + +# 内核版本 +``` +6.17.0-14-generic +``` + +# ALSA 版本 +``` +alsactl version 1.2.9 +``` + + +======================================== +### PCI 音频相关设备 +======================================== + +# lspci -nn | grep -i audio (含设备 ID,便于查驱动/quirks) +``` +00:1f.3 Multimedia audio controller [0401]: Intel Corporation Comet Lake PCH-LP cAVS [8086:02c8] +``` + +# lspci | grep -i audio +``` +00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH-LP cAVS +``` + +# lspci -v | grep -A 15 -i audio +``` +00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH-LP cAVS + DeviceName: Multimedia audio controller + Subsystem: Intel Corporation Comet Lake PCH-LP cAVS + Flags: bus master, fast devsel, latency 64, IRQ 156, IOMMU group 13 + Memory at cece0000 (64-bit, non-prefetchable) [size=16K] + Memory at ced00000 (64-bit, non-prefetchable) [size=1M] + Capabilities: [50] Power Management version 3 + Capabilities: [80] Vendor Specific Information: Len=14 + Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+ + Kernel driver in use: sof-audio-pci-intel-cnl + Kernel modules: snd_soc_avs, snd_sof_pci_intel_cnl, snd_hda_intel + +00:1f.4 SMBus: Intel Corporation Comet Lake PCH-LP SMBus Host Controller + Subsystem: Intel Corporation Comet Lake PCH-LP SMBus Host Controller + Flags: medium devsel, IRQ 22, IOMMU group 13 + Memory at cecd2000 (64-bit, non-prefetchable) [size=256] + I/O ports at efa0 [size=32] + Kernel driver in use: i801_smbus + Kernel modules: i2c_i801 + +00:1f.5 Serial bus controller: Intel Corporation Comet Lake SPI (flash) Controller + Subsystem: Intel Corporation Comet Lake SPI (flash) Controller + Flags: bus master, fast devsel, latency 0, IOMMU group 13 + Memory at fe010000 (32-bit, non-prefetchable) [size=4K] + Kernel driver in use: intel-spi +``` + + +======================================== +### ALSA 设备列表 +======================================== + +# aplay -l (播放设备) +``` +**** PLAYBACK 硬體裝置清單 **** +card 0: sofrt5682 [sof-rt5682], device 0: Port1 (*) [] + 子设备: 0/1 + 子设备 #0: subdevice #0 +card 0: sofrt5682 [sof-rt5682], device 2: HDMI1 (*) [] + 子设备: 1/1 + 子设备 #0: subdevice #0 +card 0: sofrt5682 [sof-rt5682], device 3: HDMI2 (*) [] + 子设备: 1/1 + 子设备 #0: subdevice #0 +card 0: sofrt5682 [sof-rt5682], device 4: HDMI3 (*) [] + 子设备: 1/1 + 子设备 #0: subdevice #0 +``` + +# aplay -L (ALSA 设备描述) +``` +null + Discard all samples (playback) or generate zero samples (capture) +lavrate + Rate Converter Plugin Using Libav/FFmpeg Library +samplerate + Rate Converter Plugin Using Samplerate Library +speexrate + Rate Converter Plugin Using Speex Resampler +jack + JACK Audio Connection Kit +oss + Open Sound System +pipewire + PipeWire Sound Server +pulse + PulseAudio Sound Server +speex + Plugin using Speex DSP (resample, agc, denoise, echo, dereverb) +upmix + Plugin for channel upmix (4,6,8) +vdownmix + Plugin for channel downmix (stereo) with a simple spacialization +default + Default ALSA Output (currently PipeWire Media Server) +hw:CARD=sofrt5682,DEV=0 + sof-rt5682, + Direct hardware device without any conversions +hw:CARD=sofrt5682,DEV=2 + sof-rt5682, + Direct hardware device without any conversions +hw:CARD=sofrt5682,DEV=3 + sof-rt5682, + Direct hardware device without any conversions +hw:CARD=sofrt5682,DEV=4 + sof-rt5682, + Direct hardware device without any conversions +plughw:CARD=sofrt5682,DEV=0 + sof-rt5682, + Hardware device with all software conversions +plughw:CARD=sofrt5682,DEV=2 + sof-rt5682, + Hardware device with all software conversions +plughw:CARD=sofrt5682,DEV=3 + sof-rt5682, + Hardware device with all software conversions +plughw:CARD=sofrt5682,DEV=4 + sof-rt5682, + Hardware device with all software conversions +sysdefault:CARD=sofrt5682 + sof-rt5682, + Default Audio Device +dmix:CARD=sofrt5682,DEV=0 + sof-rt5682, + Direct sample mixing device +dmix:CARD=sofrt5682,DEV=2 + sof-rt5682, + Direct sample mixing device +dmix:CARD=sofrt5682,DEV=3 + sof-rt5682, + Direct sample mixing device +dmix:CARD=sofrt5682,DEV=4 + sof-rt5682, + Direct sample mixing device +usbstream:CARD=sofrt5682 + sof-rt5682 + USB Stream Output +``` + +# arecord -l (录音设备) +``` +**** CAPTURE 硬體裝置清單 **** +card 0: sofrt5682 [sof-rt5682], device 0: Port1 (*) [] + 子设备: 1/1 + 子设备 #0: subdevice #0 +card 0: sofrt5682 [sof-rt5682], device 1: DMIC (*) [] + 子设备: 1/1 + 子设备 #0: subdevice #0 +card 0: sofrt5682 [sof-rt5682], device 8: DMIC16kHz (*) [] + 子设备: 1/1 + 子设备 #0: subdevice #0 +``` + +# cat /proc/asound/cards +``` + 0 [sofrt5682 ]: sof-rt5682 - sof-rt5682 + Google-Kaisa-rev4 +``` + +# cat /proc/asound/pcm (PCM 设备明细) +``` +00-00: Port1 (*) : : playback 1 : capture 1 +00-01: DMIC (*) : : capture 1 +00-02: HDMI1 (*) : : playback 1 +00-03: HDMI2 (*) : : playback 1 +00-04: HDMI3 (*) : : playback 1 +00-08: DMIC16kHz (*) : : capture 1 +``` + + +======================================== +### /proc/asound 目录结构 +======================================== + +# ls -la /proc/asound +``` +总计 0 +dr-xr-xr-x 13 root root 0 2月 13 19:47 . +dr-xr-xr-x 368 root root 0 2月 10 09:00 .. +dr-xr-xr-x 20 root root 0 2月 13 19:47 card0 +-r--r--r-- 1 root root 0 2月 13 19:55 cards +-r--r--r-- 1 root root 0 2月 13 19:56 devices +-r--r--r-- 1 root root 0 2月 13 19:56 hwdep +-r--r--r-- 1 root root 0 2月 13 19:56 modules +dr-xr-xr-x 4 root root 0 2月 13 19:56 oss +-r--r--r-- 1 root root 0 2月 13 19:56 pcm +dr-xr-xr-x 6 root root 0 2月 13 19:56 seq +lrwxrwxrwx 1 root root 5 2月 13 19:56 sofrt5682 -> card0 +-r--r--r-- 1 root root 0 2月 13 19:56 timers +-r--r--r-- 1 root root 0 2月 13 19:56 version +``` + +# card0 目录内容: +``` +总计 0 +dr-xr-xr-x 20 root root 0 2月 13 19:47 . +dr-xr-xr-x 13 root root 0 2月 13 19:47 .. +-r--r--r-- 1 root root 0 2月 13 19:56 codec#2 +-rw-r--r-- 1 root root 0 2月 13 19:56 eld#2.0 +-rw-r--r-- 1 root root 0 2月 13 19:56 eld#2.1 +-rw-r--r-- 1 root root 0 2月 13 19:56 eld#2.2 +-rw-r--r-- 1 root root 0 2月 13 19:56 eld#2.3 +-rw-r--r-- 1 root root 0 2月 13 19:56 eld#2.4 +-rw-r--r-- 1 root root 0 2月 13 19:56 eld#2.5 +-rw-r--r-- 1 root root 0 2月 13 19:56 eld#2.6 +-rw-r--r-- 1 root root 0 2月 13 19:56 eld#2.7 +-rw-r--r-- 1 root root 0 2月 13 19:56 eld#2.8 +-r--r--r-- 1 root root 0 2月 13 19:56 id +dr-xr-xr-x 4 root root 0 2月 13 19:47 pcm0c +dr-xr-xr-x 4 root root 0 2月 13 19:47 pcm0p +dr-xr-xr-x 4 root root 0 2月 13 19:47 pcm1c +dr-xr-xr-x 4 root root 0 2月 13 19:47 pcm2p +dr-xr-xr-x 4 root root 0 2月 13 19:47 pcm3p +dr-xr-xr-x 4 root root 0 2月 13 19:47 pcm4p +dr-xr-xr-x 4 root root 0 2月 13 19:47 pcm8c +``` + +======================================== +### HDA Codec 信息 +======================================== + +# /proc/asound/card0/codec#2 +``` +Codec: Intel Kabylake HDMI +Address: 2 +AFG Function Id: 0x1 (unsol 0) +Vendor Id: 0x8086280b +Subsystem Id: 0x80860101 +Revision Id: 0x100000 +No Modem Function Group found +Default PCM: + rates [0x0]: + bits [0x0]: + formats [0x0]: +Default Amp-In caps: N/A +Default Amp-Out caps: N/A +State of AFG node 0x01: + Power states: D0 D3 CLKSTOP EPSS + Power: setting=D0, actual=D0, Clock-stop-OK +GPIO: io=0, o=0, i=0, unsolicited=0, wake=0 +Node 0x02 [Audio Output] wcaps 0x6611: 8-Channels Digital + Converter: stream=1, channel=0 + Digital: KAE + Digital category: 0x0 + IEC Coding Type: 0x0 + PCM: + rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000 + bits [0x1a]: 16 24 32 + formats [0x5]: PCM AC3 + Power states: D0 D3 EPSS + Power: setting=D0, actual=D0 +Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital + Converter: stream=0, channel=0 + Digital: Enabled KAE + Digital category: 0x0 + IEC Coding Type: 0x0 + PCM: + rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000 + bits [0x1a]: 16 24 32 + formats [0x5]: PCM AC3 + Power states: D0 D3 EPSS + Power: setting=D0, actual=D0 +Node 0x04 [Audio Output] wcaps 0x6611: 8-Channels Digital + Converter: stream=0, channel=0 + Digital: Enabled KAE + Digital category: 0x0 + IEC Coding Type: 0x0 + PCM: + rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000 + bits [0x1a]: 16 24 32 + formats [0x5]: PCM AC3 + Power states: D0 D3 EPSS + Power: setting=D0, actual=D0 +Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP + Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 + Amp-Out vals: [0x00 0x00] + Pincap 0x0b000094: OUT Detect HBR HDMI DP + Pin Default 0x18560010: [Jack] Digital Out at Int HDMI + Conn = Digital, Color = Unknown + DefAssociation = 0x1, Sequence = 0x0 + Pin-ctls: 0x00: + Unsolicited: tag=00, enabled=0 + Power states: D0 D3 EPSS + Power: setting=D0, actual=D0 + Devices: 0 + Connection: 0 +Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP + Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 + Amp-Out vals: [0x00 0x00] + Pincap 0x0b000094: OUT Detect HBR HDMI DP + Pin Default 0x18560010: [Jack] Digital Out at Int HDMI + Conn = Digital, Color = Unknown + DefAssociation = 0x1, Sequence = 0x0 + Pin-ctls: 0x40: OUT + Unsolicited: tag=00, enabled=0 + Power states: D0 D3 EPSS + Power: setting=D0, actual=D0 + Devices: 3 + *Dev 00: PD = 1, ELDV = 0, IA = 0, Connections [ 0x02* 0x03 0x04 ] + Dev 01: PD = 0, ELDV = 0, IA = 0, Connections [ 0x02* 0x03 0x04 ] + Dev 02: PD = 0, ELDV = 0, IA = 0, Connections [ 0x02* 0x03 0x04 ] + Connection: 3 + 0x02* 0x03 0x04 +Node 0x07 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP + Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 + Amp-Out vals: [0x00 0x00] + Pincap 0x0b000094: OUT Detect HBR HDMI DP + Pin Default 0x18560010: [Jack] Digital Out at Int HDMI + Conn = Digital, Color = Unknown + DefAssociation = 0x1, Sequence = 0x0 + Pin-ctls: 0x00: + Unsolicited: tag=00, enabled=0 + Power states: D0 D3 EPSS + Power: setting=D0, actual=D0 + Devices: 0 + Connection: 0 +Node 0x08 [Vendor Defined Widget] wcaps 0xf00000: Mono +``` + +======================================== +### HDMI ELD 内容 +======================================== + +# /proc/asound/card0/eld#2.0 +``` +monitor_present 0 +eld_valid 0 +codec_pin_nid 0x5 +codec_dev_id 0x0 +codec_cvt_nid 0x0 +``` +# /proc/asound/card0/eld#2.1 +``` +monitor_present 0 +eld_valid 0 +codec_pin_nid 0x5 +codec_dev_id 0x1 +codec_cvt_nid 0x0 +``` +# /proc/asound/card0/eld#2.2 +``` +monitor_present 0 +eld_valid 0 +codec_pin_nid 0x5 +codec_dev_id 0x2 +codec_cvt_nid 0x0 +``` +# /proc/asound/card0/eld#2.3 +``` +monitor_present 1 +eld_valid 1 +codec_pin_nid 0x6 +codec_dev_id 0x0 +codec_cvt_nid 0x2 +monitor_name ASUS MG279 +connection_type DisplayPort +eld_version [0x2] CEA-861D or below +edid_version [0x3] CEA-861-B, C or D +manufacture_id 0x6904 +product_id 0x27a7 +port_id 0x0 +support_hdcp 0 +support_ai 0 +audio_sync_delay 0 +speakers [0x1] FL/FR +sad_count 1 +sad0_coding_type [0x1] LPCM +sad0_channels 2 +sad0_rates [0x4e0] 32000 44100 48000 96000 +sad0_bits [0xe] 16 20 24 +``` +# /proc/asound/card0/eld#2.4 +``` +monitor_present 0 +eld_valid 0 +codec_pin_nid 0x6 +codec_dev_id 0x1 +codec_cvt_nid 0x0 +``` +# /proc/asound/card0/eld#2.5 +``` +monitor_present 0 +eld_valid 0 +codec_pin_nid 0x6 +codec_dev_id 0x2 +codec_cvt_nid 0x0 +``` +# /proc/asound/card0/eld#2.6 +``` +monitor_present 0 +eld_valid 0 +codec_pin_nid 0x7 +codec_dev_id 0x0 +codec_cvt_nid 0x0 +``` +# /proc/asound/card0/eld#2.7 +``` +monitor_present 0 +eld_valid 0 +codec_pin_nid 0x7 +codec_dev_id 0x1 +codec_cvt_nid 0x0 +``` +# /proc/asound/card0/eld#2.8 +``` +monitor_present 0 +eld_valid 0 +codec_pin_nid 0x7 +codec_dev_id 0x2 +codec_cvt_nid 0x0 +``` + +======================================== +### /sys/class/sound 设备 +======================================== + +# ls -la /sys/class/sound +``` +总计 0 +drwxr-xr-x 2 root root 0 2月 13 19:56 . +drwxr-xr-x 88 root root 0 2月 13 19:56 .. +lrwxrwxrwx 1 root root 0 2月 13 19:47 card0 -> ../../devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0 +lrwxrwxrwx 1 root root 0 2月 13 19:47 controlC0 -> ../../devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0/controlC0 +lrwxrwxrwx 1 root root 0 2月 13 19:47 ctl-led -> ../../devices/virtual/sound/ctl-led +lrwxrwxrwx 1 root root 0 2月 13 19:47 hwC0D2 -> ../../devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0/hwC0D2 +lrwxrwxrwx 1 root root 0 2月 13 19:47 pcmC0D0c -> ../../devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0/pcmC0D0c +lrwxrwxrwx 1 root root 0 2月 13 19:47 pcmC0D0p -> ../../devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0/pcmC0D0p +lrwxrwxrwx 1 root root 0 2月 13 19:47 pcmC0D1c -> ../../devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0/pcmC0D1c +lrwxrwxrwx 1 root root 0 2月 13 19:47 pcmC0D2p -> ../../devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0/pcmC0D2p +lrwxrwxrwx 1 root root 0 2月 13 19:47 pcmC0D3p -> ../../devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0/pcmC0D3p +lrwxrwxrwx 1 root root 0 2月 13 19:47 pcmC0D4p -> ../../devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0/pcmC0D4p +lrwxrwxrwx 1 root root 0 2月 13 19:47 pcmC0D8c -> ../../devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0/pcmC0D8c +lrwxrwxrwx 1 root root 0 2月 13 19:47 seq -> ../../devices/virtual/sound/seq +lrwxrwxrwx 1 root root 0 2月 13 19:47 timer -> ../../devices/virtual/sound/timer +``` + +# card0 设备属性: +``` +id: sofrt5682 +number: 0 +``` + +======================================== +### 内核日志 (dmesg) 音频相关 +======================================== + +# dmesg | grep -iE 'snd|hda|audio|codec|hdmi' +# 提示: 若此处显示「需要 root」,请用 sudo 重新运行本脚本以获取完整日志 +``` +[ 4.154436] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100 +[ 4.154495] sof-audio-pci-intel-cnl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915]) +[ 4.161221] sof-audio-pci-intel-cnl 0000:00:1f.3: use msi interrupt mode +[ 4.173525] sof-audio-pci-intel-cnl 0000:00:1f.3: NHLT table not found +[ 4.173591] sof-audio-pci-intel-cnl 0000:00:1f.3: hda codecs found, mask 4 +[ 4.173595] sof-audio-pci-intel-cnl 0000:00:1f.3: BT link detected in NHLT tables: 0x0 +[ 4.173598] sof-audio-pci-intel-cnl 0000:00:1f.3: DMICs detected in NHLT tables: 0 +[ 4.183863] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware paths/files for ipc type 0: +[ 4.183868] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware file: intel/sof/community/sof-cml.ri +[ 4.183871] sof-audio-pci-intel-cnl 0000:00:1f.3: Topology file: intel/sof-tplg/sof-cml-rt5682.tplg +[ 4.188002] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 2:2:0-57864 +[ 4.188006] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:1 +[ 4.295797] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 2:2:0-57864 +[ 4.295804] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:1 +[ 4.337848] sof-audio-pci-intel-cnl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:1 +[ 4.378418] SSP0-Codec: enable ASRC +[ 4.395820] input: sof-rt5682 HDMI/DP,pcm=2 as /devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0/input12 +[ 4.395951] input: sof-rt5682 HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0/input13 +[ 4.396191] input: sof-rt5682 HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0/input14 +[ 6.380745] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.380751] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.380753] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.380758] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.380764] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.381587] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.381593] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.381596] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.381605] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.381613] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.382336] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.382341] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.382345] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.382352] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.382376] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.383157] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.383162] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.383165] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.383204] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.383226] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.384085] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.384090] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.384094] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.384119] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.384147] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.385695] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.385700] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.385704] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.385710] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.385719] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.386424] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.386428] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.386430] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.386437] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.386446] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.387155] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.387159] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.387161] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.387167] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.387176] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.387845] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.387849] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.387851] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.387857] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.387866] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.388501] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.388505] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.388507] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.388513] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.388522] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.389810] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.389814] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.389816] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.389822] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.389831] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.390511] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.390515] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.390517] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.390523] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.390532] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.391252] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.391255] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.391257] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.391262] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.391268] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.392006] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.392009] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.392011] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.392015] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.392021] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.392724] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.392728] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.392730] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.392736] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.392746] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.394080] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.394084] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.394087] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.394093] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.394101] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.394852] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.394857] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.394860] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.394867] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.394874] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.395684] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.395688] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.395691] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.395697] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.395706] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.396533] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.396538] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.396541] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.396547] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.396556] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.397327] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.397332] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm3 (HDMI2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.397335] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.397342] HDMI2: ASoC error (-5): at __soc_pcm_hw_params() on HDMI2 +[ 6.397351] HDMI2: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI2 +[ 6.398876] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.398880] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.398883] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.398889] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.398898] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.399624] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.399628] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.399631] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.399637] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.399646] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.400398] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.400403] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.400406] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.400413] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.400423] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.401192] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.401197] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.401200] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.401207] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.401229] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.401961] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.401965] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.401968] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.401974] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.401986] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.403562] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.403567] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.403570] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.403575] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.403584] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.404324] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.404328] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.404332] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.404338] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.404347] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.405152] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.405156] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.405159] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.405185] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.405194] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.405973] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.405977] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.405980] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.405990] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.405998] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.406803] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.406807] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.406810] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.406816] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.406824] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.408499] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.408503] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.408506] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.408512] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.408521] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.409275] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.409279] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.409283] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.409289] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.409298] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.410149] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.410172] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.410176] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.410182] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.410192] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.410988] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.410991] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.410993] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.410998] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.411025] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.411789] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.411793] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.411796] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.411802] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.411810] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.413524] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.413528] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.413531] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.413537] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.413546] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.414326] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.414330] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.414334] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.414340] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.414349] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.415175] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.415179] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.415201] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.415207] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.415217] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.416104] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.416109] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.416112] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.416119] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.416128] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +[ 6.416934] sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +[ 6.416938] sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +[ 6.416941] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +[ 6.416946] HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +[ 6.416955] HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +``` + + +======================================== +### journalctl 内核日志 (SOF/音频,可选补充) +======================================== + +# journalctl -b -k --no-pager | grep -iE 'sof|snd|hda|audio|hdmi' | tail -80 +``` +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: sof_ipc3_pcm_hw_params: pcm4 (HDMI3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1 +2月 13 19:47:12 jack-Kaisa kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at __soc_pcm_hw_params() on HDMI3 +2月 13 19:47:12 jack-Kaisa kernel: HDMI3: ASoC error (-5): at dpcm_fe_dai_hw_params() on HDMI3 +``` + +======================================== +### ACPI NHLT 表 +======================================== + +# ls /sys/firmware/acpi/tables/ | grep -i nhlt +``` +(未找到 NHLT 表,Coreboot 下常见) +``` + +======================================== +### sof-logger (可选) +======================================== + +# sof-logger -t 2>/dev/null | tail -30 (DMA trace,无需 ldc 文件) +``` +(sof-logger 输出 Usage:通常表示 debugfs 未挂载或需 root 权限读取 /sys/kernel/debug/sof/) +``` + +======================================== +### 音频服务 (PulseAudio / PipeWire) +======================================== + +# 提示: sudo 下会以原用户身份调用 pactl/pw-cli,需设置 XDG_RUNTIME_DIR 以连接用户会话 +# pactl info +``` +服务器字串:/run/user/1000/pulse/native +程序库协议版本:35 +服务器协议版本:35 +是否本地服务器:是 +客户端索引:140 +区块大小: 65472 +用户名:jack +主机名:jack-Kaisa +服务器名:PulseAudio (on PipeWire 1.0.5) +服务器版本:15.0.0 +默认采样规格:float32le 2ch 48000Hz +默认声道映射:front-left,front-right +默认音频入口:alsa_output.pci-0000_00_1f.3-platform-cml_rt5682_def.stereo-fallback +默认信源: alsa_output.pci-0000_00_1f.3-platform-cml_rt5682_def.stereo-fallback.monitor +Cookie:03e1:ba7f +``` + +# pactl list cards (含 HDMI/3.5mm 等 profile) +``` +卡 #42 + 名称:alsa_card.pci-0000_00_1f.3-platform-cml_rt5682_def + 驱动:alsa + 拥有者模块:n/a + 属性: + api.acp.auto-port = "false" + api.acp.auto-profile = "false" + api.alsa.card = "0" + api.alsa.card.longname = "Google-Kaisa-rev4" + api.alsa.card.name = "sof-rt5682" + api.alsa.path = "hw:0" + api.alsa.use-acp = "true" + api.dbus.ReserveDevice1 = "Audio0" + device.api = "alsa" + device.bus = "pci" + device.bus_path = "pci-0000:00:1f.3-platform-cml_rt5682_def" + device.description = "Comet Lake PCH-LP cAVS" + device.enum.api = "udev" + device.icon_name = "audio-card-analog-pci" + device.name = "alsa_card.pci-0000_00_1f.3-platform-cml_rt5682_def" + device.nick = "sof-rt5682" + device.plugged.usec = "4378876" + device.product.id = "0x02c8" + device.product.name = "Comet Lake PCH-LP cAVS" + device.subsystem = "sound" + sysfs.path = "/devices/pci0000:00/0000:00:1f.3/cml_rt5682_def/sound/card0" + device.vendor.id = "0x8086" + device.vendor.name = "Intel Corporation" + media.class = "Audio/Device" + factory.id = "14" + client.id = "35" + object.id = "42" + object.serial = "42" + object.path = "alsa:pcm:0" + alsa.card = "0" + alsa.card_name = "sof-rt5682" + alsa.long_card_name = "Google-Kaisa-rev4" + alsa.driver_name = "snd_soc_sof_rt5682" + alsa.mixer_name = "Intel Kabylake HDMI" + alsa.components = "HDA:8086280b,80860101,00100000" + alsa.id = "sofrt5682" + device.string = "0" + 配置文件: + off: 关 (信宿:0,信源:0,优先级:0,可用性:是) + output:stereo-fallback+input:stereo-fallback: 立体声 输出 + 立体声 输入 (信宿:1,信源:1,优先级:5151,可用性:是) + output:stereo-fallback: 立体声 输出 (信宿:1,信源:0,优先级:5100,可用性:是) + input:stereo-fallback: 立体声 输入 (信宿:0,信源:1,优先级:51,可用性:否) + pro-audio: 专业音频 (信宿:4,信源:3,优先级:1,可用性:是) + 活动配置:output:stereo-fallback+input:stereo-fallback + 端口: + analog-input-headset-mic: 头挂麦克风 (type: 耳机, priority: 8800, latency offset: 0 usec, availability group: Legacy 1, not available) + 属性: + port.type = "headset" + port.availability-group = "Legacy 1" + device.icon_name = "audio-input-microphone" + card.profile.port = "0" + 属于配置文件:input:stereo-fallback, output:stereo-fallback+input:stereo-fallback + analog-output-headphones: 模拟耳机 (type: 模拟耳机, priority: 9900, latency offset: 0 usec, availability group: Legacy 1, availability unknown) + 属性: + port.type = "headphones" + port.availability-group = "Legacy 1" + device.icon_name = "audio-headphones" + card.profile.port = "1" + 属于配置文件:output:stereo-fallback, output:stereo-fallback+input:stereo-fallback +``` + +# pactl list sinks short +``` +93 alsa_output.pci-0000_00_1f.3-platform-cml_rt5682_def.stereo-fallback PipeWire s24-32le 2ch 48000Hz RUNNING +``` + +# pw-cli list-objects Device +``` + id 42, type PipeWire:Interface:Device/3 + object.serial = "42" + factory.id = "14" + client.id = "35" + device.api = "alsa" + device.description = "Comet Lake PCH-LP cAVS" + device.name = "alsa_card.pci-0000_00_1f.3-platform-cml_rt5682_def" + device.nick = "sof-rt5682" + media.class = "Audio/Device" +``` + +# wpctl status (WirePlumber) +``` +PipeWire 'pipewire-0' [1.0.5, jack@jack-Kaisa, cookie:65124991] + └─ Clients: + 32. pipewire [1.0.5, jack@jack-Kaisa, pid:1387] + 34. WirePlumber [1.0.5, jack@jack-Kaisa, pid:1386] + 35. WirePlumber [export] [1.0.5, jack@jack-Kaisa, pid:1386] + 50. GNOME Volume Control Media Keys [1.0.5, jack@jack-Kaisa, pid:1913] + 51. gnome-shell [1.0.5, jack@jack-Kaisa, pid:1676] + 52. GNOME Shell Volume Control [1.0.5, jack@jack-Kaisa, pid:1676] + 53. xdg-desktop-portal [1.0.5, jack@jack-Kaisa, pid:2318] + 54. Firefox [1.0.5, jack@jack-Kaisa, pid:2659] + 60. cursor [1.0.5, jack@jack-Kaisa, pid:3812] + 61. GNOME Settings [1.0.5, jack@jack-Kaisa, pid:5632] + 69. wpctl [1.0.5, jack@jack-Kaisa, pid:9793] + +Audio + ├─ Devices: + │ 42. Comet Lake PCH-LP cAVS [alsa] + │ + ├─ Sinks: + │ * 68. Comet Lake PCH-LP cAVS 立体声 [vol: 1.00] + │ + ├─ Sink endpoints: + │ + ├─ Sources: + │ 65. Comet Lake PCH-LP cAVS 立体声 [vol: 1.00] + │ + ├─ Source endpoints: + │ + └─ Streams: + 55. Firefox + 56. output_FL > 立体声:playback_FL [active] + 57. output_FR > 立体声:playback_FR [active] + 59. GNOME Settings + 43. monitor_FL + 47. monitor_FR + 62. input_FR < 立体声:monitor_FR [active] + 64. input_FL < 立体声:monitor_FL [active] + +Video + ├─ Devices: + │ + ├─ Sinks: + │ + ├─ Sink endpoints: + │ + ├─ Sources: + │ + ├─ Source endpoints: + │ + └─ Streams: + +Settings + └─ Default Configured Node Names: + 0. Audio/Sink auto_null +``` + + +======================================== +### 音频相关内核模块 +======================================== + +# lsmod | grep -iE 'snd|hda|sound' +``` +snd_seq_dummy 12288 0 +snd_hrtimer 12288 1 +snd_ctl_led 24576 0 +snd_soc_sof_rt5682 24576 2 +snd_soc_rt5682s 102400 1 snd_soc_sof_rt5682 +snd_soc_intel_sof_realtek_common 28672 1 snd_soc_sof_rt5682 +snd_soc_intel_sof_board_helpers 28672 1 snd_soc_sof_rt5682 +snd_soc_intel_hda_dsp_common 16384 1 snd_soc_intel_sof_board_helpers +snd_soc_intel_sof_maxim_common 24576 1 snd_soc_sof_rt5682 +snd_soc_rt5645 184320 1 snd_soc_sof_rt5682 +snd_sof_probes 24576 0 +snd_hda_codec_intelhdmi 24576 1 +snd_soc_dmic 12288 1 +snd_hda_intel 61440 0 +snd_sof_pci_intel_cnl 20480 2 +snd_sof_intel_hda_generic 36864 1 snd_sof_pci_intel_cnl +soundwire_intel 81920 1 snd_sof_intel_hda_generic +snd_sof_intel_hda_sdw_bpt 20480 1 soundwire_intel +snd_sof_intel_hda_common 188416 3 snd_sof_intel_hda_sdw_bpt,snd_sof_intel_hda_generic,snd_sof_pci_intel_cnl +snd_soc_hdac_hda 20480 1 snd_sof_intel_hda_common +snd_sof_intel_hda_mlink 45056 4 snd_sof_intel_hda_sdw_bpt,soundwire_intel,snd_sof_intel_hda_common,snd_sof_intel_hda_generic +snd_sof_intel_hda 24576 2 snd_sof_intel_hda_common,snd_sof_intel_hda_generic +snd_hda_codec_hdmi 65536 1 snd_hda_codec_intelhdmi +soundwire_cadence 49152 1 soundwire_intel +snd_sof_pci 24576 2 snd_sof_intel_hda_generic,snd_sof_pci_intel_cnl +snd_sof_xtensa_dsp 12288 1 snd_sof_intel_hda_generic +snd_sof 401408 10 snd_sof_intel_hda_sdw_bpt,snd_soc_sof_rt5682,snd_sof_pci,snd_sof_intel_hda_common,snd_soc_intel_sof_realtek_common,snd_sof_intel_hda_generic,snd_soc_intel_sof_maxim_common,snd_sof_probes,snd_sof_intel_hda,snd_sof_pci_intel_cnl +snd_sof_utils 16384 1 snd_sof +snd_soc_acpi_intel_match 139264 3 snd_soc_intel_sof_board_helpers,snd_sof_intel_hda_generic,snd_sof_pci_intel_cnl +snd_soc_acpi_intel_sdca_quirks 12288 1 snd_soc_acpi_intel_match +soundwire_generic_allocation 24576 1 soundwire_intel +snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_sof_intel_hda_generic +soundwire_bus 1175552 3 soundwire_intel,soundwire_generic_allocation,soundwire_cadence +snd_soc_sdca 90112 2 snd_soc_acpi_intel_sdca_quirks,soundwire_bus +crc8 12288 1 soundwire_cadence +snd_soc_avs 217088 0 +snd_soc_hda_codec 24576 1 snd_soc_avs +snd_hda_ext_core 32768 7 snd_sof_intel_hda_sdw_bpt,snd_soc_avs,snd_soc_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda_mlink,snd_sof_intel_hda +snd_hda_codec 204800 8 snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_soc_intel_hda_dsp_common,snd_soc_hdac_hda,snd_sof_intel_hda,snd_hda_codec_intelhdmi +snd_seq_midi 24576 0 +snd_hda_core 143360 11 snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_soc_intel_hda_dsp_common,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda,snd_hda_codec_intelhdmi +snd_soc_rt5682_i2c 16384 1 +snd_seq_midi_event 16384 1 snd_seq_midi +snd_intel_dspcfg 45056 5 snd_soc_avs,snd_hda_intel,snd_sof,snd_sof_intel_hda_common,snd_sof_intel_hda_generic +snd_soc_rt5682 98304 2 snd_soc_sof_rt5682,snd_soc_rt5682_i2c +snd_intel_sdw_acpi 16384 2 snd_intel_dspcfg,snd_sof_intel_hda_generic +snd_hwdep 24576 1 snd_hda_codec +snd_soc_rl6231 16384 2 snd_soc_rt5682,snd_soc_rt5645 +snd_rawmidi 57344 1 snd_seq_midi +snd_soc_core 413696 17 snd_soc_avs,snd_soc_hda_codec,snd_soc_sof_rt5682,snd_soc_rt5682,soundwire_intel,snd_sof,snd_soc_intel_sof_board_helpers,snd_soc_sdca,snd_sof_intel_hda_common,snd_soc_intel_sof_realtek_common,snd_soc_hdac_hda,snd_soc_intel_sof_maxim_common,snd_soc_rt5645,snd_sof_probes,snd_soc_dmic,snd_soc_rt5682s,snd_soc_rt5682_i2c +snd_compress 36864 3 snd_soc_avs,snd_soc_core,snd_sof_probes +ac97_bus 12288 1 snd_soc_core +snd_seq 122880 9 snd_seq_midi,snd_seq_midi_event,snd_seq_dummy +snd_pcm_dmaengine 20480 1 snd_soc_core +snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi +snd_pcm 200704 21 snd_soc_avs,snd_hda_codec_hdmi,snd_hda_intel,snd_soc_sof_rt5682,snd_soc_rt5682,snd_hda_codec,soundwire_intel,snd_sof,snd_soc_sdca,snd_sof_intel_hda_common,snd_compress,snd_soc_intel_sof_realtek_common,snd_sof_intel_hda_generic,snd_soc_core,snd_sof_utils,snd_soc_intel_sof_maxim_common,snd_soc_rt5645,snd_hda_core,snd_soc_rt5682s,snd_pcm_dmaengine +snd_timer 53248 3 snd_seq,snd_hrtimer,snd_pcm +snd 143360 20 snd_ctl_led,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_soc_sof_rt5682,snd_hda_codec,snd_sof,snd_soc_sdca,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi +soundcore 16384 2 snd_ctl_led,snd +hid 262144 3 usbhid,snd_soc_sdca,hid_generic +``` + + +======================================== +### ALSA 混音器状态 +======================================== + +# amixer -c 0 contents (或 -c default) +``` +numid=10,iface=CARD,name='HDMI/DP,pcm=2 Jack' + ; type=BOOLEAN,access=r-------,values=1 + : values=on +numid=16,iface=CARD,name='HDMI/DP,pcm=3 Jack' + ; type=BOOLEAN,access=r-------,values=1 + : values=off +numid=22,iface=CARD,name='HDMI/DP,pcm=4 Jack' + ; type=BOOLEAN,access=r-------,values=1 + : values=off +numid=6,iface=CARD,name='Headphone Jack' + ; type=BOOLEAN,access=r-------,values=1 + : values=on +numid=7,iface=CARD,name='Headset Mic Jack' + ; type=BOOLEAN,access=r-------,values=1 + : values=off +numid=8,iface=MIXER,name='Headphone Jack Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=on +numid=58,iface=MIXER,name='ADCDAT Mux' + ; type=ENUMERATED,access=rw------,values=1,items=2 + ; Item #0 'ADCDAT1' + ; Item #1 'ADCDAT2' + : values=0 +numid=11,iface=MIXER,name='IEC958 Playback Con Mask' + ; type=IEC958,access=r-------,values=1 + : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00] +numid=17,iface=MIXER,name='IEC958 Playback Con Mask',index=1 + ; type=IEC958,access=r-------,values=1 + : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00] +numid=23,iface=MIXER,name='IEC958 Playback Con Mask',index=2 + ; type=IEC958,access=r-------,values=1 + : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00] +numid=12,iface=MIXER,name='IEC958 Playback Pro Mask' + ; type=IEC958,access=r-------,values=1 + : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00] +numid=18,iface=MIXER,name='IEC958 Playback Pro Mask',index=1 + ; type=IEC958,access=r-------,values=1 + : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00] +numid=24,iface=MIXER,name='IEC958 Playback Pro Mask',index=2 + ; type=IEC958,access=r-------,values=1 + : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00] +numid=13,iface=MIXER,name='IEC958 Playback Default' + ; type=IEC958,access=rw------,values=1 + : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00] +numid=19,iface=MIXER,name='IEC958 Playback Default',index=1 + ; type=IEC958,access=rw------,values=1 + : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00] +numid=25,iface=MIXER,name='IEC958 Playback Default',index=2 + ; type=IEC958,access=rw------,values=1 + : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00] +numid=14,iface=MIXER,name='IEC958 Playback Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=20,iface=MIXER,name='IEC958 Playback Switch',index=1 + ; type=BOOLEAN,access=rw------,values=1 + : values=on +numid=26,iface=MIXER,name='IEC958 Playback Switch',index=2 + ; type=BOOLEAN,access=rw------,values=1 + : values=on +numid=2,iface=MIXER,name='CBJ Boost Volume' + ; type=INTEGER,access=rw---R--,values=1,min=0,max=8,step=0 + : values=0 + | dBrange- + rangemin=0,,rangemax=0 + | dBscale-min=0.00dB,step=0.00dB,mute=0 + rangemin=1,,rangemax=1 + | dBscale-min=20.00dB,step=0.00dB,mute=0 + rangemin=2,,rangemax=2 + | dBscale-min=24.00dB,step=0.00dB,mute=0 + rangemin=3,,rangemax=5 + | dBscale-min=30.00dB,step=5.00dB,mute=0 + rangemin=6,,rangemax=6 + | dBscale-min=44.00dB,step=0.00dB,mute=0 + rangemin=7,,rangemax=7 + | dBscale-min=50.00dB,step=0.00dB,mute=0 + rangemin=8,,rangemax=8 + | dBscale-min=52.00dB,step=0.00dB,mute=0 + +numid=59,iface=MIXER,name='DAC L Mux' + ; type=ENUMERATED,access=rw------,values=1,items=2 + ; Item #0 'IF1' + ; Item #1 'SOUND' + : values=0 +numid=65,iface=MIXER,name='DAC L1 Source' + ; type=ENUMERATED,access=rw------,values=1,items=2 + ; Item #0 'Stereo1 DAC Mixer' + ; Item #1 'DAC1' + : values=1 +numid=60,iface=MIXER,name='DAC R Mux' + ; type=ENUMERATED,access=rw------,values=1,items=2 + ; Item #0 'IF1' + ; Item #1 'SOUND' + : values=0 +numid=66,iface=MIXER,name='DAC R1 Source' + ; type=ENUMERATED,access=rw------,values=1,items=2 + ; Item #0 'Stereo1 DAC Mixer' + ; Item #1 'DAC1' + : values=1 +numid=62,iface=MIXER,name='DAC1 MIXL DAC1 Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=on +numid=61,iface=MIXER,name='DAC1 MIXL Stereo ADC Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=64,iface=MIXER,name='DAC1 MIXR DAC1 Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=on +numid=63,iface=MIXER,name='DAC1 MIXR Stereo ADC Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=1,iface=MIXER,name='DAC1 Playback Volume' + ; type=INTEGER,access=rw---R--,values=2,min=0,max=87,step=0 + : values=87,87 + | dBscale-min=-65.25dB,step=0.75dB,mute=0 +numid=34,iface=MIXER,name='Dmic0 Capture Switch' + ; type=BOOLEAN,access=rw------,values=2 + : values=off,on +numid=33,iface=MIXER,name='Dmic0 Capture Volume' + ; type=INTEGER,access=rw---R--,values=2,min=0,max=70,step=0 + : values=0,50 + | dBscale-min=-50.00dB,step=1.00dB,mute=1 +numid=39,iface=MIXER,name='Dmic1 2nd Capture Volume' + ; type=INTEGER,access=rw---R--,values=2,min=0,max=70,step=0 + : values=50,50 + | dBscale-min=-50.00dB,step=1.00dB,mute=1 +numid=35,iface=MIXER,name='EQIIR3.0 eqiir_coef_3' + ; type=BYTES,access=-----RW-,values=1024 + ; ASoC TLV Byte control, skipping bytes dump +numid=40,iface=MIXER,name='EQIIR8.0 eqiir_coef_8' + ; type=BYTES,access=-----RW-,values=1024 + ; ASoC TLV Byte control, skipping bytes dump +numid=73,iface=MIXER,name='HPO Signal Demux' + ; type=ENUMERATED,access=rw------,values=1,items=2 + ; Item #0 'Legacy' + ; Item #1 'OneBit' + : values=1 +numid=71,iface=MIXER,name='HPOL Playback Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=72,iface=MIXER,name='HPOR Playback Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=9,iface=MIXER,name='Headset Mic Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=53,iface=MIXER,name='IF1 01 ADC Swap Mux' + ; type=ENUMERATED,access=rw------,values=1,items=4 + ; Item #0 'L/R' + ; Item #1 'R/L' + ; Item #2 'L/L' + ; Item #3 'R/R' + : values=0 +numid=54,iface=MIXER,name='IF1 23 ADC Swap Mux' + ; type=ENUMERATED,access=rw------,values=1,items=4 + ; Item #0 'L/R' + ; Item #1 'R/L' + ; Item #2 'L/L' + ; Item #3 'R/R' + : values=0 +numid=55,iface=MIXER,name='IF1 45 ADC Swap Mux' + ; type=ENUMERATED,access=rw------,values=1,items=4 + ; Item #0 'L/R' + ; Item #1 'R/L' + ; Item #2 'L/L' + ; Item #3 'R/R' + : values=0 +numid=56,iface=MIXER,name='IF1 67 ADC Swap Mux' + ; type=ENUMERATED,access=rw------,values=1,items=4 + ; Item #0 'L/R' + ; Item #1 'R/L' + ; Item #2 'L/L' + ; Item #3 'R/R' + : values=0 +numid=48,iface=MIXER,name='IF1_ADC Mux' + ; type=ENUMERATED,access=rw------,values=1,items=4 + ; Item #0 'Slot 0' + ; Item #1 'Slot 2' + ; Item #2 'Slot 4' + ; Item #3 'Slot 6' + : values=0 +numid=57,iface=MIXER,name='IF2 ADC Swap Mux' + ; type=ENUMERATED,access=rw------,values=1,items=4 + ; Item #0 'L/R' + ; Item #1 'R/L' + ; Item #2 'L/L' + ; Item #3 'R/R' + : values=0 +numid=31,iface=MIXER,name='PGA1.0 1 Master Playback Volume' + ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0 + : values=32,32 + | dBscale-min=-64.00dB,step=2.00dB,mute=1 +numid=32,iface=MIXER,name='PGA2.0 2 Master Capture Volume' + ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0 + : values=50,50 + | dBscale-min=-50.00dB,step=1.00dB,mute=1 +numid=36,iface=MIXER,name='PGA4.0 4 Master Playback Volume' + ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0 + : values=32,32 + | dBscale-min=-64.00dB,step=2.00dB,mute=1 +numid=37,iface=MIXER,name='PGA5.0 5 Master Playback Volume' + ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0 + : values=32,32 + | dBscale-min=-64.00dB,step=2.00dB,mute=1 +numid=38,iface=MIXER,name='PGA6.0 6 Master Playback Volume' + ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0 + : values=32,32 + | dBscale-min=-64.00dB,step=2.00dB,mute=1 +numid=41,iface=MIXER,name='RECMIX1L CBJ Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=5,iface=MIXER,name='STO1 ADC Boost Gain Volume' + ; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0 + : values=0,0 + | dBscale-min=0.00dB,step=12.00dB,mute=0 +numid=3,iface=MIXER,name='STO1 ADC Capture Switch' + ; type=BOOLEAN,access=rw------,values=2 + : values=off,off +numid=4,iface=MIXER,name='STO1 ADC Capture Volume' + ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0 + : values=23,23 + | dBscale-min=-17.25dB,step=0.75dB,mute=0 +numid=46,iface=MIXER,name='Stereo1 ADC L Mux' + ; type=ENUMERATED,access=rw------,values=1,items=2 + ; Item #0 'ADC1 L' + ; Item #1 'ADC1 R' + : values=0 +numid=42,iface=MIXER,name='Stereo1 ADC L1 Mux' + ; type=ENUMERATED,access=rw------,values=1,items=2 + ; Item #0 'DAC MIX' + ; Item #1 'ADC' + : values=0 +numid=44,iface=MIXER,name='Stereo1 ADC L2 Mux' + ; type=ENUMERATED,access=rw------,values=1,items=2 + ; Item #0 'DAC MIX' + ; Item #1 'DMIC' + : values=0 +numid=49,iface=MIXER,name='Stereo1 ADC MIXL ADC1 Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=50,iface=MIXER,name='Stereo1 ADC MIXL ADC2 Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=51,iface=MIXER,name='Stereo1 ADC MIXR ADC1 Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=52,iface=MIXER,name='Stereo1 ADC MIXR ADC2 Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=47,iface=MIXER,name='Stereo1 ADC R Mux' + ; type=ENUMERATED,access=rw------,values=1,items=2 + ; Item #0 'ADC1 L' + ; Item #1 'ADC1 R' + : values=1 +numid=43,iface=MIXER,name='Stereo1 ADC R1 Mux' + ; type=ENUMERATED,access=rw------,values=1,items=2 + ; Item #0 'DAC MIX' + ; Item #1 'ADC' + : values=0 +numid=45,iface=MIXER,name='Stereo1 ADC R2 Mux' + ; type=ENUMERATED,access=rw------,values=1,items=2 + ; Item #0 'DAC MIX' + ; Item #1 'DMIC' + : values=0 +numid=67,iface=MIXER,name='Stereo1 DAC MIXL DAC L1 Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=68,iface=MIXER,name='Stereo1 DAC MIXL DAC R1 Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=69,iface=MIXER,name='Stereo1 DAC MIXR DAC L1 Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=70,iface=MIXER,name='Stereo1 DAC MIXR DAC R1 Switch' + ; type=BOOLEAN,access=rw------,values=1 + : values=off +numid=15,iface=PCM,name='ELD',device=2 + ; type=BYTES,access=r--v----,values=36 + : values=0x10,0x00,0x08,0x00,0x6a,0x14,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x69,0xa7,0x27,0x41,0x53,0x55,0x53,0x20,0x4d,0x47,0x32,0x37,0x39,0x09,0x17,0x07,0x00,0x00,0x00 +numid=28,iface=PCM,name='Playback Channel Map',device=2 + ; type=INTEGER,access=rw-v-R--,values=8,min=0,max=36,step=0 + : values=0,0,0,0,0,0,0,0 + | container + | chmap-variable=FL,FR +numid=21,iface=PCM,name='ELD',device=3 + ; type=BYTES,access=r--v----,values=0 + : values= +numid=29,iface=PCM,name='Playback Channel Map',device=3 + ; type=INTEGER,access=rw-v-R--,values=8,min=0,max=36,step=0 + : values=0,0,0,0,0,0,0,0 + | container + | chmap-variable=FL,FR +numid=27,iface=PCM,name='ELD',device=4 + ; type=BYTES,access=r--v----,values=0 + : values= +numid=30,iface=PCM,name='Playback Channel Map',device=4 + ; type=INTEGER,access=rw-v-R--,values=8,min=0,max=36,step=0 + : values=0,0,0,0,0,0,0,0 + | container + | chmap-variable=FL,FR +``` + + +======================================== +### SOF 固件 (Intel Sound Open Firmware) +======================================== + +# /sys/kernel/debug/sof/fw_version (需 root) +``` +<dtermin.fwready.57864```` + +# ls -la /lib/firmware/intel/ (sof 相关) +``` +drwxr-xr-x 5 root root 4096 7月 2 2025 avs +lrwxrwxrwx 1 root root 26 1月 9 21:02 dsp_fw_bxtn.bin.zst -> avs/apl/dsp_basefw.bin.zst +lrwxrwxrwx 1 root root 26 1月 9 21:02 dsp_fw_cnl.bin.zst -> avs/cnl/dsp_basefw.bin.zst +lrwxrwxrwx 1 root root 26 1月 9 21:02 dsp_fw_glk.bin.zst -> avs/apl/dsp_basefw.bin.zst +lrwxrwxrwx 1 root root 26 1月 9 21:02 dsp_fw_kbl.bin.zst -> avs/skl/dsp_basefw.bin.zst +lrwxrwxrwx 1 root root 26 1月 9 21:02 dsp_fw_release.bin.zst -> avs/skl/dsp_basefw.bin.zst +drwxr-xr-x 4 root root 4096 10月 22 10:27 sof +lrwxrwxrwx 1 root root 13 7月 11 2025 sof-ace-tplg -> sof-ipc4-tplg +drwxr-xr-x 15 root root 4096 10月 22 10:27 sof-ipc4 +drwxr-xr-x 3 root root 4096 7月 2 2025 sof-ipc4-lib +drwxr-xr-x 2 root root 24576 10月 22 10:27 sof-ipc4-tplg +drwxr-xr-x 2 root root 61440 10月 22 10:27 sof-tplg +``` +# SOF 拓扑: /lib/firmware/intel/sof +``` +``` +# SOF 拓扑: /lib/firmware/intel/sof-tplg +``` +/lib/firmware/intel/sof-tplg/sof-cml-rt711-rt1308-mono-rt715.tplg.zst +/lib/firmware/intel/sof-tplg/sof-apl-pcm512x-master.tplg.zst +/lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg.zst +/lib/firmware/intel/sof-tplg/sof-adl-max98360a-rt5682-2way.tplg.zst +/lib/firmware/intel/sof-tplg/sof-glk-da7219-kwd.tplg.zst +/lib/firmware/intel/sof-tplg/sof-cml-rt5682-max98357a.tplg.zst +/lib/firmware/intel/sof-tplg/sof-glk-es8336-ssp5.tplg.zst +/lib/firmware/intel/sof-tplg/sof-jsl-da7219-mx98360a.tplg.zst +/lib/firmware/intel/sof-tplg/sof-jsl-es8336-dmic2ch-ssp2.tplg.zst +/lib/firmware/intel/sof-tplg/sof-adl-rt711-l2-rt1316-l01.tplg.zst +/lib/firmware/intel/sof-tplg/sof-cht-es8316.tplg.zst +/lib/firmware/intel/sof-tplg/sof-jsl-rt5682.tplg.zst +/lib/firmware/intel/sof-tplg/sof-jsl-cs42l42-mx98360a.tplg.zst +/lib/firmware/intel/sof-tplg/sof-rpl-rt711-4ch.tplg.zst +/lib/firmware/intel/sof-tplg/sof-cml-es8336-dmic2ch-ssp2.tplg.zst +/lib/firmware/intel/sof-tplg/sof-hda-generic-2ch-kwd.tplg.zst +/lib/firmware/intel/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682-dts.tplg.zst +/lib/firmware/intel/sof-tplg/sof-tgl-max98357a-rt5682-rtnr.tplg.zst +/lib/firmware/intel/sof-tplg/sof-cht-rt5670.tplg.zst +/lib/firmware/intel/sof-tplg/sof-adl-max98357a-rt5682-2way.tplg.zst +/lib/firmware/intel/sof-tplg/sof-apl-da7219.tplg.zst +/lib/firmware/intel/sof-tplg/sof-jsl-es8336-dmic4ch-ssp2.tplg.zst +/lib/firmware/intel/sof-tplg/sof-adl-nocodec.tplg.zst +/lib/firmware/intel/sof-tplg/sof-glk-es8336-dmic4ch-ssp0.tplg.zst +/lib/firmware/intel/sof-tplg/sof-rpl-nocodec.tplg.zst +/lib/firmware/intel/sof-tplg/sof-imx8-eq-fir-wm8960.tplg.zst +/lib/firmware/intel/sof-tplg/sof-imx8-wm8960-mixer.tplg.zst +/lib/firmware/intel/sof-tplg/sof-adl-max98390-ssp2-rt5682-ssp0.tplg.zst +/lib/firmware/intel/sof-tplg/sof-byt-max98090.tplg.zst +/lib/firmware/intel/sof-tplg/sof-glk-es8336-dmic2ch-ssp5.tplg.zst +``` + +======================================== +### 机器识别 (主板/机型) +======================================== + +# DMI 主板信息: +``` +board_name: Kaisa +product_name: Kaisa +sys_vendor: Google +```