使用 Debian sid 升级到 4.18 Linux 内核后,我一直在处理一些升级前没有的声音问题。笔记本电脑挂起后,大多数时候(但并非总是)声音不起作用。我要么必须完全关闭机器,要么使用killallpulseaudio/pulseaudio--k命令,这些命令只有在我执行六次后才起作用。
DMESG日志
snd_hda_intel 0000:00:03.0: enabling device (0000 -> 0002)
[ 11.752094] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no)
[ 11.752520] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input9
[ 11.754746] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 11.760675] iwlwifi 0000:02:00.0: firmware: direct-loading firmware iwlwifi-7265-17.ucode
[ 11.761202] iwlwifi 0000:02:00.0: loaded firmware version 17.948900127.0 op_mode iwlmvm
[ 11.761577] fbcon: inteldrmfb (fb0) is primary device
[ 11.830634] input: HDA Intel HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card1/input10
[ 11.830699] input: HDA Intel HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/sound/card1/input11
[ 11.830755] input: HDA Intel HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/sound/card1/input12
[ 11.830816] input: HDA Intel HDMI HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:03.0/sound/card1/input13
[ 11.830874] input: HDA Intel HDMI HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:03.0/sound/card1/input14
[ 11.882029] ACPI Error: Field [D128] at bit offset/length 128/1024 exceeds size of target Buffer (160 bits) (20180531/dsopcode-201)
[ 11.882035] ACPI Error: Method parse/execution failed \HWMC, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 11.882045] ACPI Error: Method parse/execution failed \_SB.WMID.WMAA, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 11.882102] ACPI Error: Field [D128] at bit offset/length 128/1024 exceeds size of target Buffer (160 bits) (20180531/dsopcode-201)
[ 11.882106] ACPI Error: Method parse/execution failed \HWMC, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 11.882113] ACPI Error: Method parse/execution failed \_SB.WMID.WMAA, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 11.882167] ACPI Error: Field [D128] at bit offset/length 128/1024 exceeds size of target Buffer (160 bits) (20180531/dsopcode-201)
[ 11.882171] ACPI Error: Method parse/execution failed \HWMC, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 11.882179] ACPI Error: Method parse/execution failed \_SB.WMID.WMAA, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 11.882238] input: HP WMI hotkeys as /devices/virtual/input/input15
[ 11.882378] ACPI Error: Field [D128] at bit offset/length 128/1024 exceeds size of target Buffer (160 bits) (20180531/dsopcode-201)
[ 11.882382] ACPI Error: Method parse/execution failed \HWMC, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 11.882389] ACPI Error: Method parse/execution failed \_SB.WMID.WMAA, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 11.882423] ACPI Error: Field [D128] at bit offset/length 128/1024 exceeds size of target Buffer (160 bits) (20180531/dsopcode-201)
[ 11.882426] ACPI Error: Method parse/execution failed \HWMC, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 11.882431] ACPI Error: Method parse/execution failed \_SB.WMID.WMAA, AE_AML_BUFFER_LIMIT (20180531/psparse-516)
[ 50.738396] i2c_designware INT3433:00: timeout waiting for bus ready
[ 50.738402] rt286 i2c-INT343A:00: I2C error -110
系统日志
Nov 4 19:15:02 kernel: [ 11.994529] haswell-pcm-audio haswell-pcm-audio: firmware: failed to load intel/IntcPP01.bin (-2)
Nov 4 19:15:02 kernel: [ 11.994531] firmware_class: See https://wiki.debian.org/Firmware for information about missing firmware
Nov 4 19:15:02 kernel: [ 11.994533] haswell-pcm-audio haswell-pcm-audio: Direct firmware load for intel/IntcPP01.bin failed with error -2
Nov 4 19:15:02 kernel: [ 11.994536] haswell-pcm-audio haswell-pcm-audio: fw image intel/IntcPP01.bin not available(-2)
Nov 4 19:15:02 kernel: [ 11.995123] haswell-pcm-audio haswell-pcm-audio: FW loaded, mailbox readback FW info: type 01, - version: 00.00, build 77, source commit id: 876ac6906f31a43b6772b23c7c983ce9dcb18a19
Nov 4 19:15:02 kernel: [ 12.023525] kvm: disabled by bios
Nov 4 19:15:02 kernel: [ 12.023535] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> System Pin mapping ok
Nov 4 19:15:02 kernel: [ 12.023588] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Offload0 Pin mapping ok
Nov 4 19:15:02 kernel: [ 12.023630] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Offload1 Pin mapping ok
Nov 4 19:15:02 kernel: [ 12.023669] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Loopback Pin mapping ok
另一个最令人恼火的问题是,当使用 pavucontrol 将输出设备从扬声器切换到耳机然后再切换回扬声器时,音量完全混乱。声音变得非常响亮且语无伦次。当我在 alsamixer 中取消静音和静音耳机输出时,也会发生同样的情况。
猫 /proc/asound/cards:
0 [broadwellrt286 ]: broadwell-rt286 - broadwell-rt286
HP-HPSpectrex360Convertible--802D
1 [HDMI ]: HDA-Intel - HDA Intel HDMI
HDA Intel HDMI at 0xb2210000 irq 48
答案1
我通过编辑解决了这个问题
/etc/default/grub
在下面一行我有
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
保留该行上的任何命令,但将其添加到引号内
acpi_backlight=vendor acpi_osi='!Windows 2013' acpi_osi='!Windows 2012'
这就是我正在使用的
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor acpi_osi='!Windows 2013' acpi_osi='!Windows 2012'"
然后
sudo update-grub
之后我的声卡名称改变了
0 [HDMI ]: HDA-Intel - HDA Intel HDMI
HDA Intel HDMI at 0xb2214000 irq 49
1 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xb2210000 irq 46
我不再收到任何系统日志错误,并且在暂停后我的音频仍然有效,但是出现了一个问题,那就是插入耳机后扬声器输出不会恢复到原始音量。耳机已静音,但扬声器保持为 0,这意味着即使禁用自动静音,您也必须手动转到 alsamixer 并将其调高。解决这个问题的一种方法是
/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf
和编辑
[Element Speaker]
switch = off
volume = off
到
[Element Speaker]
switch = off
volume = merge
现在到目前为止一切都很好。