在阅读了许多在线帖子并尝试了几种不同的方法来解决此问题后,我绝望地来到这里。
我购买了一台新的 HP - PAVILION 24-XA0070A 并安装了 Ubuntu 19.10。除了没有声音外,一切都运行良好。我只有在将扬声器插入耳机插孔时才有声音,但由于我的摆弄,它后来停止工作了。
在线论坛表明最可能的原因是 HDMI 声音模块阻碍了对内置扬声器的访问。我最近的调整是将以下内容添加到/etc/modprobe.d/blacklist.conf
# prevents speakers / analogue sound to work
blacklist snd_hda_codec_hdmi
它似乎不起作用,因为我重新启动后,我这样做了:
lsmod | grep snd_
我懂了:
snd_hda_codec_hdmi 61440 1
snd_sof_intel_hda_common 65536 1 sof_pci_dev
snd_sof_intel_byt 24576 1 sof_pci_dev
snd_hda_codec_realtek 114688 1
snd_sof_intel_ipc 20480 1 snd_sof_intel_byt
snd_sof 102400 4 snd_sof_intel_hda_common,snd_sof_intel_byt,snd_sof_intel_ipc,sof_pci_dev
snd_sof_nocodec 16384 1 snd_sof
snd_sof_xtensa_dsp 16384 1 sof_pci_dev
snd_hda_codec_generic 81920 1 snd_hda_codec_realtek
snd_soc_skl 106496 0
snd_soc_hdac_hda 24576 1 snd_soc_skl
ledtrig_audio 16384 2 snd_hda_codec_generic,snd_hda_codec_realtek
snd_hda_ext_core 32768 2 snd_soc_hdac_hda,snd_soc_skl
snd_soc_skl_ipc 65536 1 snd_soc_skl
snd_soc_sst_ipc 20480 1 snd_soc_skl_ipc
snd_soc_sst_dsp 36864 1 snd_soc_skl_ipc
snd_soc_acpi_intel_match 28672 2 sof_pci_dev,snd_soc_skl
snd_soc_acpi 16384 3 snd_soc_acpi_intel_match,sof_pci_dev,snd_soc_skl
snd_soc_core 241664 4 snd_sof_nocodec,snd_sof,snd_soc_hdac_hda,snd_soc_skl
snd_compress 24576 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_hda_intel 49152 2
snd_hda_codec 131072 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
snd_hda_core 90112 8 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_soc_hdac_hda,snd_soc_skl
snd_hwdep 20480 1 snd_hda_codec
snd_pcm 106496 10 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_soc_core,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
snd_seq_midi 20480 0
snd_seq_midi_event 16384 1 snd_seq_midi
snd_rawmidi 36864 1 snd_seq_midi
snd_seq 69632 2 snd_seq_midi,snd_seq_midi_event
snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi
snd_timer 36864 2 snd_seq,snd_pcm
snd 86016 17 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
使用 pavucontrol,我可以看到系统可以检测到我播放音频的时间。但是扬声器没有声音。我不需要以任何形式使用 HDMI 输出,因此我可以关闭这些内核模块。我的理解是 NVIDIA 卡具有内核可以识别的音频,但这会以某种方式阻止访问内置扬声器以输出声音。
以下是我的一些系统信息:
sol@diamond:~$ uname -a
Linux diamond 5.3.0-18-generic #19-Ubuntu SMP Tue Oct 8 20:14:06 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
来自lspci -vv
:
00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
DeviceName: Onboard - Other
Subsystem: Hewlett-Packard Company 8th Gen Core Processor Host Bridge/DRAM Registers
Flags: bus master, fast devsel, latency 0
Capabilities: <access denied>
Kernel driver in use: skl_uncore
Kernel modules: ie31200_edac
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 122
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 00005000-00005fff [size=4K]
Memory behind bridge: a3000000-a40fffff [size=17M]
Prefetchable memory behind bridge: 0000000090000000-00000000a1ffffff [size=288M]
Capabilities: <access denied>
Kernel driver in use: pcieport
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Desktop) (prog-if 00 [VGA controller])
DeviceName: Onboard - Video
Subsystem: Hewlett-Packard Company UHD Graphics 630 (Desktop)
Flags: bus master, fast devsel, latency 0, IRQ 130
Memory at a2000000 (64-bit, non-prefetchable) [size=16M]
Memory at 80000000 (64-bit, prefetchable) [size=256M]
I/O ports at 6000 [size=64]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
DeviceName: Onboard - Other
Subsystem: Hewlett-Packard Company Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
Flags: fast devsel, IRQ 255
Memory at a44a4000 (64-bit, non-prefetchable) [disabled] [size=4K]
Capabilities: <access denied>
00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10)
DeviceName: Onboard - Other
Subsystem: Hewlett-Packard Company Cannon Lake PCH Thermal Controller
Flags: fast devsel, IRQ 16
Memory at a44a3000 (64-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: intel_pch_thermal
Kernel modules: intel_pch_thermal
00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10) (prog-if 30 [XHCI])
DeviceName: Onboard - Other
Subsystem: Hewlett-Packard Company Cannon Lake PCH USB 3.1 xHCI Host Controller
Flags: bus master, medium devsel, latency 0, IRQ 125
Memory at a4480000 (64-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel driver in use: xhci_hcd
00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)
DeviceName: Onboard - Other
Subsystem: Intel Corporation Cannon Lake PCH Shared SRAM
Flags: fast devsel
Memory at a449c000 (64-bit, non-prefetchable) [disabled] [size=8K]
Memory at a44a2000 (64-bit, non-prefetchable) [disabled] [size=4K]
Capabilities: <access denied>
00:14.5 SD Host controller: Intel Corporation Device a375 (rev 10) (prog-if 01)
DeviceName: Onboard - Other
Subsystem: Hewlett-Packard Company Device 84ee
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at a44a1000 (64-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: sdhci-pci
Kernel modules: sdhci_pci
00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)
DeviceName: Onboard - Other
Subsystem: Hewlett-Packard Company Cannon Lake PCH HECI Controller
Flags: bus master, fast devsel, latency 0, IRQ 128
Memory at a44a0000 (64-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: mei_me
Kernel modules: mei_me
00:17.0 RAID bus controller: Intel Corporation SATA Controller [RAID mode] (rev 10)
DeviceName: Onboard - Other
Subsystem: Hewlett-Packard Company SATA Controller [RAID mode]
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 16
Memory at a4490000 (32-bit, non-prefetchable) [size=32K]
Memory at a449f000 (32-bit, non-prefetchable) [size=256]
I/O ports at 6090 [size=8]
I/O ports at 6080 [size=4]
I/O ports at 6060 [size=32]
Memory at a4400000 (32-bit, non-prefetchable) [size=512K]
Capabilities: <access denied>
Kernel driver in use: ahci
Kernel modules: ahci
00:1c.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #5 (rev f0) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 123
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 00004000-00004fff [size=4K]
Memory behind bridge: a4300000-a43fffff [size=1M]
Prefetchable memory behind bridge: None
Capabilities: <access denied>
Kernel driver in use: pcieport
00:1c.5 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #6 (rev f0) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 124
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: 00003000-00003fff [size=4K]
Memory behind bridge: a4200000-a42fffff [size=1M]
Prefetchable memory behind bridge: None
Capabilities: <access denied>
Kernel driver in use: pcieport
00:1f.0 ISA bridge: Intel Corporation H370 Chipset LPC/eSPI Controller (rev 10)
DeviceName: Onboard - Other
Subsystem: Hewlett-Packard Company H370 Chipset LPC/eSPI Controller
Flags: bus master, medium devsel, latency 0
00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10) (prog-if 80)
DeviceName: Onboard - Sound
Subsystem: Hewlett-Packard Company Cannon Lake PCH cAVS
Flags: bus master, fast devsel, latency 32, IRQ 16
Memory at a4498000 (64-bit, non-prefetchable) [size=16K]
Memory at a4100000 (64-bit, non-prefetchable) [size=1M]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_soc_skl, sof_pci_dev
00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)
DeviceName: Onboard - Other
Subsystem: Hewlett-Packard Company Cannon Lake PCH SMBus Controller
Flags: medium devsel, IRQ 16
Memory at a449e000 (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 [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)
DeviceName: Onboard - Other
Subsystem: Hewlett-Packard Company Cannon Lake PCH SPI Controller
Flags: fast devsel
Memory at fe010000 (32-bit, non-prefetchable) [size=4K]
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce MX130] (rev a2)
Subsystem: Hewlett-Packard Company GM108M [GeForce MX130]
Flags: bus master, fast devsel, latency 0, IRQ 131
Memory at a3000000 (32-bit, non-prefetchable) [size=16M]
Memory at 90000000 (64-bit, prefetchable) [size=256M]
Memory at a0000000 (64-bit, prefetchable) [size=32M]
I/O ports at 5000 [size=128]
[virtual] Expansion ROM at a4000000 [disabled] [size=512K]
Capabilities: <access denied>
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
Subsystem: Hewlett-Packard Company RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
Flags: bus master, fast devsel, latency 0, IRQ 16
I/O ports at 4000 [size=256]
Memory at a4304000 (64-bit, non-prefetchable) [size=4K]
Memory at a4300000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: r8169
Kernel modules: r8169
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822BE 802.11a/b/g/n/ac WiFi adapter
Subsystem: Hewlett-Packard Company RTL8822BE 802.11a/b/g/n/ac WiFi adapter
Flags: bus master, fast devsel, latency 0, IRQ 129
I/O ports at 3000 [size=256]
Memory at a4200000 (64-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel driver in use: rtw_pci
Kernel modules: rtwpci
任何帮助都将受到赞赏。
答案1
对我来说,这个错误是在更新到 5.3.0-42.34 内核版本后开始的。
答案 #3https://bugs.launchpad.net/ubuntu/+source/linux-oem-osp1/+bug/1864061解决了我的问题:
这台机器上有 dmic,因此旧式 hda 中止探测:snd_hda_intel 0000:00:1f.3:在 Skylake+ 平台上发现数字麦克风,中止探测
如果希望旧版 hda 驱动程序正常工作,请添加
snd-hda-intel dmic_detect=0
选项/etc/modprobe.d/alsa-base.conf
这是一台带有 dmic 的机器,因此请
snd_soc_skl
通过 将驱动程序列入黑名单/etc/modprobe.d/blacklist.conf
,然后 sof 驱动程序将被加载。如果存在问题,我会修复它,我现在正在开发 eoan 内核的 sof 驱动程序。
答案2
运行此命令:
pulseaudio -k && sudo alsa force-reload
运行此命令后,我能够在设置菜单中看到所有输出设备,并且它会自动解决问题。
但这不是一个永久的解决办法。
我的台式机上有 GTX 970,它通过 HDMI 端口提供显示。当我从挂起状态打开 PC 后,输出设备经常从选项中消失(并且没有声音)。
答案3
你应该去设置 → 声音 → 输出 → 输出设备并尝试选择不同的输出设备(如果您还没有尝试过)。
答案4
我遇到了类似的问题。经过一些测试,我检查了声音,发现声音正常,问题出在音量的某个地方。使用 3.5 插孔或内置扬声器,音量确实太低,只有在安静的空间才可以听到。使用 HDMI 或蓝牙声音(我的情况是耳机)声音完美。
就我而言,我使用的是带有 5.3.0-18-generic 内核的 Ubuntu 19.10,上次内核升级后,我在 Ubuntu 18.04 中遇到了同样的问题。
一些额外的信息,我使用的是联想 Ideapad 530S