在 HP Pavillion 24-XA0070A 上安装的 Ubuntu 19.10 没有声音

在 HP Pavillion 24-XA0070A 上安装的 Ubuntu 19.10 没有声音

在阅读了许多在线帖子并尝试了几种不同的方法来解决此问题后,我绝望地来到这里。

我购买了一台新的 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

相关内容