20.04 - HP Spectre x360 2020 15t eb000 没有扬声器音频

20.04 - HP Spectre x360 2020 15t eb000 没有扬声器音频

最近买了一台 2020 款 HP Spectre X360 15t eb000。它既有英特尔音响,又有 1650ti Nvidia GPU。

扬声器在 Linux 下根本无法工作。耳机在 Linux 下工作正常,所有声音在 Windows 下工作正常。我在 Windows 和 Linux 上安装了固件和 BIOS 更新的所有更新,并尝试了以下操作:

  • 确保所有东西都已取消静音并且音量已调大alsamixer
  • 添加options snd-hda-intel dmic_detect=0到末尾/etc/modprobe.d/alsa-base.conf
  • 曾经hdajackretask尝试重新分配未连接的引脚。这里似乎有 3 个扬声器选项,“扬声器”、“左扬声器”和“后扬声器”。只有“扬声器”已连接。我尝试将 2 个未连接的引脚重新分配到未使用的引脚,但没有成功。奇怪的是,当我重启后回来时,它再次显示相同的引脚为未使用。在它不起作用后,我将其反转。
  • 确保 Windows 中的声音为最大音量且未静音。

2020 年 8 月 3 日更新

我更新了内核 5.7,但不起作用。撤消了更改/etc/modprobe.d/alsa-base.conf,但不起作用。我将其保留为撤消。

尝试修复https://blog.kafaiworks.com/posts/arch-linux-audio-setup-on-msi-gp63/。没有效果,而且实际上让耳机里的声音有点粗糙,所以我也把它反转了。

耳机仍能正常工作。alsamixer现在由于某种原因显示 Nvidia 声音为默认声音。它让我更改为 Intel 声音。

2020 年 8 月 31 日更新

更新内核到 5.8.5,BIOS 到 F.07,还是不行。我还options snd-hda-intel index=1,0根据以下说明添加了 alsa 配置Arch 论坛上的这个帖子,现在英特尔卡成为 alsamixer 中的默认卡。

我还通过 HDMI 测试了声音,效果很好。

截至 2020 年 8 月 31 日的信息

我当前的输出pacmd list-cards如下。请注意,扬声器可用性为“未知”:

pacmd list-cards
2 card(s) available.
    index: 0
    name: <alsa_card.pci-0000_01_00.1>
    driver: <module-alsa-card.c>
    owner module: 23
    properties:
        alsa.card = "1"
        alsa.card_name = "HDA NVidia"
        alsa.long_card_name = "HDA NVidia at 0x90080000 irq 17"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:01:00.1"
        sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1"
        device.bus = "pci"
        device.vendor.id = "10de"
        device.vendor.name = "NVIDIA Corporation"
        device.product.id = "10fa"
        device.string = "1"
        device.description = "HDA NVidia"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    profiles:
        output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: no)
        output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (priority 800, available: no)
        output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (priority 800, available: no)
        output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (priority 5700, available: no)
        output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (priority 600, available: no)
        output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (priority 600, available: no)
        output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (priority 5700, available: no)
        output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (priority 600, available: no)
        output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (priority 600, available: no)
        output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (priority 5700, available: no)
        output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (priority 600, available: no)
        output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (priority 600, available: no)
        output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (priority 5700, available: no)
        output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (priority 600, available: no)
        output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (priority 600, available: no)
        output:hdmi-stereo-extra5: Digital Stereo (HDMI 6) Output (priority 5700, available: no)
        output:hdmi-surround-extra5: Digital Surround 5.1 (HDMI 6) Output (priority 600, available: no)
        output:hdmi-surround71-extra5: Digital Surround 7.1 (HDMI 6) Output (priority 600, available: no)
        off: Off (priority 0, available: unknown)
    active profile: <off>
    ports:
        hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
        hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
        hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
        hdmi-output-3: HDMI / DisplayPort 4 (priority 5600, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
        hdmi-output-4: HDMI / DisplayPort 5 (priority 5500, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
        hdmi-output-5: HDMI / DisplayPort 6 (priority 5400, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
    index: 1
    name: <alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic>
    driver: <module-alsa-card.c>
    owner module: 24
    properties:
        alsa.card = "0"
        alsa.card_name = "sof-hda-dsp"
        alsa.long_card_name = "HP-HPSpectrex360Convertible15t_eb000--86E7"
        alsa.driver_name = "snd_soc_skl_hda_dsp"
        device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
        sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "06c8"
        device.string = "0"
        device.description = "sof-hda-dsp"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    profiles:
        HiFi: Play HiFi quality Music (priority 8000, available: unknown)
        off: Off (priority 0, available: unknown)
    active profile: <HiFi>
    sinks:
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_5__sink/#1: sof-hda-dsp HDMI3/DP3 Output
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink/#2: sof-hda-dsp HDMI2/DP2 Output
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink/#3: sof-hda-dsp HDMI1/DP1 Output
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink/#4: sof-hda-dsp Speaker + Headphones
    sources:
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_5__sink.monitor/#1: Monitor of sof-hda-dsp HDMI3/DP3 Output
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink.monitor/#2: Monitor of sof-hda-dsp HDMI2/DP2 Output
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink.monitor/#3: Monitor of sof-hda-dsp HDMI1/DP1 Output
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink.monitor/#4: Monitor of sof-hda-dsp Speaker + Headphones
        alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__source/#5: sof-hda-dsp Headphones Stereo Microphone
        alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_6__source/#6: sof-hda-dsp Digital Microphone
    ports:
        [Out] HDMI3: HDMI3/DP3 Output (priority 700, latency offset 0 usec, available: no)
            properties:
                
        [Out] HDMI2: HDMI2/DP2 Output (priority 600, latency offset 0 usec, available: no)
            properties:
                
        [Out] HDMI1: HDMI1/DP1 Output (priority 500, latency offset 0 usec, available: no)
            properties:
                
        [Out] Speaker: Speaker (priority 100, latency offset 0 usec, available: unknown)
            properties:
                
        [Out] Headphones: Headphones (priority 200, latency offset 0 usec, available: no)
            properties:
                
        [In] Mic2: Headphones Stereo Microphone (priority 200, latency offset 0 usec, available: no)
            properties:
                
        [In] Mic1: Digital Microphone (priority 100, latency offset 0 usec, available: unknown)
            properties:

的输出为aplay -l

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 1: HDA Digital (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

以下是dmesg显示的内容:

dmesg | grep snd
[    2.252960] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    2.252962] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    2.253047] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[    2.253102] snd_hda_intel 0000:01:00.1: Disabling MSI
[    2.253106] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[    2.591495] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC285: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[    2.591496] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    2.591497] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    2.591497] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[    2.591498] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[    2.591499] snd_hda_codec_realtek ehdaudio0D0:      Mic=0x19
[    2.637523] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[    2.637525] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
[    2.637555] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC48kHz 6 mapping ok
[    2.637557] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC16kHz 7 mapping ok
[    2.637562] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Analog 0 mapping ok
[    2.637566] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Digital 1 mapping ok
[    2.637568] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI1 3 mapping ok
[    2.637571] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI2 4 mapping ok
[    2.637574] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI3 5 mapping ok
dmesg | grep audio

[    2.253106] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[    2.280935] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    2.280938] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    2.280948] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
[    2.281114] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    2.344192] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    2.423134] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[    2.438667] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[    2.438668] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    2.438670] sof-audio-pci 0000:00:1f.3: DMICs detected in NHLT tables: 2
[    2.554393] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:4:2-66a5a
[    2.554394] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:16:0
[    2.557125] sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:16:0
[    2.557127] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
[    2.558092] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
[    2.558093] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
[    2.558996] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
[    2.558997] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
[    2.559892] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
[    2.559893] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
[    2.560774] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
[    2.560774] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
[    2.560775] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
[    2.560792] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
[    2.560793] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
[    2.560793] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
[    2.561700] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
[    2.561701] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
[    2.562631] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
[    2.562632] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
[    2.563553] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
[    2.572765] sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
[    2.591495] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC285: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[    2.591496] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    2.591497] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    2.591497] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[    2.591498] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[    2.591499] snd_hda_codec_realtek ehdaudio0D0:      Mic=0x19
[    2.637523] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[    2.637525] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten

当前 alsamixer 视图:

阿尔萨混音器

答案1

由于耳机可以工作,所以我想这是一个“固定”问题。

我怀疑这一行反映了问题:

snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)

该解决方案由@BlizzardWyvern 提供(作为对我的答案的编辑)

@BlizzardWyvern :请创建您自己的答案以获得信用

音频芯片有一个放大器引脚需要设置。它是引脚 1。安装正确的拓扑后(例如来自此处https://github.com/EvanCarroll/sof-bin/tree/stable-v1.5) 名为“hwC0D0”的设备应显示在 /dev/snd/ 中。使用 alsa-tools 中的 hda-verb,您可以通过输入以下命令使四个已安装扬声器中的两个工作:

sudo hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x01

sudo hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x01

sudo hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x01

sudo hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x00

这个解决方案对我有用,除了设备是 hwC1D0 并且我使用了来自的拓扑

git clone -b stable-v1.6 https://github.com/thesofproject/sof-bin.git
aplay -l

card 1: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0

答案2

尽管您声明“确保 alsamixer 中所有设备均已取消静音且音量正常”,但在最后一张图片(Realtek ALC285 的 AlsaMixer)上,扬声器已静音。使用箭头突出显示扬声器音量并按“m”。这应该会将“MM”替换为实际音量,从而取消扬声器静音。

答案3

添加以下行到/etc/modprobe.d/alsa.conf

options snd-hda-intel model=dell-headset-multi

然后关闭机器并重新打开。

它适用于华硕 ROG Strix GL503ge。


升级到内核 5.8.5 后,我遇到了同样的问题几个月,直到我最终找到了这个答案。

资料来源:https://forum.manjaro.org/t/sound-from-speakers-no-sound-from-3-5mm-jack-audio/5343/27

相关内容