问题
我想知道如何防止我的日志中出现以下错误:
snd_hda_codec_conexant hdaudioC0D0: vmaster hook already present before cdev!
从代码中我推测它与静音 LED 指示有关(“创建一个 LED classdev 并启用为 vmaster 静音 LED”),这对于声卡的工作并不重要,但仍然很高兴知道有些东西已经被静音。
cdev
和 和有什么区别vmaster
?为什么 vmaster hook 已经存在很重要?如何配置snd_hda_codec_generic
以防止出现此错误表单?
这个调查
我知道为什么会发生——因为条件if (spec->vmaster_mute.hook)
满足了。
我已经发现了条件在触发错误的源代码中。看来该vmaster
标志已在这段代码。
系统详情
sudo journalctl -xb | grep snd
(笔记:在这里你可以看到错误消息)
Dec 20 09:19:13 magnetron kernel: snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
Dec 20 09:19:13 magnetron kernel: snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
Dec 20 09:19:13 magnetron kernel: snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Dec 20 09:19:14 magnetron kernel: snd_hda_codec_conexant hdaudioC0D0: CX8200: BIOS auto-probing.
Dec 20 09:19:14 magnetron kernel: snd_hda_codec_conexant hdaudioC0D0: vmaster hook already present before cdev!
Dec 20 09:19:14 magnetron kernel: snd_hda_codec_conexant hdaudioC0D0: autoconfig for CX8200: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
Dec 20 09:19:14 magnetron kernel: snd_hda_codec_conexant hdaudioC0D0: speaker_outs=1 (0x17/0x0/0x0/0x0/0x0)
Dec 20 09:19:14 magnetron kernel: snd_hda_codec_conexant hdaudioC0D0: hp_outs=1 (0x1d/0x0/0x0/0x0/0x0)
Dec 20 09:19:14 magnetron kernel: snd_hda_codec_conexant hdaudioC0D0: mono: mono_out=0x0
Dec 20 09:19:14 magnetron kernel: snd_hda_codec_conexant hdaudioC0D0: inputs:
Dec 20 09:19:14 magnetron kernel: snd_hda_codec_conexant hdaudioC0D0: Mic=0x19
Dec 20 09:19:14 magnetron kernel: snd_hda_codec_conexant hdaudioC0D0: Internal Mic=0x1a
$lspci -v
:
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21) (prog-if 80)
Subsystem: Hewlett-Packard Company Sunrise Point-LP HD Audio
Flags: bus master, fast devsel, latency 64, IRQ 140, IOMMU group 9
Memory at 1ff3018000 (64-bit, non-prefetchable) [size=16K]
Memory at 1ff3000000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [50] Power Management version 3
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_soc_skl
$lshw
:
*-multimedia
description: Audio device
product: Sunrise Point-LP HD Audio
vendor: Intel Corporation
physical id: 1f.3
bus info: pci@0000:00:1f.3
logical name: card0
logical name: /dev/snd/controlC0
logical name: /dev/snd/hwC0D0
logical name: /dev/snd/hwC0D2
logical name: /dev/snd/pcmC0D0c
logical name: /dev/snd/pcmC0D0p
logical name: /dev/snd/pcmC0D10p
logical name: /dev/snd/pcmC0D3p
logical name: /dev/snd/pcmC0D7p
logical name: /dev/snd/pcmC0D8p
logical name: /dev/snd/pcmC0D9p
version: 21
width: 64 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list
configuration: driver=snd_hda_intel latency=64
resources: iomemory:1f0-1ef iomemory:1f0-1ef irq:140 memory:1ff3018000-1ff301bfff memory:1ff3000000-1ff300ffff
*-input:0
product: HDA Digital PCBeep
physical id: 0
logical name: input39
logical name: /dev/input/event20
capabilities: pci
*-input:1
product: HDA Intel PCH Mic
physical id: 1
logical name: input40
logical name: /dev/input/event21
*-input:2
product: HDA Intel PCH Line
physical id: 2
logical name: input41
logical name: /dev/input/event22
*-input:3
product: HDA Intel PCH Dock Line Out
physical id: 3
logical name: input42
logical name: /dev/input/event23
*-input:4
product: HDA Intel PCH Headphone
physical id: 4
logical name: input43
logical name: /dev/input/event24
*-input:5
product: HDA Intel PCH HDMI/DP,pcm=3
physical id: 5
logical name: input44
logical name: /dev/input/event25
*-input:6
product: HDA Intel PCH HDMI/DP,pcm=7
physical id: 6
logical name: input45
logical name: /dev/input/event26
*-input:7
product: HDA Intel PCH HDMI/DP,pcm=8
physical id: 7
logical name: input46
logical name: /dev/input/event27
*-input:8
product: HDA Intel PCH HDMI/DP,pcm=9
physical id: 8
logical name: input47
logical name: /dev/input/event28
*-input:9
product: HDA Intel PCH HDMI/DP,pcm=10
physical id: 9
logical name: input48
logical name: /dev/input/event29
加载的内核模块:sudo lsmod | grep snd
snd_seq_dummy 16384 0
snd_hrtimer 16384 1
snd_seq 90112 7 snd_seq_dummy
snd_seq_device 16384 1 snd_seq
snd_soc_skl 184320 0
snd_soc_hdac_hda 24576 1 snd_soc_skl
snd_hda_ext_core 40960 2 snd_soc_hdac_hda,snd_soc_skl
snd_soc_sst_ipc 20480 1 snd_soc_skl
snd_soc_sst_dsp 40960 1 snd_soc_skl
snd_hda_codec_hdmi 81920 1
snd_soc_acpi_intel_match 73728 1 snd_soc_skl
snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_soc_skl
snd_ctl_led 24576 0
snd_hda_codec_conexant 28672 1
snd_soc_core 348160 2 snd_soc_hdac_hda,snd_soc_skl
snd_hda_codec_generic 98304 1 snd_hda_codec_conexant
ledtrig_audio 16384 2 snd_ctl_led,snd_hda_codec_generic
snd_compress 28672 1 snd_soc_core
snd_hda_intel 57344 1
snd_intel_dspcfg 36864 2 snd_hda_intel,snd_soc_skl
snd_intel_sdw_acpi 20480 1 snd_intel_dspcfg
snd_hda_codec 184320 5 snd_hda_codec_generic,snd_hda_codec_conexant,snd_hda_codec_hdmi,snd_hda_intel,snd_soc_hdac_hda
snd_hda_core 122880 8 snd_hda_codec_generic,snd_hda_codec_conexant,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_soc_hdac_hda,snd_soc_skl
snd_hwdep 16384 1 snd_hda_codec
snd_pcm 159744 7 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_compress,snd_soc_core,snd_soc_skl,snd_hda_core
snd_timer 49152 3 snd_seq,snd_hrtimer,snd_pcm
snd 126976 17 snd_ctl_led,snd_hda_codec_generic,snd_seq,snd_hda_codec_conexant,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm
内核版本:
uname -a
Linux XXX 6.0.0-6-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.0.12-1 (2022-12-09) x86_64 GNU/Linux