It's known that Acer Swift 3, and in general devices using Realtek ALC 256 sound carrd, has problem with speaker, headphones and internal microphone.
However I'm here to ask you some help in, maybe, finding a solution.
Me and a friend of mine have this laptop: on his laptop the speaker, the headphones and specially the internal microphone work! The only thing is that when the headphones are plugged in one has to manually select the headphones output instead of the speaker one.
In my laptop things are completely different: initially I had only 'Dummy Output' as output device and a blank space as input device. Then, adding options snd-hda-intel model = generic
and options snd-hda-intel dmic_detected = 0
I finally was able to see Seaker, Headphones and the internal microphone, but nothing works. Only from bluetooth devices I can hear sound, but internal speaker, jack headphones and internal microphone do not work!
Of course I tried many things with alsamixer
, pavucontrol
or hdajackretask
at least to make speakers working, but nothing succeeded.
Both of us is running Ubuntu 20.
I'm not a Linux expert but I tried to search which are the difference between these two devices. I found a difference in the pacmd list-cards
output and also in the Alsamixer.
N
ON THE WORKING DEVICE THE OUTPUT OF pacmd list-cards
IS
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:
while ON THE NOT-WORKING DEVICE such output is:
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"
Further, ON THE WORKING DEVICE, alsamixer
looks like
, while on the NOT-WORKING device it is
So, now the question: does anyone of you know what the problem is and how to solve it? How can I make the not-working device having the same settings of the working one? I see that they different sound card settings and firmware.
If you need any other output I will edit this post immediately!
EDIT: I give you the outputs of two commands: cat /proc/asound/modules
and dmesg | grep snd
.
1a. cat /proc/asound/modules
on the working device gives 0 snd_soc_skl_hda_dsp
1b. cat /proc/asound/modules
on the NOT-working device gives 0 snd_hda_intel
2a. dmesg | grep snd
on the working device returns
[ 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
2b. on the NOT-working devices dmesg | grep snd
gives
[ 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: