Возможно решение проблемы со звуком на Acer Swift 3 [Realtek ALC256]?

Известно, что у Acer Swift 3, как и вообще у устройств, использующих звуковую карту Realtek ALC 256, проблемы с динамиком, наушниками и встроенным микрофоном.

Однако я здесь, чтобы попросить вас о помощи, возможно, в поиске решения.

У меня и моего друга есть этот ноутбук: на его ноутбуке работает динамик, наушники и особенно внутренний микрофон! Единственное, при подключенных наушниках приходится вручную выбирать выход на наушники, а не на динамик.

В моем ноутбуке все совершенно по-другому: изначально у меня был только «фиктивный вывод» в качестве устройства вывода и пустое пространство в качестве устройства ввода. Затем, добавив options snd-hda-intel model = genericа также options snd-hda-intel dmic_detected = 0Наконец-то я смог увидеть Seaker, наушники и внутренний микрофон, но ничего не работает. Только с bluetooth устройств я слышу звук, но внутренний динамик, разъем для наушников и внутренний микрофон не работают! Конечно, я пробовал много вещей с , pavucontrolили же hdajackretaskхоть динамики заставить работать, но ничего не получилось.

Мы оба используем Ubuntu 20.

Я не эксперт по Linux, но я попытался найти разницу между этими двумя устройствами. Я нашел разницу в выводе, а также в Alsamixer. Н

НА РАБОЧЕМ УСТРОЙСТВЕ ВЫВОД pacmd list-cardsЯВЛЯЕТСЯ

          index: 0
    name: <alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic>
    driver: <module-alsa-card.c>
    owner module: 23
    properties:
        alsa.card = "0"
        alsa.card_name = "sof-hda-dsp"
        alsa.long_card_name = "sof-hda-dsp"
        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 = "9dc8"
        device.product.name = "Cannon Point-LP High Definition Audio Controller"
        device.string = "0"
        device.description = "Cannon Point-LP High Definition Audio Controller"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    profiles:
        HiFi: Play HiFi quality Music (priority 40768, available: unknown)
        off: Spento (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: Cannon Point-LP High Definition Audio Controller HDMI3/DP3 Output
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink/#2: Cannon Point-LP High Definition Audio Controller HDMI2/DP2 Output
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink/#3: Cannon Point-LP High Definition Audio Controller HDMI1/DP1 Output
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink/#4: Cannon Point-LP High Definition Audio Controller Speaker + Headphones
    sources:
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_5__sink.monitor/#1: Monitor of Cannon Point-LP High Definition Audio Controller HDMI3/DP3 Output
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink.monitor/#2: Monitor of Cannon Point-LP High Definition Audio Controller HDMI2/DP2 Output
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink.monitor/#3: Monitor of Cannon Point-LP High Definition Audio Controller HDMI1/DP1 Output
        alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink.monitor/#4: Monitor of Cannon Point-LP High Definition Audio Controller Speaker + Headphones
        alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__source/#5: Cannon Point-LP High Definition Audio Controller Headphones Stereo Microphone
        alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_6__source/#6: Cannon Point-LP High Definition Audio Controller 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: unknown)
            properties:
                
        [In] Mic2: Headphones Stereo Microphone (priority 200, latency offset 0 usec, available: unknown)
            properties:
                
        [In] Mic1: Digital Microphone (priority 100, latency offset 0 usec, available: unknown)
            properties:

а НА НЕРАБОТАЮЩЕМ УСТРОЙСТВЕ такой вывод:

          index: 0
    name: <alsa_card.pci-0000_00_1f.3>
    driver: <module-alsa-card.c>
    owner module: 23
    properties:
        alsa.card = "0"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0xb1128000 irq 129"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1f.3"
        sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "9d71"
        device.product.name = "Sunrise Point-LP HD Audio"
        device.form_factor = "internal"
        device.string = "0"
        device.description = "Built-in Audio"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    profiles:
        input:analog-stereo: Analog Stereo Input (priority 32833, available: unknown)
        output:analog-stereo: Analog Stereo Output (priority 39268, available: unknown)
        output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 39333, available: unknown)
        output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 38668, available: unknown)
        output:hdmi-stereo+input:analog-stereo: Digital Stereo (HDMI) Output + Analog Stereo Input (priority 38733, available: unknown)
        off: Off (priority 0, available: unknown)
    active profile: <output:analog-stereo+input:analog-stereo>
    sinks:
        alsa_output.pci-0000_00_1f.3.analog-stereo/#1: Built-in Audio Analog Stereo
    sources:
        alsa_output.pci-0000_00_1f.3.analog-stereo.monitor/#1: Monitor of Built-in Audio Analog Stereo
        alsa_input.pci-0000_00_1f.3.analog-stereo/#2: Built-in Audio Analog Stereo
    ports:
        analog-input: Analog Input (priority 10000, latency offset 0 usec, available: unknown)
            properties:
                
        analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "audio-speakers"
        analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-headphones"
        hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "video-display"

Далее, НА РАБОЧЕМ УСТРОЙСТВЕ, alsamixerвыглядит как , а на НЕРАБОТАЮЩЕМ устройстве так и есть

Итак, теперь вопрос: кто-нибудь из вас знает, в чем проблема и как ее решить? Как сделать так, чтобы нерабочее устройство имело те же настройки, что и рабочее? Я вижу, что у них разные настройки звуковой карты и прошивки.

Если вам нужен какой-либо другой вывод, я немедленно отредактирую этот пост!

РЕДАКТИРОВАТЬ: я даю вам результаты двух команд: и .

1а. на рабочем устройстве дает 0 snd_soc_skl_hda_dsp

1б. cat /proc/asound/modulesна НЕ работающем устройстве выдает 0 snd_hda_intel

2а. на рабочее устройство возвращается

      [    3.423610] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    3.423636] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    3.699005] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC256: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[    3.699008] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.699010] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    3.699011] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[    3.699012] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[    3.699013] snd_hda_codec_realtek ehdaudio0D0:      Headset Mic=0x19
[    3.758163] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[    3.758170] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten

2б. на НЕработающих устройствах dmesg | grep sndдает

      [    5.489834] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[    5.490101] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    5.541621] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC256: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[    5.541642] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    5.541645] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    5.541647] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[    5.541649] snd_hda_codec_realtek hdaudioC0D0:    inputs:

1 ответ

Убедитесь, что установлен пакет Sound Open Firmware ( firmware-sof-signedна Debian/Ubuntu).

Если Linux по-прежнему настаивает на использовании резервного драйвера ( snd_hda_intel) вместо драйвера SOF ( snd_soc_skl_hda_dsp), вы можете запросить последний, создав файл в /etc/modprobe.d, такие как /etc/modprobe.d/alsa.conf, со следующим содержанием:

      options snd-intel-dspcfg dsp_driver=3

Если это по какой-то причине не работает, вы можете быть более явным:

      blacklist snd-hda-intel
options snd slots=snd_soc_skl_hda_dsp

Изменение должно вступить в силу при следующей перезагрузке. В дополнительных примечаниях к драйверу HD-Audio из документации по ядру, а также документации по SOF содержится много полезной информации по устранению неполадок .

Кроме того, вы можете попробовать отключить Fast Boot/Fast BIOS, чтобы обеспечить правильный сброс аудиооборудования перед загрузкой Linux.

Другие вопросы по тегам